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/SOL009/NFVMANOLogManagement-API/ApiVersion.robot b/SOL009/NFVMANOLogManagement-API/ApiVersion.robot new file mode 100644 index 0000000000000000000000000000000000000000..f97546b9e232bdcce292101455a5250b2c2da258 --- /dev/null +++ b/SOL009/NFVMANOLogManagement-API/ApiVersion.robot @@ -0,0 +1,211 @@ +*** Settings *** +Resource environment/variables.txt +Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false +Library DependencyLibrary +Library JSONLibrary +Library JSONSchemaLibrary schemas/ + +*** Test Cases *** +POST API Version - Method not implemented + [Documentation] Test ID: 8.3.4.8.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 [5] + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + POST API Version + Check HTTP Response Status Code Is 405 + +GET API Version + [Documentation] Test ID: 8.3.4.8.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 [5] + ... Config ID: Config_prod_NFV-MANO + ... 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: 8.3.4.8.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 [5] + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + PUT API Version + Check HTTP Response Status Code Is 405 + +PATCH API Version - Method not implemented + [Documentation] Test ID: 8.3.4.8.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 [5] + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + PATCH API Version + Check HTTP Response Status Code Is 405 + +DELETE API Version - Method not implemented + [Documentation] Test ID: 8.3.4.8.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 [5] + ... Config ID: Config_prod_NFV-MANO + ... 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: 8.3.4.8.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 [5] + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + POST API Version + Check HTTP Response Status Code Is 405 + +GET API Version with apiMajorVerion + [Documentation] Test ID: 8.3.4.8.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 [5] + ... Config ID: Config_prod_NFV-MANO + ... 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: 8.3.4.8.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 [5] + ... Config ID: Config_prod_NFV-MANO + ... 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: 8.3.4.8.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 [5] + ... Config ID: Config_prod_NFV-MANO + ... 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: 8.3.4.8.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 [5] + ... Config ID: Config_prod_NFV-MANO + ... 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}/${apiMajorVersion} /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}/${apiMajorVersion} /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}/${apiMajorVersion} /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}/${apiMajorVersion} /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}/${apiMajorVersion} /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/SOL009/NFVMANOLogManagement-API/CompileLogTask.robot b/SOL009/NFVMANOLogManagement-API/CompileLogTask.robot new file mode 100644 index 0000000000000000000000000000000000000000..1403137161af33dcb7f7a2d1d1a3a6aaf6de3298 --- /dev/null +++ b/SOL009/NFVMANOLogManagement-API/CompileLogTask.robot @@ -0,0 +1,112 @@ +*** Settings *** +Library JSONSchemaLibrary schemas/ +Resource environment/variables.txt +Resource NFVMANOLogManagementKeywords.robot +Library JSONLibrary +Library OperatingSystem +Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false + + +*** Test Cases *** +Request to compile the logged data into a file - Synchronous mode + [Documentation] Test ID: 8.3.4.4.1 + ... Test title: Request to compile the logged data into a file - Synchronous mode + ... Test objective: The objective is to request to compile the logged data into a file in synchronous mode and perform a JSON schema validation on the returned log report data structure + ... Pre-conditions: logging job is available + ... Reference: clause 8.5.6.3.1 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: The NFV-MANO can decide immediately what to respond to a compile request + ... Post-Conditions: none + Send Log data Request in Synchronous mode + Check HTTP Response Status Code Is 201 + Check HTTP Response Header Contains Location + Check HTTP Response Body Json Schema Is LogReport + +Request to compile the logged data into a file - Asynchronous mode + [Documentation] Test ID: 8.3.4.4.2 + ... Test title: Request to compile the logged data into a file - Asynchronous mode + ... Test objective: The objective is to request to compile the logged data into a file in asynchronous mode + ... Pre-conditions: logging job is available + ... Reference: clause 8.5.6.3.1 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: The NFV-MANO can not decide immediately what to respond to a compile request + ... Post-Conditions: log report is available to the API consumer + Send Log data Request in Asynchronous mode + Check HTTP Response Status Code Is 202 + Check HTTP Response Header Contains Location + Check postcondition Wait for compilation success notification + +Request to compile the logged data into a file - Already Processing + [Documentation] Test ID: 8.3.4.4.3 + ... Test title: Request to compile the logged data into a file - Already Processing + ... Test objective: The objective is to request to compile the logged data into a file when a log data compilation and report creation is already ongoing, or a log report has just been created, for the specified logging job at the time of processing the request + ... Pre-conditions: none + ... Reference: clause 8.5.6.3.1 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Send Log data Request + Check HTTP Response Status Code Is 303 + Check HTTP Response Header Contains Location + +Request to compile the logged data into a file with unprocessable entity + [Documentation] Test ID: 8.3.4.4.4 + ... Test title: Request to compile the logged data into a file with unprocessable entity + ... Test objective: The objective is to test that the rrequest to compile the logged data into a file fails when error in request body. + ... Pre-conditions: none + ... Reference: clause 8.5.6.3.1 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Send Log data Request + Check HTTP Response Status Code Is 422 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET Compiled Log Data - Method not implemented + [Documentation] Test ID: 8.3.4.4.5 + ... Test title: GET Compiled Log Data - Method not implemented + ... Test objective: The objective is to test that GET method is not allowed to retrieve compiled log data. + ... Pre-conditions: none + ... Reference: clause 8.5.6.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Send Get Compiled Log Data + Check HTTP Response Status Code Is 405 + +PUT Compiled Log Data - Method not implemented + [Documentation] Test ID: 8.3.4.4.6 + ... Test title: PUT Compiled Log Data - Method not implemented + ... Test objective: The objective is to test that PUT method is not allowed to update compiled log data. + ... Pre-conditions: none + ... Reference: clause 8.5.6.3.3 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Send PUT Compiled Log Data + Check HTTP Response Status Code Is 405 + +PATCH Compiled Log Data - Method not implemented + [Documentation] Test ID: 8.3.4.4.7 + ... Test title: PATCH Compiled Log Data - Method not implemented + ... Test objective: The objective is to test that PATCH method is not allowed to update compiled log data. + ... Pre-conditions: none + ... Reference: clause 8.5.6.3.4 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Send PATCH Compiled Log Data + Check HTTP Response Status Code Is 405 + +DELETE Compiled Log Data - Method not implemented + [Documentation] Test ID: 8.3.4.4.8 + ... Test title: DELETE Compiled Log Data - Method not implemented + ... Test objective: The objective is to test that DELETE method is not allowed to update compiled log data. + ... Pre-conditions: none + ... Reference: clause 8.5.6.3.5 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Send DELETE Compiled Log Data + Check HTTP Response Status Code Is 405 + \ No newline at end of file diff --git a/SOL009/NFVMANOLogManagement-API/IndividualLoggingJob.robot b/SOL009/NFVMANOLogManagement-API/IndividualLoggingJob.robot new file mode 100644 index 0000000000000000000000000000000000000000..576a9dcde2dd6e9629020a9ce3f19bb40c9138ba --- /dev/null +++ b/SOL009/NFVMANOLogManagement-API/IndividualLoggingJob.robot @@ -0,0 +1,97 @@ +*** Settings *** +Library JSONSchemaLibrary schemas/ +Resource environment/variables.txt +Resource NFVMANOLogManagementKeywords.robot +Library JSONLibrary +Library OperatingSystem +Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false + +*** Test Cases *** +POST Individual Logging Job - Method not implemented + [Documentation] Test ID: 8.3.4.2.1 + ... Test title: POST Individual Logging Job - method not implemented + ... Test objective: The objective is to test that POST method is not allowed to create an Indiviual Logging + ... Pre-conditions: none + ... Reference: clause 8.5.4.3.1 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Send Post request for individual Logging Job + Check HTTP Response Status Code Is 405 + +GET individual Logging Job + [Documentation] Test ID: 8.3.4.2.2 + ... Test title: Get individual Logging Job + ... Test objective: The objective is to test the retrieval of an individual logging job and perform a JSON schema validation of the collected job data structure + ... Pre-conditions: Logging Job is already created. + ... Reference: clause 8.5.4.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + GET individual Logging Job + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is LoggingJob + Check HTTP Response Body Logging Job Identifier matches the requested Logging Job + +GET individual Logging Job with invalid resource identifier + [Documentation] Test ID: 8.3.4.2.3 + ... Test title: Get individual Logging Job with invalid resource identifier + ... Test objective: The objective is to test that the retrieval of an individual logging job fails when using an invalid resource identifier, and perform the JSON schema validation of the failed operation HTTP response + ... Pre-conditions: Logging Job is already created. + ... Reference: clause 8.5.4.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + GET individual Logging Job with invalid resource identifier + Check HTTP Response Status Code Is 404 + Check HTTP Response Body Json Schema Is ProblemDetails + +PUT Individual Logging Job - Method not implemented + [Documentation] Test ID: 8.3.4.2.4 + ... Test title: PUT Individual Logging Job - Method not implemented + ... Test objective: The objective is to test that PUT method is not allowed to update an existing Logging Job + ... Pre-conditions: none + ... Reference: clause 8.5.4.3.3 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Send Put request for individual Logging Job + Check HTTP Response Status Code Is 405 + +PATCH Individual Logging Job - Method not implemented + [Documentation] Test ID: 8.3.4.2.5 + ... Test title: PATCH Individual Logging Job - Method not implemented + ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing new Logging Job + ... Pre-conditions: none + ... Reference: clause 6.5.4.3.4 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Send Patch request for individual Logging Job + Check HTTP Response Status Code Is 405 + +DELETE Individual Logging Job + [Documentation] Test ID: 8.3.4.2.6 + ... Test title: DELETE Individual Logging Job + ... Test objective: The objective is to test the deletion of an individual logging job + ... Pre-conditions: Logging Job is already created. + ... Reference: clause 8.5.4.3.5 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: The Logging Job is no more available. + Send Delete request for individual Logging Job + Check HTTP Response Status Code Is 204 + Check Postcondition Logging Job is Deleted + +DELETE Individual Logging Job with invalid resource identifier + [Documentation] Test ID: 8.3.4.2.7 + ... Test title: DELETE Individual Logging Job with invalid resource identifier + ... Test objective: The objective is to test that the deletion of an individual logging job fails when using an invalid resource identifier + ... Pre-conditions: Logging Job is already created. + ... Reference: clause 8.5.4.3.5 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Send Delete request for individual Logging Job with invalid resource identifier + Check HTTP Response Status Code Is 404 + Check HTTP Response Body Json Schema Is ProblemDetails \ No newline at end of file diff --git a/SOL009/NFVMANOLogManagement-API/IndividualReport.robot b/SOL009/NFVMANOLogManagement-API/IndividualReport.robot new file mode 100644 index 0000000000000000000000000000000000000000..38f25ba6a2285e7da63617fcb9e0dde8b2cb518f --- /dev/null +++ b/SOL009/NFVMANOLogManagement-API/IndividualReport.robot @@ -0,0 +1,94 @@ +*** Settings *** +Library JSONSchemaLibrary schemas/ +Resource environment/variables.txt +Resource NFVMANOLogManagementKeywords.robot +Library JSONLibrary +Library OperatingSystem +Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false + +*** Test Cases *** +POST Individual Log Report - Method not implemented + [Documentation] Test ID: 8.3.4.3.1 + ... Test title: POST Individual Log Report - Method not implemented + ... Test objective: The objective is to test that POST method is not allowed to create a new log report. + ... Pre-conditions: none + ... Reference: clause 8.5.5.3.1 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Send Post request for Individual Log Report + Check HTTP Response Status Code Is 405 + +Get Individual Log Report + [Documentation] Test ID: 8.3.4.3.2 + ... Test title: Get Individual Log Report + ... Test objective: The objective is to test the retrieval of an individual log report and perform a JSON schema validation of the collected report data structure + ... Pre-conditions: One or more log reports are set. + ... Reference: clause 8.5.5.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get Individual Log Report + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is LogReport + +Get Individual Log Report (asynchronous) + [Documentation] Test ID: 8.3.4.3.3 + ... Test title: Get Individual Log Report (asynchronous) + ... Test objective: The objective is to test the retrieval of an individual log report is ongoing and no log report is available yet. + ... Pre-conditions: One or more log reports are set. + ... Reference: clause 8.5.5.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get Individual Log Report + Check HTTP Response Status Code Is 202 + +Get Individual Log Report with invalid resource endpoint + [Documentation] Test ID: 8.3.4.3.4 + ... Test title: Get Individual Log Report with invalid resource endpoint + ... Test objective: The objective is to test that the retrieval of an individual log report fails when using an invalid resource endpoint. + ... Pre-conditions: One or more log reports are set. + ... Reference: clause 8.5.5.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get Individual Log Report with invalid resource endpoint + Check HTTP Response Status Code Is 404 + Check HTTP Response Body Json Schema Is ProblemDetails + +PUT Individual Log Report - Method not implemented + [Documentation] Test ID: 8.3.4.3.5 + ... Test title: PUT Individual Log Report - Method not implemented + ... Test objective: The objective is to test that PUT method is not allowed to update an existing log report. + ... Pre-conditions: none + ... Reference: clause 8.5.5.3.3 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Send Put request for Individual Log Report + Check HTTP Response Status Code Is 405 + +PATCH Individual Log Report - Method not implemented + [Documentation] Test ID: 8.3.4.3.6 + ... Test title: PATCH Individual Log Report - Method not implemented + ... Test objective: The objective is to test that PATCH method is not allowed to modify an existinglog report. + ... Pre-conditions: none + ... Reference: clause 8.5.5.3.4 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Send Patch request for Individual Log Report + Check HTTP Response Status Code Is 405 + +DELETE Individual Log Report - Method not implemented + [Documentation] Test ID: 8.3.4.3.7 + ... Test title: DELETE Individual Log Report - Method not implemented + ... Test objective: The objective is to test that DELETE method is not allowed to delete an existing log report. + ... Pre-conditions: none + ... Reference: clause 8.5.5.3.5 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Send Delete request for Individual Log Report + Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL009/NFVMANOLogManagement-API/IndividualSubscription.robot b/SOL009/NFVMANOLogManagement-API/IndividualSubscription.robot new file mode 100644 index 0000000000000000000000000000000000000000..65456e8fdc37d44a459830b7b3b7b9e71198b69e --- /dev/null +++ b/SOL009/NFVMANOLogManagement-API/IndividualSubscription.robot @@ -0,0 +1,96 @@ +*** Settings *** +Library JSONSchemaLibrary schemas/ +Resource environment/variables.txt # Generic Parameters +Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false +Library OperatingSystem +Library JSONLibrary +Resource NFVMANOLogManagementKeywords.robot + +*** Test Cases *** +GET Individual Subscription + [Documentation] Test ID: 8.3.4.6.1 + ... Test title: GET Individual Subscription + ... Test objective: The objective is to test the retrieval of individual subscription and perform a JSON schema validation of the returned subscription data structure + ... Pre-conditions: At least one subscription is available in the NFV-MANO. + ... Reference: clause 8.5.8.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get Individual Subscription + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is LogmSubscription + Check HTTP Response Body Subscription Identifier matches the requested Subscription + +GET Individual Subscription - invalid resource identifier + [Documentation] Test ID: 8.3.4.6.2 + ... Test title: GET Individual Subscription - invalid resource identifier + ... Test objective: The objective is to test that the retrieval of an individual subscription fails when using an invalid resource identifier + ... Pre-conditions: At least one subscription is available in the NFV-MANO. + ... Reference: clause 8.5.8.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + GET individual Subscription with invalid resource identifier + Check HTTP Response Status Code Is 404 + Check HTTP Response Body Json Schema Is ProblemDetails + +DELETE Individual Subscription + [Documentation] Test ID: 8.3.4.6.3 + ... Test title: DELETE Individual Subscription + ... Test objective: The objective is to test the deletion of an individual subscription + ... Pre-conditions: At least one subscription is available in the NFV-MANO. + ... Reference: clause 8.5.8.3.5 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: The is not available anymore in the NFV-MANO + Send Delete request for individual Subscription + Check HTTP Response Status Code Is 204 + Check Postcondition Subscription is Deleted + +DELETE Individual Subscription - invalid resource identifier + [Documentation] Test ID: 8.3.4.6.4 + ... Test title: DELETE Individual Subscription - invalid resource identifier + ... Test objective: The objective is to test that the deletion of an individual subscription fails when using an invalid resource identifier + ... Pre-conditions: At least one subscription is available in the NFV-MANO. + ... Reference: clause 8.5.8.3.5 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Send Delete request for individual Subscription with invalid resource identifier + Check HTTP Response Status Code Is 404 + +POST Individual Subscription - Method not implemented + [Documentation] Test ID: 8.3.4.6.5 + ... Test title: POST Individual Subscription - Method not implemented + ... Test objective: The objective is to test that POST method is not allowed to create a new Subscription + ... Pre-conditions: none + ... Reference: clause 8.5.8.3.1 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Send Post request for individual Subscription + Check HTTP Response Status Code Is 405 + +PUT Individual Subscription - Method not implemented + [Documentation] Test ID: 8.3.4.6.6 + ... Test title: PUT Individual Subscription - Method not implemented + ... Test objective: The objective is to test that PUT method is not allowed to update an existing subscription + ... Pre-conditions: none + ... Reference: clause 8.5.8.3.3 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Send Put request for individual Subscription + Check HTTP Response Status Code Is 405 + +PATCH Individual Subscription - Method not implemented + [Documentation] Test ID: 8.3.4.6.7 + ... Test title: PATCH Individual Subscription - Method not implemented + ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing subscription + ... Pre-conditions: none + ... Reference: clause 8.5.8.3.4 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Send Patch request for individual Threshold + Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL009/NFVMANOLogManagement-API/LoggingJobs.robot b/SOL009/NFVMANOLogManagement-API/LoggingJobs.robot new file mode 100644 index 0000000000000000000000000000000000000000..94f69aa177405064e86c07b993a4fb49d2f8e562 --- /dev/null +++ b/SOL009/NFVMANOLogManagement-API/LoggingJobs.robot @@ -0,0 +1,238 @@ +*** Settings *** +Library JSONSchemaLibrary schemas/ +Resource environment/variables.txt +Resource NFVMANOLogManagementKeywords.robot +Library JSONLibrary +Library OperatingSystem +Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false + +*** Test Cases *** +POST Create a new logging job + [Documentation] Test ID: 8.3.4.1.1 + ... Test title: POST Create a new logging job + ... Test objective: The objective is to create a new logging job, and perform the JSON schema validation of the operation HTTP response. + ... Pre-conditions: none + ... Reference: clause 8.5.3.3.1 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: logging job created + POST Create a new logging job + Check HTTP Response Status Code Is 201 + Check HTTP Response Header Contains Location + Check HTTP Response Body Json Schema Is LoggingJob + Check Post-Condition Logging job is created + +GET information about logging jobs + [Documentation] Test ID: 8.3.4.1.2 + ... Test title: GET information logging jobs + ... Test objective: The objective is to retrieve information about logging jobs, and perform the JSON schema validation of the operation HTTP response. + ... Pre-conditions: At least one logging job is created. + ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + GET Logging Jobs + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is LoggingJobs + +GET Logging jobs - invalid attribute-based filter + [Documentation] Test ID: 8.3.4.1.3 + ... Test title: GET Logging jobs - invalid attribute-based filter + ... Test objective: The objective is to test that the retrieval of logging jobs fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: At least one logging job is created. + ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + GET Logging Job with invalid filter + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET Logging jobs - invalid attribute selector + [Documentation] Test ID: 8.3.4.1.4 + ... Test title: GET Logging jobs - invalid attribute selector + ... Test objective: The objective is to test that the retrieval of logging jobs fails when using invalid attribute selector, and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: At least one logging job is created. + ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + GET Logging Job with invalid selector + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET Logging jobs - Bad Request Response too Big + [Documentation] Test ID: 8.3.4.1.5 + ... Test title: GET Logging jobs - Bad Request Response too Big + ... Test objective: The objective is to test that the retrieval of Logging job fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: At least one logging job is created. + ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + GET Logging Jobs + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET information about logging jobs with attribute-based filter + [Documentation] Test ID: 8.3.4.1.6 + ... Test title: GET information about logging jobs with attribute-based filter + ... Test objective: The objective is to retrieve information about the logging jobs with attribute filters, and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: At least one logging job is created. + ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + GET Logging Job with filter + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is LoggingJobs + +GET information about logging jobs with "all_fields" attribute selector + [Documentation] Test ID: 8.3.4.1.7 + ... Test title: GET information about logging jobs with "all_fields" attribute selector + ... Test objective: The objective is to retrieve information about logging jobs with "all_fields" attribute selector, and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: At least one logging job is created. + ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + GET Logging jobs with all_fields attribute selector + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is LoggingJobs + +GET information about Logging Jobs with "exclude_default" attribute selector + [Documentation] Test ID: 8.3.4.1.8 + ... Test title: GET information about Logging Jobs with "exclude_default" attribute selector + ... Test objective: The objective is to retrieve information about logging jobs with "exclude_default" attribute selector, and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: At least one logging job is created. + ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + GET Logging Jobs with exclude_default attribute selector + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is LoggingJobs + +GET information about Logging Jobs with "fields" attribute selector + [Documentation] Test ID: 8.3.4.1.9 + ... Test title: GET information about Logging Jobs with fields attribute selector + ... Test objective: The objective is to retrieve information about Logging Jobs with fields attribute selector, and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: At least one logging job is created. + ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + GET Logging Jobs with fields attribute selector + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is LoggingJobs + +GET information about Logging Jobs with "exclude_fields" attribute selector + [Documentation] Test ID: 8.3.4.1.10 + ... Test title: GET information about Logging Jobs with "exclude_fields" attribute selector + ... Test objective: The objective is to retrieve information about the Logging Jobs with "exclude_fields" attribute selector, and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: At least one logging job is created. + ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + GET Logging Jobs with exclude_fields attribute selector + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is LoggingJobs + +GET information about Logging Jobs with "fields" and "exclude_default" attribute selector + [Documentation] Test ID: 8.3.4.1.11 + ... Test title: GET information about Logging Jobs with fields and exclude_default attribute selector + ... Test objective: The objective is to retrieve information about Logging Jobs with fields and exclude_default attribute selector, and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: At least one logging job is created. + ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + GET Logging Jobs with fields and exclude_default attribute selector + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is LoggingJobs + +GET information about Logging Jobs with Paged Response + [Documentation] Test ID: 8.3.4.1.12 + ... Test title: GET information about Logging Jobs with Paged Response + ... Test objective: The objective is to query information about Logging Jobs to get Paged Response. + ... Pre-conditions: At least one logging job is created. + ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + GET Logging Jobs + Check HTTP Response Status Code Is 200 + Check HTTP Response Header Contains Link + +GET information about Logging Jobs with malformed authorization token + [Documentation] Test ID: 8.3.1.8.13 + ... Test title: GET information about Logging Jobs with malformed authorization token + ... Test objective: The objective is to test that the retrieval of information about Logging Jobs fails when using malformed authorization token. + ... Pre-conditions: none + ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [6] v3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: The Peer Entity requires the usage of access tokens for authorizing the API requests. + ... Post-Conditions: none + GET Logging Jobs with malformed authorization token + Check HTTP Response Status Code Is 401 + +GET information about Logging Jobs without authorization token + [Documentation] Test ID: 8.3.4.1.14 + ... Test title: GET information about Logging Jobs without authorization token + ... Test objective: The objective is to test that the retrieval of information about Logging Jobs fails when omitting the authorization token. + ... Pre-conditions: none + ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [6] v3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: The Peer Entity requires the usage of access tokens for authorizing the API requests. + ... Post-Conditions: none + GET Logging Jobs without authorization token + Check HTTP Response Status Code Is 401 + +GET information about Logging Jobs with expired or revoked authorization token + [Documentation] Test ID: 8.3.4.1.15 + ... Test title: GET information about Logging Jobs with expired or revoked authorization token + ... Test objective: The objective is to test that the retrieval of information about Logging Jobs fails when using expired or revoked authorization token. + ... Pre-conditions: none + ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [6] v3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: The Peer Entity requires the usage of access tokens for authorizing the API requests. + ... Post-Conditions: none + GET Logging Jobs with expired or revoked authorization token + Check HTTP Response Status Code Is 401 + +PUT Logging Jobs - Method not implemented + [Documentation] Test ID: 8.3.4.1.13 + ... Test title: PUT Logging Jobs - Method not implemented + ... Test objective: The objective is to test that the method is not implemented + ... Pre-conditions: none + ... Reference: clause 8.5.3.3.3 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + PUT Logging Jobs + Check HTTP Response Status Code Is 405 + +PATCH Logging Jobs - Method not implemented + [Documentation] Test ID: 8.3.4.1.14 + ... Test title: PATCH Logging Jobs - Method not implemented + ... Test objective: The objective is to test that the method is not implemented + ... Pre-conditions: none + ... Reference: clause 8.5.3.3.4 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + PATCH Logging Jobs + Check HTTP Response Status Code Is 405 + +DELETE Logging Jobs - Method not implemented + [Documentation] Test ID: 8.3.4.1.15 + ... Test title: DELETE Logging Jobs - Method not implemented + ... Test objective: The objective is to test that the method is not implemented + ... Pre-conditions: none + ... Reference: clause 8.5.3.3.5 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + DELETE Logging Jobs + Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL009/NFVMANOLogManagement-API/NFVMANOLogManagementKeywords.robot b/SOL009/NFVMANOLogManagement-API/NFVMANOLogManagementKeywords.robot new file mode 100644 index 0000000000000000000000000000000000000000..f1ea06205dd1d2a92ae4a75b46006d0598ef6c21 --- /dev/null +++ b/SOL009/NFVMANOLogManagement-API/NFVMANOLogManagementKeywords.robot @@ -0,0 +1,583 @@ +*** Settings *** +Library String +Resource environment/variables.txt +Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false +Library MockServerLibrary +Library OperatingSystem +Library BuiltIn +Library JSONLibrary +Library Collections +Library JSONSchemaLibrary schemas/ +Library Process + +*** Keywords *** +Check HTTP Response Status Code Is + [Arguments] ${expected_status} + ${status}= Convert To Integer ${expected_status} + Should Be Equal ${response['status']} ${status} + Log Status code validated + +Check HTTP Response Header Contains + [Arguments] ${CONTENT_TYPE} + Should Contain ${response['headers']} ${CONTENT_TYPE} + Log Header is present + +Check HTTP Response Body Json Schema Is + [Arguments] ${input} + Should Contain ${response['headers']['Content-Type']} application/json + ${schema} = Catenate SEPARATOR= ${input} .schema.json + Validate Json ${schema} ${response['body']} + Log Json Schema Validation OK + +POST Create a new logging job + Log Create a logging job + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Set Headers {"Authorization":"${AUTHORIZATION}"} + ${template}= Get File jsons/createLoggingJobRequest.json + ${body}= Format String ${template} objectInstanceId=${objectInstanceId} + Post ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs ${body} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Check Post-Condition Logging job is created + GET Logging Jobs + Check HTTP Response Status Code Is 200 + +GET Logging Jobs + Log Query to GET information about logging jobs. + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +GET Logging Jobs with malformed authorization token + Pass Execution If ${AUTH_USAGE} == 0 Skipping test as NFVO is not supporting authentication + Log The GET method queries using invalid token + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Authorization": "${BAD_AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET Logging Jobs without authorization token + Pass Execution If ${AUTH_USAGE} == 0 Skipping test as it is not supporting authentication + Log The GET method queries omitting token + Set Headers {"Accept": "${ACCEPT_JSON}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET Logging Jobs with expired or revoked authorization token + Pass Execution If ${AUTH_USAGE} == 0 Skipping test as it is not supporting authentication + Log The GET method queries using invalid token + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Authorization": "${NEG_AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET Logging Job with invalid filter + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs?attribute_not_exist=some_value + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +GET Logging Job with invalid selector + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs?fields=wrong_field + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +GET Logging Job with filter + Log Query information about logging jobs with filters. + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs?${alarm_filter}=${filter_value} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +GET Logging jobs with all_fields attribute selector + Log Queries information about logging jobs, using all_fields + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs?exclude_default + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET Logging Jobs with exclude_default attribute selector + Log Queries information about logging jobs, using exclude_default + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs?exclude_default + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET Logging Jobs with fields attribute selector + Log Queries information about Logging Jobs, using fields + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs?fields=${fields} + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET Logging Jobs with fields and exclude_default attribute selector + Log Queries information about Logging Jobs, using fields + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs?exclude_default&fields=${fields} + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET Logging Jobs with exclude_fields attribute selector + Log Query NFV-MANO The GET method queries information about multiple alarms, using fields + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs?exclude_fields=${fields} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Check HTTP Response Header Contains Link + ${linkURL}= Get Value From Json ${response['headers']} $..Link + Should Not Be Empty ${linkURL} + +PUT Logging Jobs + 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}/${apiMajorVersion}/log_jobs + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} +PATCH Logging Jobs + 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}/${apiMajorVersion}/log_jobs + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} +DELETE Logging Jobs + 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}/${apiMajorVersion}/log_jobs + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Send Post request for individual Logging Job + 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}/${apiMajorVersion}/log_jobs/${logJobId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET individual Logging Job + Log Trying to get a Logging Job + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Check HTTP Response Body Logging Job Identifier matches the requested Logging Job + Log Going to validate Logging Job info retrieved + Should Be Equal ${response['body']['id']} ${logJobId} + Log Logging Job identifier as expected + + +GET individual Logging Job with invalid resource identifier + Log Trying to perform a negative get, using erroneous logging Job identifier + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Put request for individual Logging Job + 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}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId} + ${origOutput}= Output response + Set Suite Variable ${origResponse} ${origOutput} + PUT ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Patch request for individual Logging Job + 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}/${apiMajorVersion}/log_jobs/${logJobId} + ${output}= Output response + Set Suite Variable ${response} ${output} + + +Send Delete request for individual Logging Job + Log Trying to delete an existing logging Job + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Check Postcondition Logging Job is Deleted + Log Check Postcondition + GET individual Logging Job + Check HTTP Response Status Code Is 404 + +Send Delete request for individual Logging Job with invalid resource identifier + Log Trying to perform a negative delete, using erroneous Logging Job identifier + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${erroneousLogJobId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Post request for Individual Log Report + Log Trying to create new log report + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + POST ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId}/log_reports/${newReportId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get Individual Log Report + Log Trying to get log report + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId}/log_reports/${reportId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get Individual Log Report with invalid resource endpoint + Log Trying to get a log report with invalid resource endpoint + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId}/log_reports/${erroneousReportId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Put request for Individual Log Report + Log Trying to update log report + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId}/log_reports/${reportId} + ${origOutput}= Output response + Set Suite Variable ${origResponse} ${origOutput} + PUT ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId}/log_reports/${reportId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Patch request for Individual Log Report + Log Trying to update log report + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId}/log_reports/${reportId} + ${origOutput}= Output response + Set Suite Variable ${origResponse} ${origOutput} + PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId}/log_reports/${reportId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Delete request for Individual Log Report + Log Trying to delete log report + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId}/log_reports/${reportId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Log data Request in Synchronous mode + Log Request to compile the logged data into a file Synchronous mode + Pass Execution If ${SYNC_MODE} == 0 The compile 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}"} + ${template}= Get File jsons/compileLogRequest.json + ${body}= Format String ${template} objectInstanceId=${objectInstanceId} + Post ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId}/compile_log ${body} + ${body}= Output response + Set Suite Variable &{response} ${body} + +Check HTTP Response Header Contains Location + ${vnfLcmOpOccId}= Get Value From Json ${response['headers']} $..Location + Should Not Be Empty ${vnfLcmOpOccId} + +Send Log data Request in Asynchronous mode + Log Request to compile the logged data into a file Asynchronous mode + Pass Execution If ${SYNC_MODE} == 1 The compile 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}"} + ${template}= Get File jsons/compileLogRequest.json + ${body}= Format String ${template} objectInstanceId=${objectInstanceId} + Post ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId}/compile_log ${body} + ${body}= Output response + Set Suite Variable &{response} ${body} + + Check postcondition Wait for compilation success notification + Wait Until Keyword Succeeds ${retry} ${polling} Get success notification + +Get Success notification + log Trying to read an compiled file + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${response['headers']['Location']} + Log Validate Status code + Integer response status 200 + ${result} Output response body + Validate Json LogReport.schema.json ${result} + Log Validation OK + +Send Log data Request + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Set Headers {"Authorization":"${AUTHORIZATION}"} + ${template}= Get File jsons/createLoggingJobRequest.json + ${body}= Format String ${template} objectInstanceId=${objectInstanceId} + Post ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId}/compile_log ${body} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Send Get Compiled Log Data + Log Trying to delete log report + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId}/compile_log + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Put Compiled Log Data + Log Trying to update log report + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId}/compile_log + ${origOutput}= Output response + Set Suite Variable ${origResponse} ${origOutput} + PUT ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId}/compile_log + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Patch Compiled Log Data + Log Trying to update log report + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId}/compile_log + ${origOutput}= Output response + Set Suite Variable ${origResponse} ${origOutput} + PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId}/compile_log + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Delete Compiled Log Data + Log Trying to delete log report + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId}/compile_log + ${output}= Output response + Set Suite Variable ${response} ${output} + +Create Sessions + Pass Execution If ${NFVMANO_CHECKS_NOTIF_ENDPOINT} == 0 MockServer not necessary to run + 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}:${callback_port} + +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} + +Get all Subscriptions + [Documentation] The api consumer can use this method to query the list of active subscriptions to log management notifications + Set headers {"Accept": "application/json"} + Set headers {"Content-Type": "application/json"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions + ${output}= Output response + Set Suite Variable ${response} ${output} + + Get Subscriptions with attribute-based filters + [Documentation] The api consumer can use this method to query the list of active subscriptions to log management notifications + Set headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?${filter_ok} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get Subscriptions with invalid attribute-based filters + [Documentation] The api consumer can use this method to query the list of active subscriptions to log management notifications + Set headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?${filter_ko} + ${output}= Output response + Set Suite Variable ${response} ${output} + +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}/${apiMajorVersion}/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}/${apiMajorVersion}/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 + +Send Post Request for Subscription + Set headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Set headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + ${template}= Get File jsons/subscriptions.json + ${body}= Format String ${template} callback_uri=${callback_uri} callback_endpoint=${callback_endpoint} + POST ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Check HTTP Response Body LogmSubscription Attributes Values Match the Issued Subscription + Log Check Response matches subscription + ${template}= Get File jsons/subscriptions.json + ${body}= Format String ${template} callback_uri=${callback_uri} callback_endpoint=${callback_endpoint} + ${subscription}= evaluate json.loads('''${body}''') json + Should Be Equal As Strings ${response['body']['callbackUri']} ${subscription['callbackUri']} + +Check Postcondition Subscription Is Set + Log Check Postcondition subscription exist + Set Headers {"Accept": "${ACCEPT_JSON}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${response['body']['id']} + ${output}= Output response + Set Suite Variable ${response} ${output} + Check HTTP Response Status Code Is 200 + +Send Post Request for Duplicated Subscription + Set headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Set headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + ${template}= Get File jsons/subscriptions.json + ${body}= Format String ${template} callback_uri=${callback_uri} callback_endpoint=${callback_endpoint} + POST ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Check HTTP Response Body Is Empty + Should Be Empty ${response['body']} + Log No json schema is provided. Validation OK + +Check Postcondition Subscription Resource Returned in Location Header Is Available + Log Going to check postcondition + 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 LogmSubscription.schema.json ${result} + Log Validated LogmSubscription schema + ${body}= Get File jsons/subscriptions.json + ${subscription}= evaluate json.loads('''${body}''') json + Should Be Equal ${result['callbackUri']} ${subscription['callbackUri']} + Log Validated Issued subscription is same as original + +Send Put Request for Subscriptions + [Documentation] This method is not supported. When this method is requested on this resource, the NFV-MANO shall return a "405 Method + ... Not Allowed" response as defined in clause 4.3.5.4. + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + PUT ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Patch Request for Subscriptions + [Documentation] This method is not supported. When this method is requested on this resource, the NFV-MANO shall return a "405 Method + ... Not Allowed" response as defined in clause 4.3.5.4. + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Delete Request for Subscriptions + [Documentation] This method is not supported. When this method is requested on this resource, the NFV-MANO shall return a "405 Method + ... Not Allowed" response as defined in clause 4.3.5.4. + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get Individual Subscription + Set headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Check HTTP Response Body Subscription Identifier matches the requested Subscription + Log Trying to check response ID + Should Be Equal As Strings ${response['body']['id']} ${subscriptionId} + Log Subscription identifier as expected + +GET individual Subscription with invalid resource identifier + Set headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${erroneousSubscriptionId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Delete request for individual Subscription + Set headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Check Postcondition Subscription is Deleted + Log Check Postcondition Subscription is deleted + GET individual Subscription + Check HTTP Response Status Code Is 404 + +Send Delete request for individual Subscription with invalid resource identifier + Log Trying to delete a subscription in the VNFM with invalid id + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${erroneousSubscriptionId} + ${output}= Output response + Set Suite Variable @{response} ${output} + +Send Post request for individual Subscription + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + POST ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${newSubscriptionId} + ${output}= Output response + Set Suite Variable @{response} ${output} + +Send Put request for individual Subscription + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} + ${origOutput}= Output response + Set Suite Variable ${origResponse} ${origOutput} + PUT ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} + ${output}= Output response + Set Suite Variable @{response} ${output} + +Send Patch request for individual Threshold + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} + ${origOutput}= Output response + Set Suite Variable ${origResponse} ${origOutput} + PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} + ${output}= Output response + Set Suite Variable @{response} ${output} \ No newline at end of file diff --git a/SOL009/NFVMANOLogManagement-API/NotificationEndpoint.robot b/SOL009/NFVMANOLogManagement-API/NotificationEndpoint.robot new file mode 100644 index 0000000000000000000000000000000000000000..468b4ad2b85d1abdd1123618abaadbe3e306dc8a --- /dev/null +++ b/SOL009/NFVMANOLogManagement-API/NotificationEndpoint.robot @@ -0,0 +1,71 @@ +*** Setting *** +Resource environment/variables.txt +Suite Setup Create Sessions +Suite Teardown Terminate All Processes kill=true +Library MockServerLibrary +Library Process +Library OperatingSystem +Library BuiltIn +Library Collections +Library String + + +*** Test Cases *** +Log Report Avaliable Notification + [Documentation] Test ID: 8.3.4.7.1 + ... Test title: Log Report Avaliable Notification + ... Test objective: The objective is to test the dispatch of Log Report Avaliable Notification when new log report is available in the NFV-MANO, 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: none + ... Reference: clause 8.5.9.3.1 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Trigger the availability of Log Report (external action) + Check Log Report Available Notification Http POST Request Body Json Schema Is LogReportAvailableNotification + Check Log Report Available Notification Http POST Request Body notificationType attribute Is LogReportAvailableNotification +*** Keywords *** +Trigger the availability of Log Report (external action) + #do nothing + Log do nothing + + +Check Log Report Available Notification Http POST Request Body Json Schema Is + [Arguments] ${element} + ${schema}= Get File schemas/${element}.schema.json + Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} + +Check Log Report Available Notification Http POST Request Body notificationType attribute Is + [Arguments] ${type} + Configure Notification Log Report Available Handler ${callback_endpoint_fwd} ${type} + Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} + Clear Requests ${callback_endpoint_fwd} + +Check Threshold Crossed Notification Http POST Request Body Json Schema Is + [Arguments] ${element} + ${schema}= Get File schemas/${element}.schema.json + Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} + + +Configure Notification Log Report Available Handler + [Arguments] ${endpoint} ${type} + ${json}= evaluate {} + set to dictionary ${json} notificationType ${type} + ${BODY}= evaluate json.dumps(${json}) json + Log Creating mock request and response to handle status notification + &{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} + + +Configure Notification Forward + [Arguments] ${schema} ${endpoint} ${endpoint_fwd} + Log Creating mock Http POST forward to handle ${schema} + &{notification_tmp}= Create Mock Request Matcher POST ${endpoint} body_type="JSON_SCHEMA" body=${schema} + &{notification_fwd}= Create Mock Http Forward ${endpoint_fwd} + Create Mock Expectation With Http Forward ${notification_tmp} ${notification_fwd} + +Create Sessions + 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}:${callback_port} \ No newline at end of file diff --git a/SOL009/NFVMANOLogManagement-API/SOL009-NFVMANOLogManagement-API.yaml b/SOL009/NFVMANOLogManagement-API/SOL009-NFVMANOLogManagement-API.yaml new file mode 100644 index 0000000000000000000000000000000000000000..481efd043621ffabbb6fe6dbb88056222b784e97 --- /dev/null +++ b/SOL009/NFVMANOLogManagement-API/SOL009-NFVMANOLogManagement-API.yaml @@ -0,0 +1,25442 @@ +openapi: 3.0.2 +info: + version: '1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1' + title: SOL009 - NFV-MANO Log Management interface + description: > + SOL009 - NFV-MANO Log Management interface + + IMPORTANT: Please note that this file might be not aligned to the current + version of the ETSI Group Specification + it refers to. In case of discrepancies the published ETSI Group Specification takes precedence. + + Please report bugs to + https://forge.etsi.org/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 009 V3.3.1 + url: >- + https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/009/03.03.01_60/gs_NFV-SOL009v030301p.pdf +security: + - OauthSecurity: + - all +servers: + - url: 'http://127.0.0.1/nfvmanologm/v1' + - url: 'https://127.0.0.1/nfvmanologm/v1' +paths: + /api_versions: + parameters: + - name: Version + description: | + Version of the API requested to use when responding to this request. + in: header + required: false + schema: + type: string + - name: Authorization + description: 'The authorization token for the request. Reference: IETF RFC 7235' + in: header + required: false + schema: + type: string + get: + summary: Retrieve API version information + description: > + The GET method reads API version information. This method shall follow + the provisions specified in table 4.6.3.3.3.2-1 for request and response + data structures, and response codes. URI query parameters are not + supported. + responses: + '200': + description: > + 200 OK + + API version information was read successfully. The response body + shall contain 4.4 API version information, as defined in clause + 4.4.1.13. + content: + application/json: + schema: + description: | + This type represents API version information. + type: object + required: + - uriPrefix + - apiVersions + properties: + uriPrefix: + description: > + Specifies the URI prefix for the API, in the following + form {apiRoot}/{apiName}/{apiMajorVersion}/. + type: string + apiVersions: + description: > + Version(s) supported for the API signaled by the uriPrefix + attribute. + type: array + items: + type: object + required: + - version + properties: + version: + description: > + Identifies a supported version. The value of the + version attribute shall be a version identifier as + specified in clause 9.1 (SOL013). + type: string + isDeprecated: + description: > + If such information is available, this attribute + indicates whether use of the version signaled by the + version attribute is deprecated (true) or not + (false). + + A deprecated version is still supported by the API + producer but is recommended not to be used any + longer. When a version is no longer supported, it + does not appear in the response body. + type: boolean + retirementDate: + description: > + Date-time stamp. Representation: String formatted + according to IETF RFC 3339. + type: string + format: date-time + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: The used API version. + schema: + type: string + maximum: 1 + minimum: 1 + '400': + description: > + 400 BAD REQUEST + + 400 code can be returned in the following specified cases, the + specific cause has to be proper specified in the "ProblemDetails" + structure to be returned. + + If the request is malformed or syntactically incorrect (e.g. if the + request URI contains incorrect query parameters or the payload body + contains a syntactically incorrect data structure), the API producer + shall respond with this response code. The "ProblemDetails" + structure shall be provided, and should include in the "detail" + attribute more information about the source of the problem. + + If the response to a GET request which queries a container resource + would be so big that the performance of the API producer is + adversely affected, and the API producer does not support paging for + the affected resource, it shall respond with this response code. The + "ProblemDetails" structure shall be provided, and should include in + the "detail" attribute more information about the source of the + problem. + + If there is an application error related to the client's input that + cannot be easily mapped to any other HTTP response code ("catch all + error"), the API producer shall respond with this response code. The + "ProblemDetails" structure shall be provided, and shall include in + the "detail" attribute more information about the source of the + problem. + + If the request contains a malformed access token, the API producer + should respond with this response. The details of the error shall be + returned in the WWW Authenticate HTTP header, as defined in IETF RFC + 6750 and IETF RFC 7235. The ProblemDetails structure may be + provided. + + The use of this HTTP error response code described above is + applicable to the use of the OAuth 2.0 for the authorization of API + requests and notifications, as defined in clauses 4.5.3.3 and + 4.5.3.4. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '401': + description: > + 401 UNAUTHORIZED + + If the request contains no access token even though one is required, + or if the request contains an authorization token that is invalid + (e.g. expired or revoked), the API producer should respond with this + response. The details of the error shall be returned in the + WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF + RFC 7235. The ProblemDetails structure may be provided. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '403': + description: > + 403 FORBIDDEN + + If the API consumer is not allowed to perform a particular request + to a particular resource, the API producer shall respond with this + response code. The "ProblemDetails" structure shall be provided. It + should include in the "detail" attribute information about the + source of the problem, and may indicate how to solve it. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '404': + description: > + 404 NOT FOUND + + If the API producer did not find a current representation for the + resource addressed by the URI passed in the request or is not + willing to disclose that one exists, it shall respond with this + response code. The "ProblemDetails" structure may be provided, + including in the "detail" attribute information about the source of + the problem, e.g. a wrong resource URI variable. + + This response code is not appropriate in case the resource addressed + by the URI is a container resource which is designed to contain + child resources, but does not contain any child resource at the time + the request is received. For a GET request to an existing empty + container resource, a typical response contains a 200 OK response + code and a payload body with an empty array. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '405': + description: > + 405 METHOD NOT ALLOWED + + If a particular HTTP method is not supported for a particular + resource, the API producer shall respond with this response code. + The "ProblemDetails" structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '406': + description: > + 406 NOT ACCEPTABLE + + If the "Accept" HTTP header does not contain at least one name of a + content type that is acceptable to the API producer, the API + producer shall respond with this response code. The "ProblemDetails" + structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '413': + description: > + 413 PAYLOAD TOO LARGE + + If the payload body of a request is larger than the amount of data + the API producer is willing or able to process, it shall respond + with this response code, following the provisions in IETF RFC 7231 + for the use of the "Retry-After" HTTP header and for closing the + connection. The "ProblemDetails" structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '414': + description: > + 414 URI TOO LONG + + If the request URI of a request is longer than the API producer is + willing or able to process, it shall respond with this response + code. This condition can e.g. be caused by passing long queries in + the request URI of a GET request. The "ProblemDetails" structure may + be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '416': + description: | + 416 Range Not Satisfiable + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '422': + description: > + 422 UNPROCESSABLE ENTITY + + If the payload body of a request contains syntactically correct data + (e.g. well-formed JSON) but the data cannot be processed (e.g. + because it fails validation against a schema), the API producer + shall respond with this response code. The "ProblemDetails" + structure shall be provided, and should include in the "detail" + attribute more information about the source of the problem. + + This error response code is only applicable for methods that have a + request body. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '429': + description: > + 429 TOO MANY REQUESTS + + If the API consumer has sent too many requests in a defined period + of time and the API producer is able to detect that condition ("rate + limiting"), the API producer shall respond with this response code, + following the provisions in IETF RFC 6585 [17] for the use of the + "Retry-After" HTTP header. The "ProblemDetails" structure shall be + provided and shall include in the "detail" attribute more + information about the source of the problem. + + The period of time and allowed number of requests are configured + within the API producer by means outside the scope of the present + document. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '500': + description: > + 500 INTERNAL SERVER ERROR + + If there is an application error not related to the client's input + that cannot be easily mapped to any other HTTP response code ("catch + all error"), the API producer shall respond with this response code. + The "ProblemDetails" structure shall be provided, and shall include + in the "detail" attribute more information about the source of the + problem. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '503': + description: > + 503 SERVICE UNAVAILABLE + + If the API producer encounters an internal overload situation of + itself or of a system it relies on, it should respond with this + response code, following the provisions in IETF RFC 7231 for the use + of the "Retry-After" HTTP header and for the alternative to refuse + the connection. The "ProblemDetails" structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '504': + description: > + 504 GATEWAY TIMEOUT + + If the API producer encounters a timeout while waiting for a + response from an upstream server (i.e. a server that the API + producer communicates with when fulfilling a request), it should + respond with this response code. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + /log_jobs: + description: >- + This resource represents logging jobs. The API consumer can use this + resource to create and query logging jobs. + post: + description: >- + The POST method creates a logging job. This method shall follow the + provisions specified in the tables 8.5.3.3.1-1 and 8.5.3.3.1-2 for URI + query parameters, request and response data structures, and response + codes. As the result of successfully executing this method, a new + "Individual logging job" resource as defined in clause 9.5.4 shall have + been created. + parameters: + - name: Version + description: | + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + - name: Accept + description: > + Content-Types that are acceptable for the response. Reference: IETF + RFC 7231. + in: header + required: true + schema: + type: string + - name: Content-Type + description: | + The MIME type of the body of the request. Reference: IETF RFC 7231 + in: header + required: true + schema: + type: string + - name: Authorization + description: | + The authorization token for the request. Reference: IETF RFC 7235. + in: header + required: false + schema: + type: string + requestBody: + description: >- + This type represents a request to create a logging job. It shall + comply with the provisions defined in table 8.6.2.5-1. + content: + application/json: + schema: + description: Information on application context created by the MEC system + type: object + required: + - objectInstanceIds + - jobCriteria + - jobConfig + properties: + objectInstanceIds: + description: >- + Identifiers of the object instance for which logging + information is requested to be collected. This attribute + shall contain the identifier of the instance of the object + to be logged according to their type. If more than one + identifier is provided, values shall all refer to object + instances of the same type, for which the same criteria is + then applicable. + type: array + minItems: 1 + items: + description: > + This type represents the identifier to reference a managed + object of a particular type. + type: object + properties: + type: + description: > + Indicates the type of managed object. Permitted + values: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + + The "MANO_ENTITY COMPONENT" is only applicable if + attribute "manoEntityComponents" in "ManoEntity" is + supported by the API producer. + type: string + enum: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + objectId: + description: > + An identifier with the intention of being globally + unique. + type: string + subObjectId: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need not + be globally unique. Representation: string of variable + length.. + type: string + required: + - type + - objectId + jobCriteria: + description: >- + This type represents collection criteria for logging jobs. + It shall comply with the provisions defined in table + 8.6.3.2-1. + type: object + required: + - loggingType + properties: + loggingType: + description: >- + Type of logging. This defines the types of logged + information to collect. + + Permitted values: - MESSAGES: logged NFV-MANO service + interface messages. - SERVICES: logged messages about + processes pertaining to NFV-MANO services. - SYSTEM: + logged messages about the NFV-MANO functional entity’s + system enabled by the provider. + type: string + enum: + - MESSAGES + - SERVICES + - SYSTEM + messagesLogDetail: + description: >- + This type represents criteria for logging jobs to + collect logged messages on NFV-MANO service interfaces. + It shall comply with the provisions defined in table + 8.6.3.3-1. + type: object + required: + - direction + properties: + direction: + description: >- + The direction of the interface messages to match. + + Permitted values: - IN: input messages into the + interface. - OUT: output messages from the + interface. - ALL: both input and output messages + into/from the interface. + type: string + enum: + - IN + - OUT + - ALL + matchingPatterns: + description: >- + Patterns to be matched in the interface message. If + provided, only messages that match all the values + provided in the sub-attributes shall be logged. An + API consumer can provide more than one + "matchingPattern" if combinations of patterns are to + be considered to match diverse sets of interface + messages. + type: array + items: + type: object + anyOf: + - required: + - srcIpAddress + - required: + - dstIpAddress + - required: + - requestMethod + - required: + - requestUriPattern + - required: + - responseCodes + properties: + srcIpAddress: + description: > + An IPV4 or IPV6 address. Representation: In + case of an IPV4 address, string that consists + of four decimal integers separated by dots, + each integer ranging from 0 to 255. In case of + an IPV6 address, string that consists of + groups of zero to four hexadecimal digits, + separated by colons. + type: string + format: IP + requestMethod: + description: >- + HTTP request method to be matched. To match, + the HTTP request method of the message shall + be the same as the value of this attribute. + Valid values are specified in IETF RFC 7231. + The API producer shall support this attribute. + type: string + requestUriPattern: + description: >- + Substring to be matched in the request URI. To + match, the request URI shall include the value + of + this attribute as a substring. This is typically used to match messages which associate to RESTful + resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall + support this attribute. + type: string + dstIpAddress: + description: > + An IPV4 or IPV6 address. Representation: In + case of an IPV4 address, string that consists + of four decimal integers separated by dots, + each integer ranging from 0 to 255. In case of + an IPV6 address, string that consists of + groups of zero to four hexadecimal digits, + separated by colons. + type: string + format: IP + responseCodes: + description: >- + HTTP response codes or patterns to match. A + list of all valid HTTP response codes and + their specification documents can be obtained + from the HTTP status code registry. In + addition, if supported, the following patterns + may be used (case-insensitive): - "1XX": for + matching any kind of informational response. - + "2XX": for matching any kind of success + response. - "3XX": for matching any kind + redirection response. - "4XX": for matching + any kind of client error response. - "5XX": + for matching any kind of server error + response. + + The API producer shall support this attribute + type: array + items: + type: string + headerField: + description: >- + Name of the header field to be matched. The + header field name shall be one of the + supported fields in a request message as + defined in clause 4.2.2 of ETSI GS NFV-SOL 013 + or in a response message as defined in clause + 4.2.3 of ETSI GS NFV-SOL 013, in accordance + with the "direction" criteria input. The API + producer may support this attribute. + type: string + headerValue: + description: >- + Value in the header to be matched. To match, + the value in the header field indicated by + "headerField" shall be the same as in this + attribute. Shall be provided if a + "headerField" is provided. The API producer + may support this attribute. + type: string + bodyValues: + description: >- + A list of strings to be matched in the body + part of the interface message (e.g., the body + of an HTTP message). If provided, only + messages with text in the body part containing + all the values from the list shall match the + filter. In addition to a matching filter for + the body of the message, a corresponding + "headerField" filter shall also be provided, + with "headerField" set to "Content-Type", to + restrict matching to appropriate textual + payloads such as "application/json" or + "text/plain". The API producer may support + this attribute + type: string + servicesLogDetail: + description: >- + This type represents criteria for logging jobs to + collect logged messages about processes pertaining to + NFV-MANO services. It shall comply with the provisions + defined in table 8.6.3.4-1. + type: object + properties: + logGarbageCollection: + description: >- + Indicates to collect logged information about + garbage collection processes associated to NFV-MANO + services. + type: boolean + systemLogDetail: + description: >- + This type represents criteria for logging jobs to + collect logged system events of the NFV-MANO functional + entity. It shall comply with the provisions defined in + table 8.6.3.5-1. + type: object + required: + - systemLogs + - severityLevel + properties: + systemLogs: + description: > + This type represents a list of key-value pairs. The + order of the pairs in the list is not significant. + In JSON, a set of keyvalue pairs is represented as + an object. It shall comply with the provisions + defined in clause 4 of IETF RFC 8259. In the + following example, a list of key-value pairs with + four keys ("aString", "aNumber", "anArray" and + "anObject") is provided to illustrate that the + values associated with different keys can be of + different type. + type: object + severityLevelScheme: + description: >- + Identifies a severity level scheme. The default + value is "rfc5424", which represents the set of + values specified in the clause 6.2.1, table 2 of + IETF RFC 5424. Other values may be used to signal + different schemes. + type: string + severityLevel: + description: >- + The severity level, which determines the severity of + the system messages to collect. The NFV-MANO + functional entity shall collect system log messages, + as indicated by the "systemLogs" attribute, with + severity levels lower (i.e., more severe) or equal + to the value provided by this present attribute. + type: number + jobConfig: + description: >- + This type represents configuration data for a logging job. + It shall comply with the provisions defined in table + 8.6.3.6-1. NOTE: The present document version does not + specify the support for "log compilation and reporting based + on events" as specified in clause 6.6.2.2 of ETSI GS NFV-IFA + 031. + type: object + required: + - reportingCondition + - securityConf + properties: + startTime: + description: > + Date-time stamp. Representation: String formatted + according to IETF RFC 3339. + type: string + format: date-time + endTime: + description: > + Date-time stamp. Representation: String formatted + according to IETF RFC 3339. + type: string + format: date-time + reportingCondition: + description: >- + Specifies the condition under which the producer will + report to the consumer about the compiled log data. + required: + - reportingType + properties: + reportingType: + description: >- + Specifies the type of reporting condition. Permitted + values: - REPORTING_ON_COMPILATION: the producer + shall notify the consumer once the compilation of + the + collected logging data into a file is completed and a new log report is available. + - NO_REPORTING: no reporting is requested (the + consumer can query the logging jobs to know about + the + availability of new log reports). + type: string + enum: + - REPORTING_ON_COMPILATION + - NO_REPORTING + minimumReportingPeriod: + description: >- + Specifies the minimum periodicity at which the + producer will report to the consumer about the + collected log information, in seconds. + type: integer + format: int32 + compileBySizeValue: + description: >- + An indicative size threshold for compiling the collected + log data, in bytes. It is used when the compilation is + based on the size of the collected log data. If not + present, a default value as specified with the + "defaultLogCompileBySizeValue" configuration in the + "ManoEntityConfigurableParams" shall be used + type: integer + format: int32 + compileByTimerValue: + description: >- + The periodicity threshold for compiling the filtered + log, in seconds. It is used when the compilation is + based on a timer (e.g., every 24 hours). If not present, + a default value as specified with the + "defaultLogCompileByTimerValue" configuration in the + "ManoEntityConfigurableParams" shall be used + type: integer + format: int32 + securityConf: + description: >- + Configuration about the security aspects of the logging + job. + type: object + properties: + logFileEncryption: + description: >- + Information about the encryption of the compiled log + files. Shall be present if the log file is requested + to be encrypted. + required: + - encryptionCertificate + - cipherAlgorithm + type: object + properties: + encryptionCertificate: + description: >- + X.509 certificate with the public key to use for + the encryption of the compiled log file. + type: string + cipherAlgorithm: + description: >- + Cryptographic algorithm to be used for the + encryption of the compiled log file. More than + one algorithm can be provided from higher (lower + array index) to lower (higher array index) + precedence. Valid values are: "AES-CBC-128", + "AES-GCM-128", "AES-CBC-256", and "AES-GCM-256", + as specified in clause 6.5 of ETSI GS NFV-SEC + 012 + type: array + items: + type: string + minItems: 1 + encryptAndSignOrder: + description: >- + Indication about the order in signing and + encrypting the compiled log file. Valid values + are: "encryptFirst", to apply the order "first + encrypt, then sign", and "signFirst" for the + order "first sign, then encrypt". Default value + is "encryptFirst". + type: string + logTransferSecurity: + description: >- + Information about the security measures for + retrieving/accessing the compiled log files. + type: object + properties: + publicKey: + description: >- + The public key of the API consumer used for the + client authentication with the file server. + Shall be provided if required by the type of + transfer protocol. May be omitted if the key has + been provided to the API producer by other + means, or if it has already been provided in + some previous CreateLoggingJobRequest issued by + the same API consumer, whose public key has not + changed. + type: string + required: true + responses: + '201': + description: >- + The response body contains the Application Context as it was created + by the MEC system + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + description: >- + This type represents a logging job. It shall comply with the + provisions defined in table 8.6.2.6-1. + type: object + required: + - id + - objectInstanceIds + - jobCriteria + - jobConfig + - _links + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + objectInstanceIds: + description: >- + Identifiers of the object instance for which logging + information is collected. This attribute shall contain the + identifier of the instance of the object that is logged + according to their type. + type: array + items: + description: > + This type represents the identifier to reference a + managed object of a particular type. + type: object + properties: + type: + description: > + Indicates the type of managed object. Permitted + values: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + + The "MANO_ENTITY COMPONENT" is only applicable if + attribute "manoEntityComponents" in "ManoEntity" is + supported by the API producer. + type: string + enum: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + objectId: + description: > + An identifier with the intention of being globally + unique. + type: string + subObjectId: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need + not be globally unique. Representation: string of + variable length.. + type: string + required: + - type + - objectId + jobCriteria: + description: >- + This type represents collection criteria for logging jobs. + It shall comply with the provisions defined in table + 8.6.3.2-1. + type: object + required: + - loggingType + properties: + loggingType: + description: >- + Type of logging. This defines the types of logged + information to collect. + + Permitted values: - MESSAGES: logged NFV-MANO service + interface messages. - SERVICES: logged messages about + processes pertaining to NFV-MANO services. - SYSTEM: + logged messages about the NFV-MANO functional entity’s + system enabled by the provider. + type: string + enum: + - MESSAGES + - SERVICES + - SYSTEM + messagesLogDetail: + description: >- + This type represents criteria for logging jobs to + collect logged messages on NFV-MANO service + interfaces. It shall comply with the provisions + defined in table 8.6.3.3-1. + type: object + required: + - direction + properties: + direction: + description: >- + The direction of the interface messages to match. + + Permitted values: - IN: input messages into the + interface. - OUT: output messages from the + interface. - ALL: both input and output messages + into/from the interface. + type: string + enum: + - IN + - OUT + - ALL + matchingPatterns: + description: >- + Patterns to be matched in the interface message. + If provided, only messages that match all the + values provided in the sub-attributes shall be + logged. An API consumer can provide more than one + "matchingPattern" if combinations of patterns are + to be considered to match diverse sets of + interface messages. + type: array + items: + type: object + anyOf: + - required: + - srcIpAddress + - required: + - dstIpAddress + - required: + - requestMethod + - required: + - requestUriPattern + - required: + - responseCodes + properties: + srcIpAddress: + description: > + An IPV4 or IPV6 address. Representation: In + case of an IPV4 address, string that + consists of four decimal integers separated + by dots, each integer ranging from 0 to 255. + In case of an IPV6 address, string that + consists of groups of zero to four + hexadecimal digits, separated by colons. + type: string + format: IP + requestMethod: + description: >- + HTTP request method to be matched. To match, + the HTTP request method of the message shall + be the same as the value of this attribute. + Valid values are specified in IETF RFC 7231. + The API producer shall support this + attribute. + type: string + requestUriPattern: + description: >- + Substring to be matched in the request URI. + To match, the request URI shall include the + value of + this attribute as a substring. This is typically used to match messages which associate to RESTful + resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall + support this attribute. + type: string + dstIpAddress: + description: > + An IPV4 or IPV6 address. Representation: In + case of an IPV4 address, string that + consists of four decimal integers separated + by dots, each integer ranging from 0 to 255. + In case of an IPV6 address, string that + consists of groups of zero to four + hexadecimal digits, separated by colons. + type: string + format: IP + responseCodes: + description: >- + HTTP response codes or patterns to match. A + list of all valid HTTP response codes and + their specification documents can be + obtained from the HTTP status code registry. + In addition, if supported, the following + patterns may be used (case-insensitive): - + "1XX": for matching any kind of + informational response. - "2XX": for + matching any kind of success response. - + "3XX": for matching any kind redirection + response. - "4XX": for matching any kind of + client error response. - "5XX": for matching + any kind of server error response. + + The API producer shall support this + attribute + type: array + items: + type: string + headerField: + description: >- + Name of the header field to be matched. The + header field name shall be one of the + supported fields in a request message as + defined in clause 4.2.2 of ETSI GS NFV-SOL + 013 or in a response message as defined in + clause 4.2.3 of ETSI GS NFV-SOL 013, in + accordance with the "direction" criteria + input. The API producer may support this + attribute. + type: string + headerValue: + description: >- + Value in the header to be matched. To match, + the value in the header field indicated by + "headerField" shall be the same as in this + attribute. Shall be provided if a + "headerField" is provided. The API producer + may support this attribute. + type: string + bodyValues: + description: >- + A list of strings to be matched in the body + part of the interface message (e.g., the + body of an HTTP message). If provided, only + messages with text in the body part + containing all the values from the list + shall match the filter. In addition to a + matching filter for the body of the message, + a corresponding "headerField" filter shall + also be provided, with "headerField" set to + "Content-Type", to restrict matching to + appropriate textual payloads such as + "application/json" or "text/plain". The API + producer may support this attribute + type: string + servicesLogDetail: + description: >- + This type represents criteria for logging jobs to + collect logged messages about processes pertaining to + NFV-MANO services. It shall comply with the provisions + defined in table 8.6.3.4-1. + type: object + properties: + logGarbageCollection: + description: >- + Indicates to collect logged information about + garbage collection processes associated to + NFV-MANO services. + type: boolean + systemLogDetail: + description: >- + This type represents criteria for logging jobs to + collect logged system events of the NFV-MANO + functional entity. It shall comply with the provisions + defined in table 8.6.3.5-1. + type: object + required: + - systemLogs + - severityLevel + properties: + systemLogs: + description: > + This type represents a list of key-value pairs. + The order of the pairs in the list is not + significant. In JSON, a set of keyvalue pairs is + represented as an object. It shall comply with the + provisions defined in clause 4 of IETF RFC 8259. + In the following example, a list of key-value + pairs with four keys ("aString", "aNumber", + "anArray" and "anObject") is provided to + illustrate that the values associated with + different keys can be of different type. + type: object + severityLevelScheme: + description: >- + Identifies a severity level scheme. The default + value is "rfc5424", which represents the set of + values specified in the clause 6.2.1, table 2 of + IETF RFC 5424. Other values may be used to signal + different schemes. + type: string + severityLevel: + description: >- + The severity level, which determines the severity + of the system messages to collect. The NFV-MANO + functional entity shall collect system log + messages, as indicated by the "systemLogs" + attribute, with severity levels lower (i.e., more + severe) or equal to the value provided by this + present attribute. + type: number + jobConfig: + description: >- + This type represents configuration data for a logging job. + It shall comply with the provisions defined in table + 8.6.3.6-1. NOTE: The present document version does not + specify the support for "log compilation and reporting + based on events" as specified in clause 6.6.2.2 of ETSI GS + NFV-IFA 031. + type: object + required: + - reportingCondition + - securityConf + properties: + startTime: + description: > + Date-time stamp. Representation: String formatted + according to IETF RFC 3339. + type: string + format: date-time + endTime: + description: > + Date-time stamp. Representation: String formatted + according to IETF RFC 3339. + type: string + format: date-time + reportingCondition: + description: >- + Specifies the condition under which the producer will + report to the consumer about the compiled log data. + required: + - reportingType + properties: + reportingType: + description: >- + Specifies the type of reporting condition. + Permitted values: - REPORTING_ON_COMPILATION: the + producer shall notify the consumer once the + compilation of the + collected logging data into a file is completed and a new log report is available. + - NO_REPORTING: no reporting is requested (the + consumer can query the logging jobs to know about + the + availability of new log reports). + type: string + enum: + - REPORTING_ON_COMPILATION + - NO_REPORTING + minimumReportingPeriod: + description: >- + Specifies the minimum periodicity at which the + producer will report to the consumer about the + collected log information, in seconds. + type: integer + format: int32 + compileBySizeValue: + description: >- + An indicative size threshold for compiling the + collected log data, in bytes. It is used when the + compilation is based on the size of the collected log + data. If not present, a default value as specified + with the "defaultLogCompileBySizeValue" configuration + in the "ManoEntityConfigurableParams" shall be used + type: integer + format: int32 + compileByTimerValue: + description: >- + The periodicity threshold for compiling the filtered + log, in seconds. It is used when the compilation is + based on a timer (e.g., every 24 hours). If not + present, a default value as specified with the + "defaultLogCompileByTimerValue" configuration in the + "ManoEntityConfigurableParams" shall be used + type: integer + format: int32 + securityConf: + description: >- + Configuration about the security aspects of the + logging job. + type: object + properties: + logFileEncryption: + description: >- + Information about the encryption of the compiled + log files. Shall be present if the log file is + requested to be encrypted. + required: + - encryptionCertificate + - cipherAlgorithm + type: object + properties: + encryptionCertificate: + description: >- + X.509 certificate with the public key to use + for the encryption of the compiled log file. + type: string + cipherAlgorithm: + description: >- + Cryptographic algorithm to be used for the + encryption of the compiled log file. More than + one algorithm can be provided from higher + (lower array index) to lower (higher array + index) precedence. Valid values are: + "AES-CBC-128", "AES-GCM-128", "AES-CBC-256", + and "AES-GCM-256", as specified in clause 6.5 + of ETSI GS NFV-SEC 012 + type: array + items: + type: string + minItems: 1 + encryptAndSignOrder: + description: >- + Indication about the order in signing and + encrypting the compiled log file. Valid values + are: "encryptFirst", to apply the order "first + encrypt, then sign", and "signFirst" for the + order "first sign, then encrypt". Default + value is "encryptFirst". + type: string + logTransferSecurity: + description: >- + Information about the security measures for + retrieving/accessing the compiled log files. + type: object + properties: + publicKey: + description: >- + The public key of the API consumer used for + the client authentication with the file + server. Shall be provided if required by the + type of transfer protocol. May be omitted if + the key has been provided to the API producer + by other means, or if it has already been + provided in some previous + CreateLoggingJobRequest issued by the same API + consumer, whose public key has not changed. + type: string + logReports: + description: >- + Information about available log reports created by the + logging job. + type: array + items: + type: object + required: + - logReportId + - logReportLoc + properties: + logReportId: + description: > + An identifier with the intention of being globally + unique. + type: string + logReportLoc: + description: > + This type represents a link to a resource using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + _links: + description: Links for this resource. + type: object + required: + - self + properties: + self: + description: > + This type represents a link to a resource using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + objects: + description: >- + Links to resources representing the object instances + that are logged. Shall be present if the logged object + instance information is accessible as a resource. + type: array + items: + description: > + This type represents a link to a resource using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + '400': + description: > + 400 BAD REQUEST + + 400 code can be returned in the following specified cases, the + specific cause has to be proper specified in the "ProblemDetails" + structure to be returned. + + If the request is malformed or syntactically incorrect (e.g. if the + request URI contains incorrect query parameters or the payload body + contains a syntactically incorrect data structure), the API producer + shall respond with this response code. The "ProblemDetails" + structure shall be provided, and should include in the "detail" + attribute more information about the source of the problem. + + If the response to a GET request which queries a container resource + would be so big that the performance of the API producer is + adversely affected, and the API producer does not support paging for + the affected resource, it shall respond with this response code. The + "ProblemDetails" structure shall be provided, and should include in + the "detail" attribute more information about the source of the + problem. + + If there is an application error related to the client's input that + cannot be easily mapped to any other HTTP response code ("catch all + error"), the API producer shall respond with this response code. The + "ProblemDetails" structure shall be provided, and shall include in + the "detail" attribute more information about the source of the + problem. + + If the request contains a malformed access token, the API producer + should respond with this response. The details of the error shall be + returned in the WWW Authenticate HTTP header, as defined in IETF RFC + 6750 and IETF RFC 7235. The ProblemDetails structure may be + provided. + + The use of this HTTP error response code described above is + applicable to the use of the OAuth 2.0 for the authorization of API + requests and notifications, as defined in clauses 4.5.3.3 and + 4.5.3.4. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '401': + description: > + 401 UNAUTHORIZED + + If the request contains no access token even though one is required, + or if the request contains an authorization token that is invalid + (e.g. expired or revoked), the API producer should respond with this + response. The details of the error shall be returned in the + WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF + RFC 7235. The ProblemDetails structure may be provided. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '403': + description: > + 403 FORBIDDEN + + If the API consumer is not allowed to perform a particular request + to a particular resource, the API producer shall respond with this + response code. The "ProblemDetails" structure shall be provided. It + should include in the "detail" attribute information about the + source of the problem, and may indicate how to solve it. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '404': + description: > + 404 NOT FOUND + + If the API producer did not find a current representation for the + resource addressed by the URI passed in the request or is not + willing to disclose that one exists, it shall respond with this + response code. The "ProblemDetails" structure may be provided, + including in the "detail" attribute information about the source of + the problem, e.g. a wrong resource URI variable. + + This response code is not appropriate in case the resource addressed + by the URI is a container resource which is designed to contain + child resources, but does not contain any child resource at the time + the request is received. For a GET request to an existing empty + container resource, a typical response contains a 200 OK response + code and a payload body with an empty array. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '405': + description: > + 405 METHOD NOT ALLOWED + + If a particular HTTP method is not supported for a particular + resource, the API producer shall respond with this response code. + The "ProblemDetails" structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '406': + description: > + 406 NOT ACCEPTABLE + + If the "Accept" HTTP header does not contain at least one name of a + content type that is acceptable to the API producer, the API + producer shall respond with this response code. The "ProblemDetails" + structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '422': + description: > + 422 UNPROCESSABLE ENTITY + + If the payload body of a request contains syntactically correct data + (e.g. well-formed JSON) but the data cannot be processed (e.g. + because it fails validation against a schema), the API producer + shall respond with this response code. The "ProblemDetails" + structure shall be provided, and should include in the "detail" + attribute more information about the source of the problem. + + This error response code is only applicable for methods that have a + request body. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '500': + description: > + 500 INTERNAL SERVER ERROR + + If there is an application error not related to the client's input + that cannot be easily mapped to any other HTTP response code ("catch + all error"), the API producer shall respond with this response code. + The "ProblemDetails" structure shall be provided, and shall include + in the "detail" attribute more information about the source of the + problem. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '503': + description: > + 503 SERVICE UNAVAILABLE + + If the API producer encounters an internal overload situation of + itself or of a system it relies on, it should respond with this + response code, following the provisions in IETF RFC 7231 for the use + of the "Retry-After" HTTP header and for the alternative to refuse + the connection. The "ProblemDetails" structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '504': + description: > + 504 GATEWAY TIMEOUT + + If the API producer encounters a timeout while waiting for a + response from an upstream server (i.e. a server that the API + producer communicates with when fulfilling a request), it should + respond with this response code. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + 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 API consumer can use this method to retrieve information about + logging jobs. This method shall follow the provisions specified in the + tables 8.5.3.3.2-1 and 8.5.3.3.2-2 for URI query parameters, request and + response data structures, and response codes. + parameters: + - name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of ETSI + GS NFV-SOL 013. The NFV-MANO functional entity shall support + receiving this parameter as part of the URI query string. The API + consumer may supply this parameter. All attribute names that appear + in the FmSubscription and in data types referenced from it shall be + supported by the NFV-MANO functional entity in the filter + expression. + in: query + required: false + schema: + type: string + - name: all_fields + description: > + Include all complex attributes in the response. See clause 5.3 of + ETSI GS NFV-SOL 013. The NFV-MANO functional entity shall support + this parameter. + in: query + required: false + schema: + type: string + - name: fields + description: > + Complex attributes to be included into the response. See clause 5.3 + of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional entity + should support this parameter. + in: query + required: false + schema: + type: string + - name: exclude_fields + description: > + Complex attributes to be excluded from the response. See clause 5.3 + of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional entity + should support this parameter. + in: query + required: false + schema: + type: string + - name: exclude_default + in: query + description: >- + Indicates to exclude the following complex attributes from the + response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The + NFV-MANO functional entity shall support this parameter. + required: false + schema: + type: string + - name: nextpage_opaque_marker + description: > + Marker to obtain the next page of a paged response. Shall be + supported by the NFV-MANO functional entity if the entity supports + alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS + NFV-SOL 013 for this resource. + in: query + required: false + schema: + type: string + - name: Version + description: | + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + - name: Accept + description: > + Content-Types that are acceptable for the response. Reference: IETF + RFC 7231. + in: header + required: true + schema: + type: string + - name: Authorization + description: | + The authorization token for the request. Reference: IETF RFC 7235. + in: header + required: false + schema: + type: string + responses: + '200': + description: >- + Shall be returned when information about zero or more logging jobs + has been queried successfully. + + The response body shall contain in an array the representations of + zero or more logging jobs, as defined in clause 8.6.2.6. + + If the "filter" URI parameter or one of the "all_fields", "fields" + (if supported), "exclude_fields" (if supported) or "exclude_default" + URI parameters was supplied in the request, the data in the response + body shall have been transformed according to the rules specified in + clauses 5.2.2 and 5.3.2 of ETSI GS NFV-SOL 013, respectively. + + If the NFV-MANO functional entity supports alternative 2 (paging) + according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this + resource, inclusion of the Link HTTP header in this response shall + follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + type: array + items: + description: >- + This type represents a logging job. It shall comply with the + provisions defined in table 8.6.2.6-1. + type: object + required: + - id + - objectInstanceIds + - jobCriteria + - jobConfig + - _links + properties: + id: + description: > + An identifier with the intention of being globally + unique. + type: string + objectInstanceIds: + description: >- + Identifiers of the object instance for which logging + information is collected. This attribute shall contain + the identifier of the instance of the object that is + logged according to their type. + type: array + items: + description: > + This type represents the identifier to reference a + managed object of a particular type. + type: object + properties: + type: + description: > + Indicates the type of managed object. Permitted + values: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + + The "MANO_ENTITY COMPONENT" is only applicable if + attribute "manoEntityComponents" in "ManoEntity" + is supported by the API producer. + type: string + enum: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + objectId: + description: > + An identifier with the intention of being globally + unique. + type: string + subObjectId: + description: > + An identifier that is unique for the respective + type within a NFV-MANO functional entity, but that + need not be globally unique. Representation: + string of variable length.. + type: string + required: + - type + - objectId + jobCriteria: + description: >- + This type represents collection criteria for logging + jobs. It shall comply with the provisions defined in + table 8.6.3.2-1. + type: object + required: + - loggingType + properties: + loggingType: + description: >- + Type of logging. This defines the types of logged + information to collect. + + Permitted values: - MESSAGES: logged NFV-MANO + service interface messages. - SERVICES: logged + messages about processes pertaining to NFV-MANO + services. - SYSTEM: logged messages about the + NFV-MANO functional entity’s system enabled by the + provider. + type: string + enum: + - MESSAGES + - SERVICES + - SYSTEM + messagesLogDetail: + description: >- + This type represents criteria for logging jobs to + collect logged messages on NFV-MANO service + interfaces. It shall comply with the provisions + defined in table 8.6.3.3-1. + type: object + required: + - direction + properties: + direction: + description: >- + The direction of the interface messages to + match. + + Permitted values: - IN: input messages into the + interface. - OUT: output messages from the + interface. - ALL: both input and output messages + into/from the interface. + type: string + enum: + - IN + - OUT + - ALL + matchingPatterns: + description: >- + Patterns to be matched in the interface message. + If provided, only messages that match all the + values provided in the sub-attributes shall be + logged. An API consumer can provide more than + one "matchingPattern" if combinations of + patterns are to be considered to match diverse + sets of interface messages. + type: array + items: + type: object + anyOf: + - required: + - srcIpAddress + - required: + - dstIpAddress + - required: + - requestMethod + - required: + - requestUriPattern + - required: + - responseCodes + properties: + srcIpAddress: + description: > + An IPV4 or IPV6 address. Representation: + In case of an IPV4 address, string that + consists of four decimal integers + separated by dots, each integer ranging + from 0 to 255. In case of an IPV6 address, + string that consists of groups of zero to + four hexadecimal digits, separated by + colons. + type: string + format: IP + requestMethod: + description: >- + HTTP request method to be matched. To + match, the HTTP request method of the + message shall be the same as the value of + this attribute. Valid values are specified + in IETF RFC 7231. The API producer shall + support this attribute. + type: string + requestUriPattern: + description: >- + Substring to be matched in the request + URI. To match, the request URI shall + include the value of + this attribute as a substring. This is typically used to match messages which associate to RESTful + resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall + support this attribute. + type: string + dstIpAddress: + description: > + An IPV4 or IPV6 address. Representation: + In case of an IPV4 address, string that + consists of four decimal integers + separated by dots, each integer ranging + from 0 to 255. In case of an IPV6 address, + string that consists of groups of zero to + four hexadecimal digits, separated by + colons. + type: string + format: IP + responseCodes: + description: >- + HTTP response codes or patterns to match. + A list of all valid HTTP response codes + and their specification documents can be + obtained from the HTTP status code + registry. In addition, if supported, the + following patterns may be used + (case-insensitive): - "1XX": for matching + any kind of informational response. - + "2XX": for matching any kind of success + response. - "3XX": for matching any kind + redirection response. - "4XX": for + matching any kind of client error + response. - "5XX": for matching any kind + of server error response. + + The API producer shall support this + attribute + type: array + items: + type: string + headerField: + description: >- + Name of the header field to be matched. + The header field name shall be one of the + supported fields in a request message as + defined in clause 4.2.2 of ETSI GS NFV-SOL + 013 or in a response message as defined in + clause 4.2.3 of ETSI GS NFV-SOL 013, in + accordance with the "direction" criteria + input. The API producer may support this + attribute. + type: string + headerValue: + description: >- + Value in the header to be matched. To + match, the value in the header field + indicated by "headerField" shall be the + same as in this attribute. Shall be + provided if a "headerField" is provided. + The API producer may support this + attribute. + type: string + bodyValues: + description: >- + A list of strings to be matched in the + body part of the interface message (e.g., + the body of an HTTP message). If provided, + only messages with text in the body part + containing all the values from the list + shall match the filter. In addition to a + matching filter for the body of the + message, a corresponding "headerField" + filter shall also be provided, with + "headerField" set to "Content-Type", to + restrict matching to appropriate textual + payloads such as "application/json" or + "text/plain". The API producer may support + this attribute + type: string + servicesLogDetail: + description: >- + This type represents criteria for logging jobs to + collect logged messages about processes pertaining + to NFV-MANO services. It shall comply with the + provisions defined in table 8.6.3.4-1. + type: object + properties: + logGarbageCollection: + description: >- + Indicates to collect logged information about + garbage collection processes associated to + NFV-MANO services. + type: boolean + systemLogDetail: + description: >- + This type represents criteria for logging jobs to + collect logged system events of the NFV-MANO + functional entity. It shall comply with the + provisions defined in table 8.6.3.5-1. + type: object + required: + - systemLogs + - severityLevel + properties: + systemLogs: + description: > + This type represents a list of key-value pairs. + The order of the pairs in the list is not + significant. In JSON, a set of keyvalue pairs is + represented as an object. It shall comply with + the provisions defined in clause 4 of IETF RFC + 8259. In the following example, a list of + key-value pairs with four keys ("aString", + "aNumber", "anArray" and "anObject") is provided + to illustrate that the values associated with + different keys can be of different type. + type: object + severityLevelScheme: + description: >- + Identifies a severity level scheme. The default + value is "rfc5424", which represents the set of + values specified in the clause 6.2.1, table 2 of + IETF RFC 5424. Other values may be used to + signal different schemes. + type: string + severityLevel: + description: >- + The severity level, which determines the + severity of the system messages to collect. The + NFV-MANO functional entity shall collect system + log messages, as indicated by the "systemLogs" + attribute, with severity levels lower (i.e., + more severe) or equal to the value provided by + this present attribute. + type: number + jobConfig: + description: >- + This type represents configuration data for a logging + job. It shall comply with the provisions defined in + table 8.6.3.6-1. NOTE: The present document version does + not specify the support for "log compilation and + reporting based on events" as specified in clause + 6.6.2.2 of ETSI GS NFV-IFA 031. + type: object + required: + - reportingCondition + - securityConf + properties: + startTime: + description: > + Date-time stamp. Representation: String formatted + according to IETF RFC 3339. + type: string + format: date-time + endTime: + description: > + Date-time stamp. Representation: String formatted + according to IETF RFC 3339. + type: string + format: date-time + reportingCondition: + description: >- + Specifies the condition under which the producer + will report to the consumer about the compiled log + data. + required: + - reportingType + properties: + reportingType: + description: >- + Specifies the type of reporting condition. + Permitted values: - REPORTING_ON_COMPILATION: + the producer shall notify the consumer once the + compilation of the + collected logging data into a file is completed and a new log report is available. + - NO_REPORTING: no reporting is requested (the + consumer can query the logging jobs to know + about the + availability of new log reports). + type: string + enum: + - REPORTING_ON_COMPILATION + - NO_REPORTING + minimumReportingPeriod: + description: >- + Specifies the minimum periodicity at which the + producer will report to the consumer about the + collected log information, in seconds. + type: integer + format: int32 + compileBySizeValue: + description: >- + An indicative size threshold for compiling the + collected log data, in bytes. It is used when the + compilation is based on the size of the collected + log data. If not present, a default value as + specified with the "defaultLogCompileBySizeValue" + configuration in the "ManoEntityConfigurableParams" + shall be used + type: integer + format: int32 + compileByTimerValue: + description: >- + The periodicity threshold for compiling the filtered + log, in seconds. It is used when the compilation is + based on a timer (e.g., every 24 hours). If not + present, a default value as specified with the + "defaultLogCompileByTimerValue" configuration in the + "ManoEntityConfigurableParams" shall be used + type: integer + format: int32 + securityConf: + description: >- + Configuration about the security aspects of the + logging job. + type: object + properties: + logFileEncryption: + description: >- + Information about the encryption of the compiled + log files. Shall be present if the log file is + requested to be encrypted. + required: + - encryptionCertificate + - cipherAlgorithm + type: object + properties: + encryptionCertificate: + description: >- + X.509 certificate with the public key to use + for the encryption of the compiled log file. + type: string + cipherAlgorithm: + description: >- + Cryptographic algorithm to be used for the + encryption of the compiled log file. More + than one algorithm can be provided from + higher (lower array index) to lower (higher + array index) precedence. Valid values are: + "AES-CBC-128", "AES-GCM-128", "AES-CBC-256", + and "AES-GCM-256", as specified in clause + 6.5 of ETSI GS NFV-SEC 012 + type: array + items: + type: string + minItems: 1 + encryptAndSignOrder: + description: >- + Indication about the order in signing and + encrypting the compiled log file. Valid + values are: "encryptFirst", to apply the + order "first encrypt, then sign", and + "signFirst" for the order "first sign, then + encrypt". Default value is "encryptFirst". + type: string + logTransferSecurity: + description: >- + Information about the security measures for + retrieving/accessing the compiled log files. + type: object + properties: + publicKey: + description: >- + The public key of the API consumer used for + the client authentication with the file + server. Shall be provided if required by the + type of transfer protocol. May be omitted if + the key has been provided to the API + producer by other means, or if it has + already been provided in some previous + CreateLoggingJobRequest issued by the same + API consumer, whose public key has not + changed. + type: string + logReports: + description: >- + Information about available log reports created by the + logging job. + type: array + items: + type: object + required: + - logReportId + - logReportLoc + properties: + logReportId: + description: > + An identifier with the intention of being globally + unique. + type: string + logReportLoc: + description: > + This type represents a link to a resource using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + _links: + description: Links for this resource. + type: object + required: + - self + properties: + self: + description: > + This type represents a link to a resource using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + objects: + description: >- + Links to resources representing the object instances + that are logged. Shall be present if the logged + object instance information is accessible as a + resource. + type: array + items: + description: > + This type represents a link to a resource using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + '400': + description: > + 400 BAD REQUEST + + 400 code can be returned in the following specified cases, the + specific cause has to be proper specified in the "ProblemDetails" + structure to be returned. + + If the request is malformed or syntactically incorrect (e.g. if the + request URI contains incorrect query parameters or the payload body + contains a syntactically incorrect data structure), the API producer + shall respond with this response code. The "ProblemDetails" + structure shall be provided, and should include in the "detail" + attribute more information about the source of the problem. + + If the response to a GET request which queries a container resource + would be so big that the performance of the API producer is + adversely affected, and the API producer does not support paging for + the affected resource, it shall respond with this response code. The + "ProblemDetails" structure shall be provided, and should include in + the "detail" attribute more information about the source of the + problem. + + If there is an application error related to the client's input that + cannot be easily mapped to any other HTTP response code ("catch all + error"), the API producer shall respond with this response code. The + "ProblemDetails" structure shall be provided, and shall include in + the "detail" attribute more information about the source of the + problem. + + If the request contains a malformed access token, the API producer + should respond with this response. The details of the error shall be + returned in the WWW Authenticate HTTP header, as defined in IETF RFC + 6750 and IETF RFC 7235. The ProblemDetails structure may be + provided. + + The use of this HTTP error response code described above is + applicable to the use of the OAuth 2.0 for the authorization of API + requests and notifications, as defined in clauses 4.5.3.3 and + 4.5.3.4. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '401': + description: > + 401 UNAUTHORIZED + + If the request contains no access token even though one is required, + or if the request contains an authorization token that is invalid + (e.g. expired or revoked), the API producer should respond with this + response. The details of the error shall be returned in the + WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF + RFC 7235. The ProblemDetails structure may be provided. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '403': + description: > + 403 FORBIDDEN + + If the API consumer is not allowed to perform a particular request + to a particular resource, the API producer shall respond with this + response code. The "ProblemDetails" structure shall be provided. It + should include in the "detail" attribute information about the + source of the problem, and may indicate how to solve it. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '404': + description: > + 404 NOT FOUND + + If the API producer did not find a current representation for the + resource addressed by the URI passed in the request or is not + willing to disclose that one exists, it shall respond with this + response code. The "ProblemDetails" structure may be provided, + including in the "detail" attribute information about the source of + the problem, e.g. a wrong resource URI variable. + + This response code is not appropriate in case the resource addressed + by the URI is a container resource which is designed to contain + child resources, but does not contain any child resource at the time + the request is received. For a GET request to an existing empty + container resource, a typical response contains a 200 OK response + code and a payload body with an empty array. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '405': + description: > + 405 METHOD NOT ALLOWED + + If a particular HTTP method is not supported for a particular + resource, the API producer shall respond with this response code. + The "ProblemDetails" structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '406': + description: > + 406 NOT ACCEPTABLE + + If the "Accept" HTTP header does not contain at least one name of a + content type that is acceptable to the API producer, the API + producer shall respond with this response code. The "ProblemDetails" + structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '422': + description: > + 422 UNPROCESSABLE ENTITY + + If the payload body of a request contains syntactically correct data + (e.g. well-formed JSON) but the data cannot be processed (e.g. + because it fails validation against a schema), the API producer + shall respond with this response code. The "ProblemDetails" + structure shall be provided, and should include in the "detail" + attribute more information about the source of the problem. + + This error response code is only applicable for methods that have a + request body. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '500': + description: > + 500 INTERNAL SERVER ERROR + + If there is an application error not related to the client's input + that cannot be easily mapped to any other HTTP response code ("catch + all error"), the API producer shall respond with this response code. + The "ProblemDetails" structure shall be provided, and shall include + in the "detail" attribute more information about the source of the + problem. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '503': + description: > + 503 SERVICE UNAVAILABLE + + If the API producer encounters an internal overload situation of + itself or of a system it relies on, it should respond with this + response code, following the provisions in IETF RFC 7231 for the use + of the "Retry-After" HTTP header and for the alternative to refuse + the connection. The "ProblemDetails" structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '504': + description: > + 504 GATEWAY TIMEOUT + + If the API producer encounters a timeout while waiting for a + response from an upstream server (i.e. a server that the API + producer communicates with when fulfilling a request), it should + respond with this response code. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '/log_jobs/{logJobId}': + description: >- + This resource represents an individual logging job. The API consumer can + use this resource to delete and read the underlying logging job. + parameters: + - name: logJobId + in: path + description: Identifier of the logging job. + required: true + schema: + description: | + An identifier with the intention of being globally unique. + type: string + get: + description: >- + The API consumer can use this method for reading an individual logging + job. This method shall follow the provisions specified in the tables + 8.5.4.3.2-1 and 8.5.4.3.2-2 for URI query parameters, request and + response data structures, and response codes. + parameters: + - name: Version + description: | + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + - name: Accept + description: > + Content-Types that are acceptable for the response. Reference: IETF + RFC 7231. + in: header + required: true + schema: + type: string + - name: Authorization + description: | + The authorization token for the request. Reference: IETF RFC 7235. + in: header + required: false + schema: + type: string + responses: + '200': + description: >- + Shall be returned when information about an individual logging job + has been read successfully. The response body shall contain a + representation of the "Individual logging job" resource, as defined + in clause 8.6.2.6. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + description: >- + This type represents a logging job. It shall comply with the + provisions defined in table 8.6.2.6-1. + type: object + required: + - id + - objectInstanceIds + - jobCriteria + - jobConfig + - _links + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + objectInstanceIds: + description: >- + Identifiers of the object instance for which logging + information is collected. This attribute shall contain the + identifier of the instance of the object that is logged + according to their type. + type: array + items: + description: > + This type represents the identifier to reference a + managed object of a particular type. + type: object + properties: + type: + description: > + Indicates the type of managed object. Permitted + values: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + + The "MANO_ENTITY COMPONENT" is only applicable if + attribute "manoEntityComponents" in "ManoEntity" is + supported by the API producer. + type: string + enum: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + objectId: + description: > + An identifier with the intention of being globally + unique. + type: string + subObjectId: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need + not be globally unique. Representation: string of + variable length.. + type: string + required: + - type + - objectId + jobCriteria: + description: >- + This type represents collection criteria for logging jobs. + It shall comply with the provisions defined in table + 8.6.3.2-1. + type: object + required: + - loggingType + properties: + loggingType: + description: >- + Type of logging. This defines the types of logged + information to collect. + + Permitted values: - MESSAGES: logged NFV-MANO service + interface messages. - SERVICES: logged messages about + processes pertaining to NFV-MANO services. - SYSTEM: + logged messages about the NFV-MANO functional entity’s + system enabled by the provider. + type: string + enum: + - MESSAGES + - SERVICES + - SYSTEM + messagesLogDetail: + description: >- + This type represents criteria for logging jobs to + collect logged messages on NFV-MANO service + interfaces. It shall comply with the provisions + defined in table 8.6.3.3-1. + type: object + required: + - direction + properties: + direction: + description: >- + The direction of the interface messages to match. + + Permitted values: - IN: input messages into the + interface. - OUT: output messages from the + interface. - ALL: both input and output messages + into/from the interface. + type: string + enum: + - IN + - OUT + - ALL + matchingPatterns: + description: >- + Patterns to be matched in the interface message. + If provided, only messages that match all the + values provided in the sub-attributes shall be + logged. An API consumer can provide more than one + "matchingPattern" if combinations of patterns are + to be considered to match diverse sets of + interface messages. + type: array + items: + type: object + anyOf: + - required: + - srcIpAddress + - required: + - dstIpAddress + - required: + - requestMethod + - required: + - requestUriPattern + - required: + - responseCodes + properties: + srcIpAddress: + description: > + An IPV4 or IPV6 address. Representation: In + case of an IPV4 address, string that + consists of four decimal integers separated + by dots, each integer ranging from 0 to 255. + In case of an IPV6 address, string that + consists of groups of zero to four + hexadecimal digits, separated by colons. + type: string + format: IP + requestMethod: + description: >- + HTTP request method to be matched. To match, + the HTTP request method of the message shall + be the same as the value of this attribute. + Valid values are specified in IETF RFC 7231. + The API producer shall support this + attribute. + type: string + requestUriPattern: + description: >- + Substring to be matched in the request URI. + To match, the request URI shall include the + value of + this attribute as a substring. This is typically used to match messages which associate to RESTful + resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall + support this attribute. + type: string + dstIpAddress: + description: > + An IPV4 or IPV6 address. Representation: In + case of an IPV4 address, string that + consists of four decimal integers separated + by dots, each integer ranging from 0 to 255. + In case of an IPV6 address, string that + consists of groups of zero to four + hexadecimal digits, separated by colons. + type: string + format: IP + responseCodes: + description: >- + HTTP response codes or patterns to match. A + list of all valid HTTP response codes and + their specification documents can be + obtained from the HTTP status code registry. + In addition, if supported, the following + patterns may be used (case-insensitive): - + "1XX": for matching any kind of + informational response. - "2XX": for + matching any kind of success response. - + "3XX": for matching any kind redirection + response. - "4XX": for matching any kind of + client error response. - "5XX": for matching + any kind of server error response. + + The API producer shall support this + attribute + type: array + items: + type: string + headerField: + description: >- + Name of the header field to be matched. The + header field name shall be one of the + supported fields in a request message as + defined in clause 4.2.2 of ETSI GS NFV-SOL + 013 or in a response message as defined in + clause 4.2.3 of ETSI GS NFV-SOL 013, in + accordance with the "direction" criteria + input. The API producer may support this + attribute. + type: string + headerValue: + description: >- + Value in the header to be matched. To match, + the value in the header field indicated by + "headerField" shall be the same as in this + attribute. Shall be provided if a + "headerField" is provided. The API producer + may support this attribute. + type: string + bodyValues: + description: >- + A list of strings to be matched in the body + part of the interface message (e.g., the + body of an HTTP message). If provided, only + messages with text in the body part + containing all the values from the list + shall match the filter. In addition to a + matching filter for the body of the message, + a corresponding "headerField" filter shall + also be provided, with "headerField" set to + "Content-Type", to restrict matching to + appropriate textual payloads such as + "application/json" or "text/plain". The API + producer may support this attribute + type: string + servicesLogDetail: + description: >- + This type represents criteria for logging jobs to + collect logged messages about processes pertaining to + NFV-MANO services. It shall comply with the provisions + defined in table 8.6.3.4-1. + type: object + properties: + logGarbageCollection: + description: >- + Indicates to collect logged information about + garbage collection processes associated to + NFV-MANO services. + type: boolean + systemLogDetail: + description: >- + This type represents criteria for logging jobs to + collect logged system events of the NFV-MANO + functional entity. It shall comply with the provisions + defined in table 8.6.3.5-1. + type: object + required: + - systemLogs + - severityLevel + properties: + systemLogs: + description: > + This type represents a list of key-value pairs. + The order of the pairs in the list is not + significant. In JSON, a set of keyvalue pairs is + represented as an object. It shall comply with the + provisions defined in clause 4 of IETF RFC 8259. + In the following example, a list of key-value + pairs with four keys ("aString", "aNumber", + "anArray" and "anObject") is provided to + illustrate that the values associated with + different keys can be of different type. + type: object + severityLevelScheme: + description: >- + Identifies a severity level scheme. The default + value is "rfc5424", which represents the set of + values specified in the clause 6.2.1, table 2 of + IETF RFC 5424. Other values may be used to signal + different schemes. + type: string + severityLevel: + description: >- + The severity level, which determines the severity + of the system messages to collect. The NFV-MANO + functional entity shall collect system log + messages, as indicated by the "systemLogs" + attribute, with severity levels lower (i.e., more + severe) or equal to the value provided by this + present attribute. + type: number + jobConfig: + description: >- + This type represents configuration data for a logging job. + It shall comply with the provisions defined in table + 8.6.3.6-1. NOTE: The present document version does not + specify the support for "log compilation and reporting + based on events" as specified in clause 6.6.2.2 of ETSI GS + NFV-IFA 031. + type: object + required: + - reportingCondition + - securityConf + properties: + startTime: + description: > + Date-time stamp. Representation: String formatted + according to IETF RFC 3339. + type: string + format: date-time + endTime: + description: > + Date-time stamp. Representation: String formatted + according to IETF RFC 3339. + type: string + format: date-time + reportingCondition: + description: >- + Specifies the condition under which the producer will + report to the consumer about the compiled log data. + required: + - reportingType + properties: + reportingType: + description: >- + Specifies the type of reporting condition. + Permitted values: - REPORTING_ON_COMPILATION: the + producer shall notify the consumer once the + compilation of the + collected logging data into a file is completed and a new log report is available. + - NO_REPORTING: no reporting is requested (the + consumer can query the logging jobs to know about + the + availability of new log reports). + type: string + enum: + - REPORTING_ON_COMPILATION + - NO_REPORTING + minimumReportingPeriod: + description: >- + Specifies the minimum periodicity at which the + producer will report to the consumer about the + collected log information, in seconds. + type: integer + format: int32 + compileBySizeValue: + description: >- + An indicative size threshold for compiling the + collected log data, in bytes. It is used when the + compilation is based on the size of the collected log + data. If not present, a default value as specified + with the "defaultLogCompileBySizeValue" configuration + in the "ManoEntityConfigurableParams" shall be used + type: integer + format: int32 + compileByTimerValue: + description: >- + The periodicity threshold for compiling the filtered + log, in seconds. It is used when the compilation is + based on a timer (e.g., every 24 hours). If not + present, a default value as specified with the + "defaultLogCompileByTimerValue" configuration in the + "ManoEntityConfigurableParams" shall be used + type: integer + format: int32 + securityConf: + description: >- + Configuration about the security aspects of the + logging job. + type: object + properties: + logFileEncryption: + description: >- + Information about the encryption of the compiled + log files. Shall be present if the log file is + requested to be encrypted. + required: + - encryptionCertificate + - cipherAlgorithm + type: object + properties: + encryptionCertificate: + description: >- + X.509 certificate with the public key to use + for the encryption of the compiled log file. + type: string + cipherAlgorithm: + description: >- + Cryptographic algorithm to be used for the + encryption of the compiled log file. More than + one algorithm can be provided from higher + (lower array index) to lower (higher array + index) precedence. Valid values are: + "AES-CBC-128", "AES-GCM-128", "AES-CBC-256", + and "AES-GCM-256", as specified in clause 6.5 + of ETSI GS NFV-SEC 012 + type: array + items: + type: string + minItems: 1 + encryptAndSignOrder: + description: >- + Indication about the order in signing and + encrypting the compiled log file. Valid values + are: "encryptFirst", to apply the order "first + encrypt, then sign", and "signFirst" for the + order "first sign, then encrypt". Default + value is "encryptFirst". + type: string + logTransferSecurity: + description: >- + Information about the security measures for + retrieving/accessing the compiled log files. + type: object + properties: + publicKey: + description: >- + The public key of the API consumer used for + the client authentication with the file + server. Shall be provided if required by the + type of transfer protocol. May be omitted if + the key has been provided to the API producer + by other means, or if it has already been + provided in some previous + CreateLoggingJobRequest issued by the same API + consumer, whose public key has not changed. + type: string + logReports: + description: >- + Information about available log reports created by the + logging job. + type: array + items: + type: object + required: + - logReportId + - logReportLoc + properties: + logReportId: + description: > + An identifier with the intention of being globally + unique. + type: string + logReportLoc: + description: > + This type represents a link to a resource using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + _links: + description: Links for this resource. + type: object + required: + - self + properties: + self: + description: > + This type represents a link to a resource using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + objects: + description: >- + Links to resources representing the object instances + that are logged. Shall be present if the logged object + instance information is accessible as a resource. + type: array + items: + description: > + This type represents a link to a resource using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + '400': + description: > + 400 BAD REQUEST + + 400 code can be returned in the following specified cases, the + specific cause has to be proper specified in the "ProblemDetails" + structure to be returned. + + If the request is malformed or syntactically incorrect (e.g. if the + request URI contains incorrect query parameters or the payload body + contains a syntactically incorrect data structure), the API producer + shall respond with this response code. The "ProblemDetails" + structure shall be provided, and should include in the "detail" + attribute more information about the source of the problem. + + If the response to a GET request which queries a container resource + would be so big that the performance of the API producer is + adversely affected, and the API producer does not support paging for + the affected resource, it shall respond with this response code. The + "ProblemDetails" structure shall be provided, and should include in + the "detail" attribute more information about the source of the + problem. + + If there is an application error related to the client's input that + cannot be easily mapped to any other HTTP response code ("catch all + error"), the API producer shall respond with this response code. The + "ProblemDetails" structure shall be provided, and shall include in + the "detail" attribute more information about the source of the + problem. + + If the request contains a malformed access token, the API producer + should respond with this response. The details of the error shall be + returned in the WWW Authenticate HTTP header, as defined in IETF RFC + 6750 and IETF RFC 7235. The ProblemDetails structure may be + provided. + + The use of this HTTP error response code described above is + applicable to the use of the OAuth 2.0 for the authorization of API + requests and notifications, as defined in clauses 4.5.3.3 and + 4.5.3.4. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '401': + description: > + 401 UNAUTHORIZED + + If the request contains no access token even though one is required, + or if the request contains an authorization token that is invalid + (e.g. expired or revoked), the API producer should respond with this + response. The details of the error shall be returned in the + WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF + RFC 7235. The ProblemDetails structure may be provided. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '403': + description: > + 403 FORBIDDEN + + If the API consumer is not allowed to perform a particular request + to a particular resource, the API producer shall respond with this + response code. The "ProblemDetails" structure shall be provided. It + should include in the "detail" attribute information about the + source of the problem, and may indicate how to solve it. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '404': + description: > + 404 NOT FOUND + + If the API producer did not find a current representation for the + resource addressed by the URI passed in the request or is not + willing to disclose that one exists, it shall respond with this + response code. The "ProblemDetails" structure may be provided, + including in the "detail" attribute information about the source of + the problem, e.g. a wrong resource URI variable. + + This response code is not appropriate in case the resource addressed + by the URI is a container resource which is designed to contain + child resources, but does not contain any child resource at the time + the request is received. For a GET request to an existing empty + container resource, a typical response contains a 200 OK response + code and a payload body with an empty array. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '405': + description: > + 405 METHOD NOT ALLOWED + + If a particular HTTP method is not supported for a particular + resource, the API producer shall respond with this response code. + The "ProblemDetails" structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '406': + description: > + 406 NOT ACCEPTABLE + + If the "Accept" HTTP header does not contain at least one name of a + content type that is acceptable to the API producer, the API + producer shall respond with this response code. The "ProblemDetails" + structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '422': + description: > + 422 UNPROCESSABLE ENTITY + + If the payload body of a request contains syntactically correct data + (e.g. well-formed JSON) but the data cannot be processed (e.g. + because it fails validation against a schema), the API producer + shall respond with this response code. The "ProblemDetails" + structure shall be provided, and should include in the "detail" + attribute more information about the source of the problem. + + This error response code is only applicable for methods that have a + request body. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '500': + description: > + 500 INTERNAL SERVER ERROR + + If there is an application error not related to the client's input + that cannot be easily mapped to any other HTTP response code ("catch + all error"), the API producer shall respond with this response code. + The "ProblemDetails" structure shall be provided, and shall include + in the "detail" attribute more information about the source of the + problem. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '503': + description: > + 503 SERVICE UNAVAILABLE + + If the API producer encounters an internal overload situation of + itself or of a system it relies on, it should respond with this + response code, following the provisions in IETF RFC 7231 for the use + of the "Retry-After" HTTP header and for the alternative to refuse + the connection. The "ProblemDetails" structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '504': + description: > + 504 GATEWAY TIMEOUT + + If the API producer encounters a timeout while waiting for a + response from an upstream server (i.e. a server that the API + producer communicates with when fulfilling a request), it should + respond with this response code. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + 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 logging job. This method shall + follow the provisions specified in the tables 8.5.4.3.5-1 and + 8.5.4.3.5-2 for URI query parameters, request and response data + structures, and response codes. As the result of successfully executing + this method, the "Individual logging job" resource shall not exist any + longer + parameters: + - name: Version + description: | + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + - name: Authorization + description: | + The authorization token for the request. Reference: IETF RFC 7235. + in: header + required: false + schema: + type: string + responses: + '204': + description: >- + Shall be returned when the logging job has been 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. + schema: + type: string + Version: + description: Version of the API used in the response. + schema: + type: string + '400': + description: > + 400 BAD REQUEST + + 400 code can be returned in the following specified cases, the + specific cause has to be proper specified in the "ProblemDetails" + structure to be returned. + + If the request is malformed or syntactically incorrect (e.g. if the + request URI contains incorrect query parameters or the payload body + contains a syntactically incorrect data structure), the API producer + shall respond with this response code. The "ProblemDetails" + structure shall be provided, and should include in the "detail" + attribute more information about the source of the problem. + + If the response to a GET request which queries a container resource + would be so big that the performance of the API producer is + adversely affected, and the API producer does not support paging for + the affected resource, it shall respond with this response code. The + "ProblemDetails" structure shall be provided, and should include in + the "detail" attribute more information about the source of the + problem. + + If there is an application error related to the client's input that + cannot be easily mapped to any other HTTP response code ("catch all + error"), the API producer shall respond with this response code. The + "ProblemDetails" structure shall be provided, and shall include in + the "detail" attribute more information about the source of the + problem. + + If the request contains a malformed access token, the API producer + should respond with this response. The details of the error shall be + returned in the WWW Authenticate HTTP header, as defined in IETF RFC + 6750 and IETF RFC 7235. The ProblemDetails structure may be + provided. + + The use of this HTTP error response code described above is + applicable to the use of the OAuth 2.0 for the authorization of API + requests and notifications, as defined in clauses 4.5.3.3 and + 4.5.3.4. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '401': + description: > + 401 UNAUTHORIZED + + If the request contains no access token even though one is required, + or if the request contains an authorization token that is invalid + (e.g. expired or revoked), the API producer should respond with this + response. The details of the error shall be returned in the + WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF + RFC 7235. The ProblemDetails structure may be provided. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '403': + description: > + 403 FORBIDDEN + + If the API consumer is not allowed to perform a particular request + to a particular resource, the API producer shall respond with this + response code. The "ProblemDetails" structure shall be provided. It + should include in the "detail" attribute information about the + source of the problem, and may indicate how to solve it. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '404': + description: > + 404 NOT FOUND + + If the API producer did not find a current representation for the + resource addressed by the URI passed in the request or is not + willing to disclose that one exists, it shall respond with this + response code. The "ProblemDetails" structure may be provided, + including in the "detail" attribute information about the source of + the problem, e.g. a wrong resource URI variable. + + This response code is not appropriate in case the resource addressed + by the URI is a container resource which is designed to contain + child resources, but does not contain any child resource at the time + the request is received. For a GET request to an existing empty + container resource, a typical response contains a 200 OK response + code and a payload body with an empty array. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '405': + description: > + 405 METHOD NOT ALLOWED + + If a particular HTTP method is not supported for a particular + resource, the API producer shall respond with this response code. + The "ProblemDetails" structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '406': + description: > + 406 NOT ACCEPTABLE + + If the "Accept" HTTP header does not contain at least one name of a + content type that is acceptable to the API producer, the API + producer shall respond with this response code. The "ProblemDetails" + structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '422': + description: > + 422 UNPROCESSABLE ENTITY + + If the payload body of a request contains syntactically correct data + (e.g. well-formed JSON) but the data cannot be processed (e.g. + because it fails validation against a schema), the API producer + shall respond with this response code. The "ProblemDetails" + structure shall be provided, and should include in the "detail" + attribute more information about the source of the problem. + + This error response code is only applicable for methods that have a + request body. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '500': + description: > + 500 INTERNAL SERVER ERROR + + If there is an application error not related to the client's input + that cannot be easily mapped to any other HTTP response code ("catch + all error"), the API producer shall respond with this response code. + The "ProblemDetails" structure shall be provided, and shall include + in the "detail" attribute more information about the source of the + problem. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '503': + description: > + 503 SERVICE UNAVAILABLE + + If the API producer encounters an internal overload situation of + itself or of a system it relies on, it should respond with this + response code, following the provisions in IETF RFC 7231 for the use + of the "Retry-After" HTTP header and for the alternative to refuse + the connection. The "ProblemDetails" structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '504': + description: > + 504 GATEWAY TIMEOUT + + If the API producer encounters a timeout while waiting for a + response from an upstream server (i.e. a server that the API + producer communicates with when fulfilling a request), it should + respond with this response code. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '/log_jobs/{logJobId}/log_reports/{logReportId}': + description: "This resource represents an individual log report. The API consumer can use this resource to read information about a log report. The log report provides metadata information about a log and location information of the log file from where it can be obtained. NOTE:\tThe present document does not specify the mechanism how to retrieve the log files." + parameters: + - name: logJobId + in: path + description: Identifier of the logging job. + required: true + schema: + description: | + An identifier with the intention of being globally unique. + type: string + - name: logReportId + in: path + description: Identifier of the report. + required: true + schema: + description: | + An identifier with the intention of being globally unique. + type: string + get: + description: >- + The API consumer can use this method for reading an individual log + report. This method shall follow the provisions specified in the tables + 8.5.5.3.2-1 and 8.5.5.3.2-2 for URI query parameters, request and + response data structures, and response codes. + parameters: + - name: Version + description: | + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + - name: Accept + description: > + Content-Types that are acceptable for the response. Reference: IETF + RFC 7231. + in: header + required: true + schema: + type: string + - name: Authorization + description: | + The authorization token for the request. Reference: IETF RFC 7235. + in: header + required: false + schema: + type: string + responses: + '200': + description: >- + Shall be returned when information of an individual log report has + been read successfully. The response body shall contain a + representation of the "Individual log report" resource, as defined + in clause 8.6.2.7. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + description: > + This type represents a log report, which provides information + about a compiled log and how to obtain it. It shall comply + with the provisions defined in table 8.6.2.7-1. + type: object + required: + - id + - objectInstanceId + - compilationTrigger + - readyTime + - fileFormat + - fileLocationInfo + - securityAndIntegrityInfo + - _links + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + objectInstanceId: + description: > + This type represents the identifier to reference a managed + object of a particular type. + type: object + properties: + type: + description: > + Indicates the type of managed object. Permitted + values: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + + The "MANO_ENTITY COMPONENT" is only applicable if + attribute "manoEntityComponents" in "ManoEntity" is + supported by the API producer. + type: string + enum: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + objectId: + description: > + An identifier with the intention of being globally + unique. + type: string + subObjectId: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need not + be globally unique. Representation: string of variable + length.. + type: string + required: + - type + - objectId + compilationTrigger: + description: >- + The trigger for the compilation of the log file. + + Permitted values: - ON_DEMAND: created based on explicit + request by a client. - AUTOMATIC: created according to the + logging job compilation configuration. + type: string + enum: + - ON_DEMAND + - AUTOMATIC + readyTime: + description: > + Date-time stamp. Representation: String formatted + according to IETF RFC 3339. + type: string + format: date-time + expiryTime: + description: > + Date-time stamp. Representation: String formatted + according to IETF RFC 3339. + type: string + format: date-time + fileSize: + description: 'The size of the compiled log file in bytes, if known.' + type: integer + format: int32 + fileFormat: + description: The encoding used by the file. + type: string + fileLocationInfo: + description: >- + Location and address information of the compiled log file. + The consumer can use this information to obtain the + compiled log file. + type: object + required: + - protocol + - fileEndpoint + properties: + protocol: + description: >- + Protocol over which the compiled log file can be + retrieved. + + Permitted values: - HTTPS: transmission over HTTP + Secure (HTTPS). - SFTP: transmission over SSH file + transfer protocol (SFTP). - SCP: transmission over + secure copy protocol (SCP). - FTPS: transmission over + file transfer protocol secure (FTPS), as specified in + IETF RFC 2228 [i.11], + using explicit mode as specified in IETF RFC 4217 [i.12]. If FTPS is supported, "private" protection level shall be used. + + HTTPS shall be supported, and other protocols may be + supported. + type: string + enum: + - HTTPS + - SFTP + - SCP + - FTPS + fileEndpoint: + description: >- + The host name (or IP address), optionally a port + number (if the host with the compile log file uses a + non-standard port number as per the supported + transmission protocol), a valid file directory path, + and the file name of the compiled log file, or a valid + URL. + type: string + format: URI + securityAndIntegrityInfo: + description: >- + Security and integrity information for the compilation of + the log files. + type: object + required: + - algorithm + - hash + - logFileSignature + - signingCertificate + properties: + algorithm: + description: >- + Algorithm used to generate the hash of the compiled + log file. Only SHA-256 and SHA-512 shall be used + type: string + hash: + description: >- + The hexadecimal value of the hash of the compiled log + file. The hash shall be computed from the encrypted + compiled log file, in case the encryption applies. + type: string + encryptionPublicKey: + description: >- + Public key used for the encryption of the compiled log + file. Shall be present if the compiled log file is + encrypted. + type: string + cipherAlgorithm: + description: >- + The cryptographic algorithm used for the encryption. + Shall be present if the compiled log file is + encrypted. Valid values are: "AES-CBC-128", + "AES-GCM-128", "AES-CBC-256", and "AES-GCM-256", as + specified in clause 6.5 of ETSI GS NFV-SEC 012 [14]. + type: string + logFileSignature: + description: >- + Signature to the compiled log file generated with the + NFV-MANO functional entity’s private key, which is + used to ensure the authenticity of the compiled log + file. The signature shall be applied according to the + "encryptAndSignOrder" of the "LoggingJobConfig". + type: string + signingCertificate: + description: >- + X.509 certificate with the NFV-MANO functional + entity’s public key used for verifying the log report + and compiled log file signatures. + type: string + _links: + description: Links for this resource. + type: object + required: + - self + properties: + self: + description: > + This type represents a link to a resource using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + objects: + description: >- + Links to resources representing the object instances + that are logged. Shall be present if the logged object + instance information is accessible as a resource. + type: array + items: + description: > + This type represents a link to a resource using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + '202': + description: >- + Shall be returned if the creation of the log report is ongoing and + no log report is available yet (applicable in asynchronous mode of + the "Compile log task" resource). The response body shall be empty. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + '400': + description: > + 400 BAD REQUEST + + 400 code can be returned in the following specified cases, the + specific cause has to be proper specified in the "ProblemDetails" + structure to be returned. + + If the request is malformed or syntactically incorrect (e.g. if the + request URI contains incorrect query parameters or the payload body + contains a syntactically incorrect data structure), the API producer + shall respond with this response code. The "ProblemDetails" + structure shall be provided, and should include in the "detail" + attribute more information about the source of the problem. + + If the response to a GET request which queries a container resource + would be so big that the performance of the API producer is + adversely affected, and the API producer does not support paging for + the affected resource, it shall respond with this response code. The + "ProblemDetails" structure shall be provided, and should include in + the "detail" attribute more information about the source of the + problem. + + If there is an application error related to the client's input that + cannot be easily mapped to any other HTTP response code ("catch all + error"), the API producer shall respond with this response code. The + "ProblemDetails" structure shall be provided, and shall include in + the "detail" attribute more information about the source of the + problem. + + If the request contains a malformed access token, the API producer + should respond with this response. The details of the error shall be + returned in the WWW Authenticate HTTP header, as defined in IETF RFC + 6750 and IETF RFC 7235. The ProblemDetails structure may be + provided. + + The use of this HTTP error response code described above is + applicable to the use of the OAuth 2.0 for the authorization of API + requests and notifications, as defined in clauses 4.5.3.3 and + 4.5.3.4. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '401': + description: > + 401 UNAUTHORIZED + + If the request contains no access token even though one is required, + or if the request contains an authorization token that is invalid + (e.g. expired or revoked), the API producer should respond with this + response. The details of the error shall be returned in the + WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF + RFC 7235. The ProblemDetails structure may be provided. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '403': + description: > + 403 FORBIDDEN + + If the API consumer is not allowed to perform a particular request + to a particular resource, the API producer shall respond with this + response code. The "ProblemDetails" structure shall be provided. It + should include in the "detail" attribute information about the + source of the problem, and may indicate how to solve it. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '404': + description: > + 404 NOT FOUND + + If the API producer did not find a current representation for the + resource addressed by the URI passed in the request or is not + willing to disclose that one exists, it shall respond with this + response code. The "ProblemDetails" structure may be provided, + including in the "detail" attribute information about the source of + the problem, e.g. a wrong resource URI variable. + + This response code is not appropriate in case the resource addressed + by the URI is a container resource which is designed to contain + child resources, but does not contain any child resource at the time + the request is received. For a GET request to an existing empty + container resource, a typical response contains a 200 OK response + code and a payload body with an empty array. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '405': + description: > + 405 METHOD NOT ALLOWED + + If a particular HTTP method is not supported for a particular + resource, the API producer shall respond with this response code. + The "ProblemDetails" structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '406': + description: > + 406 NOT ACCEPTABLE + + If the "Accept" HTTP header does not contain at least one name of a + content type that is acceptable to the API producer, the API + producer shall respond with this response code. The "ProblemDetails" + structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '422': + description: > + 422 UNPROCESSABLE ENTITY + + If the payload body of a request contains syntactically correct data + (e.g. well-formed JSON) but the data cannot be processed (e.g. + because it fails validation against a schema), the API producer + shall respond with this response code. The "ProblemDetails" + structure shall be provided, and should include in the "detail" + attribute more information about the source of the problem. + + This error response code is only applicable for methods that have a + request body. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '500': + description: > + 500 INTERNAL SERVER ERROR + + If there is an application error not related to the client's input + that cannot be easily mapped to any other HTTP response code ("catch + all error"), the API producer shall respond with this response code. + The "ProblemDetails" structure shall be provided, and shall include + in the "detail" attribute more information about the source of the + problem. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '503': + description: > + 503 SERVICE UNAVAILABLE + + If the API producer encounters an internal overload situation of + itself or of a system it relies on, it should respond with this + response code, following the provisions in IETF RFC 7231 for the use + of the "Retry-After" HTTP header and for the alternative to refuse + the connection. The "ProblemDetails" structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '504': + description: > + 504 GATEWAY TIMEOUT + + If the API producer encounters a timeout while waiting for a + response from an upstream server (i.e. a server that the API + producer communicates with when fulfilling a request), it should + respond with this response code. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '/log_jobs/{logJobId}/compile_log': + description: >- + This resource represents the "Compile log" operation. The API consumer can + use this resource to request compiling the logged data, collected via a + logging job, into a file and creating the associated log report. As the + result of successfully processing this request, a new "Individual log + report" resource shall be created. Two modes of operation, synchronous or + asynchronous, can take place depending on whether the NFV-MANO functional + entity can compile the log data and create the log report immediately. In + the synchronous case, which is indicated by responding with "201 Created", + the resource shall be created before the "201 Created" response is + returned. In the asynchronous case, which is indicated by responding with + "202 Accepted", the resource may be created after the response is + returned. + parameters: + - name: logJobId + in: path + description: Identifier of the logging job. + required: true + schema: + description: | + An identifier with the intention of being globally unique. + type: string + post: + description: >- + The POST method requests to compile the logged data into a file and + create an associated log report. This method shall follow the provisions + specified in the tables 8.5.6.3.1-1 and 8.5.6.3.1-2 for URI query + parameters, request and response data structures, and response codes. + parameters: + - name: Version + description: | + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + - name: Accept + description: > + Content-Types that are acceptable for the response. Reference: IETF + RFC 7231. + in: header + required: true + schema: + type: string + - name: Content-Type + description: | + The MIME type of the body of the request. Reference: IETF RFC 7231 + in: header + required: true + schema: + type: string + - name: Authorization + description: | + The authorization token for the request. Reference: IETF RFC 7235. + in: header + required: false + schema: + type: string + requestBody: + description: Log compilation request. + content: + application/json: + schema: + description: > + This type represents a request to compile the logged data + associated to an object instance. It shall comply with the + provisions defined in table 8.6.2.8-1. + type: object + properties: + objectInstanceId: + description: > + This type represents the identifier to reference a managed + object of a particular type. + type: object + properties: + type: + description: > + Indicates the type of managed object. Permitted values: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + + The "MANO_ENTITY COMPONENT" is only applicable if + attribute "manoEntityComponents" in "ManoEntity" is + supported by the API producer. + type: string + enum: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + objectId: + description: > + An identifier with the intention of being globally + unique. + type: string + subObjectId: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need not + be globally unique. Representation: string of variable + length.. + type: string + required: + - type + - objectId + required: true + responses: + '200': + description: >- + Shall be returned for a successful compilation of the log data and + creation of the associated log report (synchronous mode). The + response body shall contain a representation of the log report + resource, as defined in clause 8.6.2.7. The HTTP response shall + include a "Location" HTTP header that indicate the URI of the + "Individual log report" resource just created + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + Location: + description: | + URI of the "Individual log report" resource just created + schema: + type: string + content: + application/json: + schema: + description: > + This type represents a log report, which provides information + about a compiled log and how to obtain it. It shall comply + with the provisions defined in table 8.6.2.7-1. + type: object + required: + - id + - objectInstanceId + - compilationTrigger + - readyTime + - fileFormat + - fileLocationInfo + - securityAndIntegrityInfo + - _links + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + objectInstanceId: + description: > + This type represents the identifier to reference a managed + object of a particular type. + type: object + properties: + type: + description: > + Indicates the type of managed object. Permitted + values: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + + The "MANO_ENTITY COMPONENT" is only applicable if + attribute "manoEntityComponents" in "ManoEntity" is + supported by the API producer. + type: string + enum: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + objectId: + description: > + An identifier with the intention of being globally + unique. + type: string + subObjectId: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need not + be globally unique. Representation: string of variable + length.. + type: string + required: + - type + - objectId + compilationTrigger: + description: >- + The trigger for the compilation of the log file. + + Permitted values: - ON_DEMAND: created based on explicit + request by a client. - AUTOMATIC: created according to the + logging job compilation configuration. + type: string + enum: + - ON_DEMAND + - AUTOMATIC + readyTime: + description: > + Date-time stamp. Representation: String formatted + according to IETF RFC 3339. + type: string + format: date-time + expiryTime: + description: > + Date-time stamp. Representation: String formatted + according to IETF RFC 3339. + type: string + format: date-time + fileSize: + description: 'The size of the compiled log file in bytes, if known.' + type: integer + format: int32 + fileFormat: + description: The encoding used by the file. + type: string + fileLocationInfo: + description: >- + Location and address information of the compiled log file. + The consumer can use this information to obtain the + compiled log file. + type: object + required: + - protocol + - fileEndpoint + properties: + protocol: + description: >- + Protocol over which the compiled log file can be + retrieved. + + Permitted values: - HTTPS: transmission over HTTP + Secure (HTTPS). - SFTP: transmission over SSH file + transfer protocol (SFTP). - SCP: transmission over + secure copy protocol (SCP). - FTPS: transmission over + file transfer protocol secure (FTPS), as specified in + IETF RFC 2228 [i.11], + using explicit mode as specified in IETF RFC 4217 [i.12]. If FTPS is supported, "private" protection level shall be used. + + HTTPS shall be supported, and other protocols may be + supported. + type: string + enum: + - HTTPS + - SFTP + - SCP + - FTPS + fileEndpoint: + description: >- + The host name (or IP address), optionally a port + number (if the host with the compile log file uses a + non-standard port number as per the supported + transmission protocol), a valid file directory path, + and the file name of the compiled log file, or a valid + URL. + type: string + format: URI + securityAndIntegrityInfo: + description: >- + Security and integrity information for the compilation of + the log files. + type: object + required: + - algorithm + - hash + - logFileSignature + - signingCertificate + properties: + algorithm: + description: >- + Algorithm used to generate the hash of the compiled + log file. Only SHA-256 and SHA-512 shall be used + type: string + hash: + description: >- + The hexadecimal value of the hash of the compiled log + file. The hash shall be computed from the encrypted + compiled log file, in case the encryption applies. + type: string + encryptionPublicKey: + description: >- + Public key used for the encryption of the compiled log + file. Shall be present if the compiled log file is + encrypted. + type: string + cipherAlgorithm: + description: >- + The cryptographic algorithm used for the encryption. + Shall be present if the compiled log file is + encrypted. Valid values are: "AES-CBC-128", + "AES-GCM-128", "AES-CBC-256", and "AES-GCM-256", as + specified in clause 6.5 of ETSI GS NFV-SEC 012 [14]. + type: string + logFileSignature: + description: >- + Signature to the compiled log file generated with the + NFV-MANO functional entity’s private key, which is + used to ensure the authenticity of the compiled log + file. The signature shall be applied according to the + "encryptAndSignOrder" of the "LoggingJobConfig". + type: string + signingCertificate: + description: >- + X.509 certificate with the NFV-MANO functional + entity’s public key used for verifying the log report + and compiled log file signatures. + type: string + _links: + description: Links for this resource. + type: object + required: + - self + properties: + self: + description: > + This type represents a link to a resource using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + objects: + description: >- + Links to resources representing the object instances + that are logged. Shall be present if the logged object + instance information is accessible as a resource. + type: array + items: + description: > + This type represents a link to a resource using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + '202': + description: >- + Shall be returned when the request has been accepted for processing, + and it is expected to take some time to compile the log file and + create the associated log report (asynchronous mode). The response + body shall be empty. The HTTP response shall include a "Location" + HTTP header that indicates the URI of the "Individual log report" + resource that will be created once the log file compilation is + completed. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + Location: + description: > + The URI of the "Individual log report" resource that will be + created once the log file compilation is completed. + schema: + type: string + '303': + description: >- + Shall be returned when a log data compilation and report creation is + already ongoing, or a log report has just been created, for the + specified logging job at the time of processing the request. The + response body shall be empty. The HTTP response shall include a + "Location" HTTP header that contains the resource URI of the log + report resource just created, or to be created by the ongoing + compilation and report creation. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + Location: + description: > + The URI of the log report resource just created, or to be + created by the ongoing compilation and report creation + schema: + type: string + '400': + description: > + 400 BAD REQUEST + + 400 code can be returned in the following specified cases, the + specific cause has to be proper specified in the "ProblemDetails" + structure to be returned. + + If the request is malformed or syntactically incorrect (e.g. if the + request URI contains incorrect query parameters or the payload body + contains a syntactically incorrect data structure), the API producer + shall respond with this response code. The "ProblemDetails" + structure shall be provided, and should include in the "detail" + attribute more information about the source of the problem. + + If the response to a GET request which queries a container resource + would be so big that the performance of the API producer is + adversely affected, and the API producer does not support paging for + the affected resource, it shall respond with this response code. The + "ProblemDetails" structure shall be provided, and should include in + the "detail" attribute more information about the source of the + problem. + + If there is an application error related to the client's input that + cannot be easily mapped to any other HTTP response code ("catch all + error"), the API producer shall respond with this response code. The + "ProblemDetails" structure shall be provided, and shall include in + the "detail" attribute more information about the source of the + problem. + + If the request contains a malformed access token, the API producer + should respond with this response. The details of the error shall be + returned in the WWW Authenticate HTTP header, as defined in IETF RFC + 6750 and IETF RFC 7235. The ProblemDetails structure may be + provided. + + The use of this HTTP error response code described above is + applicable to the use of the OAuth 2.0 for the authorization of API + requests and notifications, as defined in clauses 4.5.3.3 and + 4.5.3.4. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '401': + description: > + 401 UNAUTHORIZED + + If the request contains no access token even though one is required, + or if the request contains an authorization token that is invalid + (e.g. expired or revoked), the API producer should respond with this + response. The details of the error shall be returned in the + WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF + RFC 7235. The ProblemDetails structure may be provided. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '403': + description: > + 403 FORBIDDEN + + If the API consumer is not allowed to perform a particular request + to a particular resource, the API producer shall respond with this + response code. The "ProblemDetails" structure shall be provided. It + should include in the "detail" attribute information about the + source of the problem, and may indicate how to solve it. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '404': + description: > + 404 NOT FOUND + + If the API producer did not find a current representation for the + resource addressed by the URI passed in the request or is not + willing to disclose that one exists, it shall respond with this + response code. The "ProblemDetails" structure may be provided, + including in the "detail" attribute information about the source of + the problem, e.g. a wrong resource URI variable. + + This response code is not appropriate in case the resource addressed + by the URI is a container resource which is designed to contain + child resources, but does not contain any child resource at the time + the request is received. For a GET request to an existing empty + container resource, a typical response contains a 200 OK response + code and a payload body with an empty array. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '405': + description: > + 405 METHOD NOT ALLOWED + + If a particular HTTP method is not supported for a particular + resource, the API producer shall respond with this response code. + The "ProblemDetails" structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '406': + description: > + 406 NOT ACCEPTABLE + + If the "Accept" HTTP header does not contain at least one name of a + content type that is acceptable to the API producer, the API + producer shall respond with this response code. The "ProblemDetails" + structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + 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: >- + The general cause for this error and its handling is specified in + clause 6.4 of ETSI GS NFV-SOL 013, including rules for the presence + of the response body. Specifically, in case of this task resource, + the response code 422 shall also be returned if the + "objectInstanceId" value provided in the payload body of the request + does not correspond to an object instance for which log data is + being collected by the logging job represented by this resource. 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. + schema: + type: string + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '500': + description: > + 500 INTERNAL SERVER ERROR + + If there is an application error not related to the client's input + that cannot be easily mapped to any other HTTP response code ("catch + all error"), the API producer shall respond with this response code. + The "ProblemDetails" structure shall be provided, and shall include + in the "detail" attribute more information about the source of the + problem. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '503': + description: > + 503 SERVICE UNAVAILABLE + + If the API producer encounters an internal overload situation of + itself or of a system it relies on, it should respond with this + response code, following the provisions in IETF RFC 7231 for the use + of the "Retry-After" HTTP header and for the alternative to refuse + the connection. The "ProblemDetails" structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '504': + description: > + 504 GATEWAY TIMEOUT + + If the API producer encounters a timeout while waiting for a + response from an upstream server (i.e. a server that the API + producer communicates with when fulfilling a request), it should + respond with this response code. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + 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: + description: >- + This resource represents subscriptions. The client can use this resource + to subscribe to notifications related to NFV-MANO performance management + and to query its subscriptions. + post: + description: >- + The POST method creates a new subscription. This method shall follow the + provisions specified in the tables 8.5.7.3.1-1 and 8.5.7.3.1-2 for URI + query + parameters, request and response data structures, and response codes. + As the result of successfully executing this method, a new "Individual + subscription" resource as defined in clause 8.5.8 shall have been + created. This method shall not trigger any notification. Creation of two + "Individual subscription" resources with the same callbackURI and the + same filter can result in performance degradation and will provide + duplicates of notifications to the API consumer, and might make sense + only in very rare use cases. Consequently, the NFV-MANO functional + entity may either allow creating a new "Individual subscription" + resource if another "Individual 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 + "Individual subscription" resource (in which case it shall return a "303 + See Other" response code referencing the existing "Individual + subscription" resource with the same filter and callbackUri). + parameters: + - name: Version + description: | + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + - name: Accept + description: > + Content-Types that are acceptable for the response. Reference: IETF + RFC 7231. + in: header + required: true + schema: + type: string + - name: Content-Type + description: | + The MIME type of the body of the request. Reference: IETF RFC 7231 + in: header + required: true + schema: + type: string + - name: Authorization + description: | + The authorization token for the request. Reference: IETF RFC 7235. + in: header + required: false + schema: + type: string + requestBody: + description: Details of the subscription to be created + content: + application/json: + schema: + description: >- + Information on application context created by the MEC system + type: object + required: + - callbackUri + type: object + properties: + filter: + description: >- + This type represents a filter that can be used to subscribe + for notifications related to log management events. It shall + comply with the provisions defined in table 8.6.3.7-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). + type: object + properties: + objectInstanceFilter: + description: >- + This type represents subscription filter criteria to + match NFV-MANO functional entities and their associated + managed objects. It shall comply with the provisions + defined in Table 4.3.2.2-1. + type: object + anyOf: + - oneOf: + - required: + - manoServiceIds + - required: + - manoServiceNames + - oneOf: + - required: + - manoServiceInterfaceIds + - required: + - manoServiceInterfaceNames + - oneOf: + - required: + - consumedManoInterfaceIds + - required: + - consumedManoInterfaceNames + properties: + manoEntityId: + description: > + An identifier with the intention of being globally + unique. + type: string + manoServiceIds: + description: >- + If present, match NFV-MANO services with an instance + identifier listed in this attribute. + type: array + items: + description: > + An identifier that is unique for the respective + type within a NFV-MANO functional entity, but that + need not be globally unique. Representation: + string of variable length.. + type: string + manoServiceNames: + description: >- + If present, match NFV-MANO services with an NFV-MANO + service name listed in this attribute. + type: array + items: + type: string + manoServiceInterfaceIds: + description: >- + If present, match NFV-MANO functional entity + produced interfaces with an instance identifier + listed in this attribute. + type: array + items: + description: > + An identifier that is unique for the respective + type within a NFV-MANO functional entity, but that + need not be globally unique. Representation: + string of variable length.. + type: string + manoServiceInterfaceNames: + description: >- + If present, match NFV-MANO functional entity + produced interfaces with an instance Name listed in + this attribute. + type: array + items: + type: string + consumedManoInterfaceIds: + description: >- + If present, match NFV-MANO functional entity + consumed interfaces with an instance identifier + listed in this attribute. + type: array + items: + description: > + An identifier with the intention of being globally + unique. + type: string + consumedManoInterfaceNames: + description: >- + If present, match NFV-MANO functional entity + consumed interfaces with an instance Name listed in + this attribute. + type: array + items: + type: string + notificationTypes: + description: >- + Match particular notification types. Permitted values: - + LogReportAvailableNotification + type: string + enum: + - LogReportAvailableNotification + 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: >- + Shall be returned when the subscription has been created + successfully. A representation of the created "Individual + subscription" resource shall be returned in the response body, as + defined in clause 8.6.2.3. The HTTP response shall include a + "Location" HTTP header that contains the resource URI of the created + "Individual subscription" resource. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + Location: + description: | + URI of the "Individual log report" resource just created + schema: + type: string + content: + application/json: + schema: + description: >- + This type represents a subscription. It shall comply with the + provisions defined in table 8.6.2.3-1. + 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 filter that can be used to + subscribe for notifications related to log management + events. It shall comply with the provisions defined in + table 8.6.3.7-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). + type: object + properties: + objectInstanceFilter: + description: >- + This type represents subscription filter criteria to + match NFV-MANO functional entities and their + associated managed objects. It shall comply with the + provisions defined in Table 4.3.2.2-1. + type: object + anyOf: + - oneOf: + - required: + - manoServiceIds + - required: + - manoServiceNames + - oneOf: + - required: + - manoServiceInterfaceIds + - required: + - manoServiceInterfaceNames + - oneOf: + - required: + - consumedManoInterfaceIds + - required: + - consumedManoInterfaceNames + properties: + manoEntityId: + description: > + An identifier with the intention of being globally + unique. + type: string + manoServiceIds: + description: >- + If present, match NFV-MANO services with an + instance identifier listed in this attribute. + type: array + items: + description: > + An identifier that is unique for the respective + type within a NFV-MANO functional entity, but + that need not be globally unique. + Representation: string of variable length.. + type: string + manoServiceNames: + description: >- + If present, match NFV-MANO services with an + NFV-MANO service name listed in this attribute. + type: array + items: + type: string + manoServiceInterfaceIds: + description: >- + If present, match NFV-MANO functional entity + produced interfaces with an instance identifier + listed in this attribute. + type: array + items: + description: > + An identifier that is unique for the respective + type within a NFV-MANO functional entity, but + that need not be globally unique. + Representation: string of variable length.. + type: string + manoServiceInterfaceNames: + description: >- + If present, match NFV-MANO functional entity + produced interfaces with an instance Name listed + in this attribute. + type: array + items: + type: string + consumedManoInterfaceIds: + description: >- + If present, match NFV-MANO functional entity + consumed interfaces with an instance identifier + listed in this attribute. + type: array + items: + description: > + An identifier with the intention of being + globally unique. + type: string + consumedManoInterfaceNames: + description: >- + If present, match NFV-MANO functional entity + consumed interfaces with an instance Name listed + in this attribute. + type: array + items: + type: string + notificationTypes: + description: >- + Match particular notification types. Permitted values: + - LogReportAvailableNotification + type: string + enum: + - LogReportAvailableNotification + 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 using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + '303': + description: >- + Shall be returned when a subscription with the same callbackURI and + the same filter already exists and the policy of the NFV-MANO + functional entity is to not create redundant subscriptions. The HTTP + response shall include a "Location" HTTP header that contains the + resource URI of the existing "Individual subscription" resource. The + response body shall be empty. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + Location: + description: | + URI of the "Individual log report" resource just created + schema: + type: string + '400': + description: > + 400 BAD REQUEST + + 400 code can be returned in the following specified cases, the + specific cause has to be proper specified in the "ProblemDetails" + structure to be returned. + + If the request is malformed or syntactically incorrect (e.g. if the + request URI contains incorrect query parameters or the payload body + contains a syntactically incorrect data structure), the API producer + shall respond with this response code. The "ProblemDetails" + structure shall be provided, and should include in the "detail" + attribute more information about the source of the problem. + + If the response to a GET request which queries a container resource + would be so big that the performance of the API producer is + adversely affected, and the API producer does not support paging for + the affected resource, it shall respond with this response code. The + "ProblemDetails" structure shall be provided, and should include in + the "detail" attribute more information about the source of the + problem. + + If there is an application error related to the client's input that + cannot be easily mapped to any other HTTP response code ("catch all + error"), the API producer shall respond with this response code. The + "ProblemDetails" structure shall be provided, and shall include in + the "detail" attribute more information about the source of the + problem. + + If the request contains a malformed access token, the API producer + should respond with this response. The details of the error shall be + returned in the WWW Authenticate HTTP header, as defined in IETF RFC + 6750 and IETF RFC 7235. The ProblemDetails structure may be + provided. + + The use of this HTTP error response code described above is + applicable to the use of the OAuth 2.0 for the authorization of API + requests and notifications, as defined in clauses 4.5.3.3 and + 4.5.3.4. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '401': + description: > + 401 UNAUTHORIZED + + If the request contains no access token even though one is required, + or if the request contains an authorization token that is invalid + (e.g. expired or revoked), the API producer should respond with this + response. The details of the error shall be returned in the + WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF + RFC 7235. The ProblemDetails structure may be provided. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '403': + description: > + 403 FORBIDDEN + + If the API consumer is not allowed to perform a particular request + to a particular resource, the API producer shall respond with this + response code. The "ProblemDetails" structure shall be provided. It + should include in the "detail" attribute information about the + source of the problem, and may indicate how to solve it. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '404': + description: > + 404 NOT FOUND + + If the API producer did not find a current representation for the + resource addressed by the URI passed in the request or is not + willing to disclose that one exists, it shall respond with this + response code. The "ProblemDetails" structure may be provided, + including in the "detail" attribute information about the source of + the problem, e.g. a wrong resource URI variable. + + This response code is not appropriate in case the resource addressed + by the URI is a container resource which is designed to contain + child resources, but does not contain any child resource at the time + the request is received. For a GET request to an existing empty + container resource, a typical response contains a 200 OK response + code and a payload body with an empty array. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '405': + description: > + 405 METHOD NOT ALLOWED + + If a particular HTTP method is not supported for a particular + resource, the API producer shall respond with this response code. + The "ProblemDetails" structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '406': + description: > + 406 NOT ACCEPTABLE + + If the "Accept" HTTP header does not contain at least one name of a + content type that is acceptable to the API producer, the API + producer shall respond with this response code. The "ProblemDetails" + structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '422': + description: > + 422 UNPROCESSABLE ENTITY + + If the payload body of a request contains syntactically correct data + (e.g. well-formed JSON) but the data cannot be processed (e.g. + because it fails validation against a schema), the API producer + shall respond with this response code. The "ProblemDetails" + structure shall be provided, and should include in the "detail" + attribute more information about the source of the problem. + + This error response code is only applicable for methods that have a + request body. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '500': + description: > + 500 INTERNAL SERVER ERROR + + If there is an application error not related to the client's input + that cannot be easily mapped to any other HTTP response code ("catch + all error"), the API producer shall respond with this response code. + The "ProblemDetails" structure shall be provided, and shall include + in the "detail" attribute more information about the source of the + problem. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '503': + description: > + 503 SERVICE UNAVAILABLE + + If the API producer encounters an internal overload situation of + itself or of a system it relies on, it should respond with this + response code, following the provisions in IETF RFC 7231 for the use + of the "Retry-After" HTTP header and for the alternative to refuse + the connection. The "ProblemDetails" structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '504': + description: > + 504 GATEWAY TIMEOUT + + If the API producer encounters a timeout while waiting for a + response from an upstream server (i.e. a server that the API + producer communicates with when fulfilling a request), it should + respond with this response code. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + callbacks: + LogReportAvailableNotification: + '{$request.body#/callbackUri}': + description: >- + This resource represents a notification endpoint for NFV-MANO log + management. The API producer can use this resource to send + notifications related to log management events to a subscribed API + consumer, which has provided the URI of this resource during the + subscription process. + post: + description: >- + The POST method delivers a notification regarding a log + management event from the API producer to the API consumer. The + API consumer shall have previously created an "Individual + subscription" resource with a matching filter. This method shall + follow the provisions specified in the tables 8.5.9.3.1-1 and + 8.5.9.3.1-2 for URI query parameters, request and response data + structures, and response codes. + parameters: + - name: Version + description: > + Version of the API requested to use when responding to this + request. + in: header + required: true + schema: + type: string + - name: Authorization + description: > + The authorization token for the request. Reference: IETF RFC + 7235. + in: header + required: false + schema: + type: string + requestBody: + description: Notification about the availability of a log report. + content: + application/json: + schema: + description: >- + This notification informs the receiver that the log + report of the NFV-MANO functional entity is available. + It shall comply with the provisions defined in table + 8.6.2.4-1. The notification shall be triggered by the + NFV-MANO functional entity when log information has been + collected by the logging job and the log report is + available. + type: object + required: + - id + - notificationType + - subscriptionId + - timeStamp + - objectInstanceId + - _links + properties: + id: + description: > + An identifier with the intention of being globally + unique. + type: string + notificationType: + description: >- + Discriminator for the different notification types. + Shall be set to "LogReportAvailableNotification" for + this notification type. + type: string + subscriptionId: + description: > + An identifier with the intention of being globally + unique. + type: string + timeStamp: + description: > + Date-time stamp. Representation: String formatted + according to IETF RFC 3339. + type: string + format: date-time + objectInstanceId: + description: > + This type represents the identifier to reference a + managed object of a particular type. + type: object + properties: + type: + description: > + Indicates the type of managed object. Permitted + values: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + + The "MANO_ENTITY COMPONENT" is only applicable + if attribute "manoEntityComponents" in + "ManoEntity" is supported by the API producer. + type: string + enum: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + objectId: + description: > + An identifier with the intention of being + globally unique. + type: string + subObjectId: + description: > + An identifier that is unique for the respective + type within a NFV-MANO functional entity, but + that need not be globally unique. + Representation: string of variable length.. + type: string + required: + - type + - objectId + _links: + description: Links to resources related to this notification. + type: object + required: + - subscription + - logReports + properties: + subscription: + description: > + This type represents a link to a resource in a + notification, using an absolute or relative URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + objectInstance: + description: > + This type represents a link to a resource in a + notification, using an absolute or relative URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + LoggingJob: + description: > + This type represents a link to a resource in a + notification, using an absolute or relative URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + logReports: + description: >- + Link from which the available log report can be + obtained. Due to the relationship of the logging + job compilation and the logging information + availability reporting, more than one logReport + notification link can be provided. + type: array + items: + description: > + This type represents a link to a resource in a + notification, using an absolute or relative + URI. + type: object + required: + - href + properties: + href: + description: > + String formatted according to IETF RFC + 3986. + type: string + responses: + '204': + description: >- + Shall be returned when the notification has been delivered + successfully. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not + provided authorization, or error details if the + corresponding HTTP request has provided an invalid + authorization token. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + '400': + description: > + 400 BAD REQUEST + + 400 code can be returned in the following specified cases, + the specific cause has to be proper specified in the + "ProblemDetails" structure to be returned. + + If the request is malformed or syntactically incorrect (e.g. + if the request URI contains incorrect query parameters or + the payload body contains a syntactically incorrect data + structure), the API producer shall respond with this + response code. The "ProblemDetails" structure shall be + provided, and should include in the "detail" attribute more + information about the source of the problem. + + If the response to a GET request which queries a container + resource would be so big that the performance of the API + producer is adversely affected, and the API producer does + not support paging for the affected resource, it shall + respond with this response code. The "ProblemDetails" + structure shall be provided, and should include in the + "detail" attribute more information about the source of the + problem. + + If there is an application error related to the client's + input that cannot be easily mapped to any other HTTP + response code ("catch all error"), the API producer shall + respond with this response code. The "ProblemDetails" + structure shall be provided, and shall include in the + "detail" attribute more information about the source of the + problem. + + If the request contains a malformed access token, the API + producer should respond with this response. The details of + the error shall be returned in the WWW Authenticate HTTP + header, as defined in IETF RFC 6750 and IETF RFC 7235. The + ProblemDetails structure may be provided. + + The use of this HTTP error response code described above is + applicable to the use of the OAuth 2.0 for the authorization + of API requests and notifications, as defined in clauses + 4.5.3.3 and 4.5.3.4. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not + provided authorization, or error details if the + corresponding HTTP request has provided an invalid + authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data + structure from IETF RFC 7807 [19] is reproduced inthis + structure. Compared to the general framework defined + in IETF RFC 7807 [19], the "status" and "detail" + attributes are mandated to be included by the present + document, to ensure that the response contains + additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the + "ProblemDetails" type. It is possible that particular + APIs in the present document, or particular + implementations, define extensions to define + additional attributes that provide more information + about the error. The description column only provides + some explanation of the meaning to Facilitate + understanding of the design. For a full description, + see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] + that identifies the problem type. It is encouraged + that the URI provides human-readable documentation + for the problem (e.g. using HTML) when + dereferenced. When this member is not present, its + value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem + type. It should not change from occurrence to + occurrence of the problem, except for purposes of + localization. If type is given and other than + "about:blank", this attribute shall also be + provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from + occurrence to occurrence of the problem, except + for purposes of localization (e.g., using + proactive content negotiation; see [RFC7231], + Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the + problem. The HTTP status code ([RFC7231], Section + 6) generated by the origin server for this + occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this + occurrence of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific + occurrence of the problem. It may yield further + information if dereferenced. + type: string + format: URI + '401': + description: > + 401 UNAUTHORIZED + + If the request contains no access token even though one is + required, or if the request contains an authorization token + that is invalid (e.g. expired or revoked), the API producer + should respond with this response. The details of the error + shall be returned in the WWW-Authenticate HTTP header, as + defined in IETF RFC 6750 and IETF RFC 7235. The + ProblemDetails structure may be provided. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not + provided authorization, or error details if the + corresponding HTTP request has provided an invalid + authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data + structure from IETF RFC 7807 [19] is reproduced inthis + structure. Compared to the general framework defined + in IETF RFC 7807 [19], the "status" and "detail" + attributes are mandated to be included by the present + document, to ensure that the response contains + additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the + "ProblemDetails" type. It is possible that particular + APIs in the present document, or particular + implementations, define extensions to define + additional attributes that provide more information + about the error. The description column only provides + some explanation of the meaning to Facilitate + understanding of the design. For a full description, + see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] + that identifies the problem type. It is encouraged + that the URI provides human-readable documentation + for the problem (e.g. using HTML) when + dereferenced. When this member is not present, its + value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem + type. It should not change from occurrence to + occurrence of the problem, except for purposes of + localization. If type is given and other than + "about:blank", this attribute shall also be + provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from + occurrence to occurrence of the problem, except + for purposes of localization (e.g., using + proactive content negotiation; see [RFC7231], + Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the + problem. The HTTP status code ([RFC7231], Section + 6) generated by the origin server for this + occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this + occurrence of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific + occurrence of the problem. It may yield further + information if dereferenced. + type: string + format: URI + '403': + description: > + 403 FORBIDDEN + + If the API consumer is not allowed to perform a particular + request to a particular resource, the API producer shall + respond with this response code. The "ProblemDetails" + structure shall be provided. It should include in the + "detail" attribute information about the source of the + problem, and may indicate how to solve it. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not + provided authorization, or error details if the + corresponding HTTP request has provided an invalid + authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data + structure from IETF RFC 7807 [19] is reproduced inthis + structure. Compared to the general framework defined + in IETF RFC 7807 [19], the "status" and "detail" + attributes are mandated to be included by the present + document, to ensure that the response contains + additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the + "ProblemDetails" type. It is possible that particular + APIs in the present document, or particular + implementations, define extensions to define + additional attributes that provide more information + about the error. The description column only provides + some explanation of the meaning to Facilitate + understanding of the design. For a full description, + see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] + that identifies the problem type. It is encouraged + that the URI provides human-readable documentation + for the problem (e.g. using HTML) when + dereferenced. When this member is not present, its + value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem + type. It should not change from occurrence to + occurrence of the problem, except for purposes of + localization. If type is given and other than + "about:blank", this attribute shall also be + provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from + occurrence to occurrence of the problem, except + for purposes of localization (e.g., using + proactive content negotiation; see [RFC7231], + Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the + problem. The HTTP status code ([RFC7231], Section + 6) generated by the origin server for this + occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this + occurrence of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific + occurrence of the problem. It may yield further + information if dereferenced. + type: string + format: URI + '404': + description: > + 404 NOT FOUND + + If the API producer did not find a current representation + for the resource addressed by the URI passed in the request + or is not willing to disclose that one exists, it shall + respond with this response code. The "ProblemDetails" + structure may be provided, including in the "detail" + attribute information about the source of the problem, e.g. + a wrong resource URI variable. + + This response code is not appropriate in case the resource + addressed by the URI is a container resource which is + designed to contain child resources, but does not contain + any child resource at the time the request is received. For + a GET request to an existing empty container resource, a + typical response contains a 200 OK response code and a + payload body with an empty array. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not + provided authorization, or error details if the + corresponding HTTP request has provided an invalid + authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data + structure from IETF RFC 7807 [19] is reproduced inthis + structure. Compared to the general framework defined + in IETF RFC 7807 [19], the "status" and "detail" + attributes are mandated to be included by the present + document, to ensure that the response contains + additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the + "ProblemDetails" type. It is possible that particular + APIs in the present document, or particular + implementations, define extensions to define + additional attributes that provide more information + about the error. The description column only provides + some explanation of the meaning to Facilitate + understanding of the design. For a full description, + see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] + that identifies the problem type. It is encouraged + that the URI provides human-readable documentation + for the problem (e.g. using HTML) when + dereferenced. When this member is not present, its + value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem + type. It should not change from occurrence to + occurrence of the problem, except for purposes of + localization. If type is given and other than + "about:blank", this attribute shall also be + provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from + occurrence to occurrence of the problem, except + for purposes of localization (e.g., using + proactive content negotiation; see [RFC7231], + Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the + problem. The HTTP status code ([RFC7231], Section + 6) generated by the origin server for this + occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this + occurrence of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific + occurrence of the problem. It may yield further + information if dereferenced. + type: string + format: URI + '405': + description: > + 405 METHOD NOT ALLOWED + + If a particular HTTP method is not supported for a + particular resource, the API producer shall respond with + this response code. The "ProblemDetails" structure may be + omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not + provided authorization, or error details if the + corresponding HTTP request has provided an invalid + authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data + structure from IETF RFC 7807 [19] is reproduced inthis + structure. Compared to the general framework defined + in IETF RFC 7807 [19], the "status" and "detail" + attributes are mandated to be included by the present + document, to ensure that the response contains + additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the + "ProblemDetails" type. It is possible that particular + APIs in the present document, or particular + implementations, define extensions to define + additional attributes that provide more information + about the error. The description column only provides + some explanation of the meaning to Facilitate + understanding of the design. For a full description, + see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] + that identifies the problem type. It is encouraged + that the URI provides human-readable documentation + for the problem (e.g. using HTML) when + dereferenced. When this member is not present, its + value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem + type. It should not change from occurrence to + occurrence of the problem, except for purposes of + localization. If type is given and other than + "about:blank", this attribute shall also be + provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from + occurrence to occurrence of the problem, except + for purposes of localization (e.g., using + proactive content negotiation; see [RFC7231], + Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the + problem. The HTTP status code ([RFC7231], Section + 6) generated by the origin server for this + occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this + occurrence of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific + occurrence of the problem. It may yield further + information if dereferenced. + type: string + format: URI + '406': + description: > + 406 NOT ACCEPTABLE + + If the "Accept" HTTP header does not contain at least one + name of a content type that is acceptable to the API + producer, the API producer shall respond with this response + code. The "ProblemDetails" structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not + provided authorization, or error details if the + corresponding HTTP request has provided an invalid + authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data + structure from IETF RFC 7807 [19] is reproduced inthis + structure. Compared to the general framework defined + in IETF RFC 7807 [19], the "status" and "detail" + attributes are mandated to be included by the present + document, to ensure that the response contains + additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the + "ProblemDetails" type. It is possible that particular + APIs in the present document, or particular + implementations, define extensions to define + additional attributes that provide more information + about the error. The description column only provides + some explanation of the meaning to Facilitate + understanding of the design. For a full description, + see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] + that identifies the problem type. It is encouraged + that the URI provides human-readable documentation + for the problem (e.g. using HTML) when + dereferenced. When this member is not present, its + value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem + type. It should not change from occurrence to + occurrence of the problem, except for purposes of + localization. If type is given and other than + "about:blank", this attribute shall also be + provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from + occurrence to occurrence of the problem, except + for purposes of localization (e.g., using + proactive content negotiation; see [RFC7231], + Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the + problem. The HTTP status code ([RFC7231], Section + 6) generated by the origin server for this + occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this + occurrence of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific + occurrence of the problem. It may yield further + information if dereferenced. + type: string + format: URI + '422': + description: > + 422 UNPROCESSABLE ENTITY + + If the payload body of a request contains syntactically + correct data (e.g. well-formed JSON) but the data cannot be + processed (e.g. because it fails validation against a + schema), the API producer shall respond with this response + code. The "ProblemDetails" structure shall be provided, and + should include in the "detail" attribute more information + about the source of the problem. + + This error response code is only applicable for methods that + have a request body. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not + provided authorization, or error details if the + corresponding HTTP request has provided an invalid + authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data + structure from IETF RFC 7807 [19] is reproduced inthis + structure. Compared to the general framework defined + in IETF RFC 7807 [19], the "status" and "detail" + attributes are mandated to be included by the present + document, to ensure that the response contains + additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the + "ProblemDetails" type. It is possible that particular + APIs in the present document, or particular + implementations, define extensions to define + additional attributes that provide more information + about the error. The description column only provides + some explanation of the meaning to Facilitate + understanding of the design. For a full description, + see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] + that identifies the problem type. It is encouraged + that the URI provides human-readable documentation + for the problem (e.g. using HTML) when + dereferenced. When this member is not present, its + value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem + type. It should not change from occurrence to + occurrence of the problem, except for purposes of + localization. If type is given and other than + "about:blank", this attribute shall also be + provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from + occurrence to occurrence of the problem, except + for purposes of localization (e.g., using + proactive content negotiation; see [RFC7231], + Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the + problem. The HTTP status code ([RFC7231], Section + 6) generated by the origin server for this + occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this + occurrence of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific + occurrence of the problem. It may yield further + information if dereferenced. + type: string + format: URI + '500': + description: > + 500 INTERNAL SERVER ERROR + + If there is an application error not related to the client's + input that cannot be easily mapped to any other HTTP + response code ("catch all error"), the API producer shall + respond with this response code. The "ProblemDetails" + structure shall be provided, and shall include in the + "detail" attribute more information about the source of the + problem. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not + provided authorization, or error details if the + corresponding HTTP request has provided an invalid + authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data + structure from IETF RFC 7807 [19] is reproduced inthis + structure. Compared to the general framework defined + in IETF RFC 7807 [19], the "status" and "detail" + attributes are mandated to be included by the present + document, to ensure that the response contains + additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the + "ProblemDetails" type. It is possible that particular + APIs in the present document, or particular + implementations, define extensions to define + additional attributes that provide more information + about the error. The description column only provides + some explanation of the meaning to Facilitate + understanding of the design. For a full description, + see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] + that identifies the problem type. It is encouraged + that the URI provides human-readable documentation + for the problem (e.g. using HTML) when + dereferenced. When this member is not present, its + value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem + type. It should not change from occurrence to + occurrence of the problem, except for purposes of + localization. If type is given and other than + "about:blank", this attribute shall also be + provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from + occurrence to occurrence of the problem, except + for purposes of localization (e.g., using + proactive content negotiation; see [RFC7231], + Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the + problem. The HTTP status code ([RFC7231], Section + 6) generated by the origin server for this + occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this + occurrence of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific + occurrence of the problem. It may yield further + information if dereferenced. + type: string + format: URI + '503': + description: > + 503 SERVICE UNAVAILABLE + + If the API producer encounters an internal overload + situation of itself or of a system it relies on, it should + respond with this response code, following the provisions in + IETF RFC 7231 for the use of the "Retry-After" HTTP header + and for the alternative to refuse the connection. The + "ProblemDetails" structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not + provided authorization, or error details if the + corresponding HTTP request has provided an invalid + authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data + structure from IETF RFC 7807 [19] is reproduced inthis + structure. Compared to the general framework defined + in IETF RFC 7807 [19], the "status" and "detail" + attributes are mandated to be included by the present + document, to ensure that the response contains + additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the + "ProblemDetails" type. It is possible that particular + APIs in the present document, or particular + implementations, define extensions to define + additional attributes that provide more information + about the error. The description column only provides + some explanation of the meaning to Facilitate + understanding of the design. For a full description, + see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] + that identifies the problem type. It is encouraged + that the URI provides human-readable documentation + for the problem (e.g. using HTML) when + dereferenced. When this member is not present, its + value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem + type. It should not change from occurrence to + occurrence of the problem, except for purposes of + localization. If type is given and other than + "about:blank", this attribute shall also be + provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from + occurrence to occurrence of the problem, except + for purposes of localization (e.g., using + proactive content negotiation; see [RFC7231], + Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the + problem. The HTTP status code ([RFC7231], Section + 6) generated by the origin server for this + occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this + occurrence of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific + occurrence of the problem. It may yield further + information if dereferenced. + type: string + format: URI + '504': + description: > + 504 GATEWAY TIMEOUT + + If the API producer encounters a timeout while waiting for a + response from an upstream server (i.e. a server that the API + producer communicates with when fulfilling a request), it + should respond with this response code. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not + provided authorization, or error details if the + corresponding HTTP request has provided an invalid + authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data + structure from IETF RFC 7807 [19] is reproduced inthis + structure. Compared to the general framework defined + in IETF RFC 7807 [19], the "status" and "detail" + attributes are mandated to be included by the present + document, to ensure that the response contains + additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the + "ProblemDetails" type. It is possible that particular + APIs in the present document, or particular + implementations, define extensions to define + additional attributes that provide more information + about the error. The description column only provides + some explanation of the meaning to Facilitate + understanding of the design. For a full description, + see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] + that identifies the problem type. It is encouraged + that the URI provides human-readable documentation + for the problem (e.g. using HTML) when + dereferenced. When this member is not present, its + value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem + type. It should not change from occurrence to + occurrence of the problem, except for purposes of + localization. If type is given and other than + "about:blank", this attribute shall also be + provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from + occurrence to occurrence of the problem, except + for purposes of localization (e.g., using + proactive content negotiation; see [RFC7231], + Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the + problem. The HTTP status code ([RFC7231], Section + 6) generated by the origin server for this + occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this + occurrence of the problem. + type: string + 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 allows the API producer to test the notification + endpoint that is provided by the API consumer, e.g. during + subscription. This method shall follow the provisions specified + in the tables 8.5.9.3.2-1 and 8.5.9.3.2-2 for URI query + parameters, request and response data structures, and response + codes. + parameters: + - name: Version + description: > + Version of the API requested to use when responding to this + request. + in: header + required: true + schema: + type: string + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231. + in: header + required: true + schema: + type: string + - name: Authorization + description: > + The authorization token for the request. Reference: IETF RFC + 7235. + in: header + required: false + schema: + type: string + responses: + '204': + description: >- + Shall be returned to indicate that the notification endpoint + has been tested successfully. The response body shall be + empty. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not + provided authorization, or error details if the + corresponding HTTP request has provided an invalid + authorization token. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + '400': + description: > + 400 BAD REQUEST + + 400 code can be returned in the following specified cases, + the specific cause has to be proper specified in the + "ProblemDetails" structure to be returned. + + If the request is malformed or syntactically incorrect (e.g. + if the request URI contains incorrect query parameters or + the payload body contains a syntactically incorrect data + structure), the API producer shall respond with this + response code. The "ProblemDetails" structure shall be + provided, and should include in the "detail" attribute more + information about the source of the problem. + + If the response to a GET request which queries a container + resource would be so big that the performance of the API + producer is adversely affected, and the API producer does + not support paging for the affected resource, it shall + respond with this response code. The "ProblemDetails" + structure shall be provided, and should include in the + "detail" attribute more information about the source of the + problem. + + If there is an application error related to the client's + input that cannot be easily mapped to any other HTTP + response code ("catch all error"), the API producer shall + respond with this response code. The "ProblemDetails" + structure shall be provided, and shall include in the + "detail" attribute more information about the source of the + problem. + + If the request contains a malformed access token, the API + producer should respond with this response. The details of + the error shall be returned in the WWW Authenticate HTTP + header, as defined in IETF RFC 6750 and IETF RFC 7235. The + ProblemDetails structure may be provided. + + The use of this HTTP error response code described above is + applicable to the use of the OAuth 2.0 for the authorization + of API requests and notifications, as defined in clauses + 4.5.3.3 and 4.5.3.4. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not + provided authorization, or error details if the + corresponding HTTP request has provided an invalid + authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data + structure from IETF RFC 7807 [19] is reproduced inthis + structure. Compared to the general framework defined + in IETF RFC 7807 [19], the "status" and "detail" + attributes are mandated to be included by the present + document, to ensure that the response contains + additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the + "ProblemDetails" type. It is possible that particular + APIs in the present document, or particular + implementations, define extensions to define + additional attributes that provide more information + about the error. The description column only provides + some explanation of the meaning to Facilitate + understanding of the design. For a full description, + see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] + that identifies the problem type. It is encouraged + that the URI provides human-readable documentation + for the problem (e.g. using HTML) when + dereferenced. When this member is not present, its + value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem + type. It should not change from occurrence to + occurrence of the problem, except for purposes of + localization. If type is given and other than + "about:blank", this attribute shall also be + provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from + occurrence to occurrence of the problem, except + for purposes of localization (e.g., using + proactive content negotiation; see [RFC7231], + Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the + problem. The HTTP status code ([RFC7231], Section + 6) generated by the origin server for this + occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this + occurrence of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific + occurrence of the problem. It may yield further + information if dereferenced. + type: string + format: URI + '401': + description: > + 401 UNAUTHORIZED + + If the request contains no access token even though one is + required, or if the request contains an authorization token + that is invalid (e.g. expired or revoked), the API producer + should respond with this response. The details of the error + shall be returned in the WWW-Authenticate HTTP header, as + defined in IETF RFC 6750 and IETF RFC 7235. The + ProblemDetails structure may be provided. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not + provided authorization, or error details if the + corresponding HTTP request has provided an invalid + authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data + structure from IETF RFC 7807 [19] is reproduced inthis + structure. Compared to the general framework defined + in IETF RFC 7807 [19], the "status" and "detail" + attributes are mandated to be included by the present + document, to ensure that the response contains + additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the + "ProblemDetails" type. It is possible that particular + APIs in the present document, or particular + implementations, define extensions to define + additional attributes that provide more information + about the error. The description column only provides + some explanation of the meaning to Facilitate + understanding of the design. For a full description, + see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] + that identifies the problem type. It is encouraged + that the URI provides human-readable documentation + for the problem (e.g. using HTML) when + dereferenced. When this member is not present, its + value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem + type. It should not change from occurrence to + occurrence of the problem, except for purposes of + localization. If type is given and other than + "about:blank", this attribute shall also be + provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from + occurrence to occurrence of the problem, except + for purposes of localization (e.g., using + proactive content negotiation; see [RFC7231], + Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the + problem. The HTTP status code ([RFC7231], Section + 6) generated by the origin server for this + occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this + occurrence of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific + occurrence of the problem. It may yield further + information if dereferenced. + type: string + format: URI + '403': + description: > + 403 FORBIDDEN + + If the API consumer is not allowed to perform a particular + request to a particular resource, the API producer shall + respond with this response code. The "ProblemDetails" + structure shall be provided. It should include in the + "detail" attribute information about the source of the + problem, and may indicate how to solve it. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not + provided authorization, or error details if the + corresponding HTTP request has provided an invalid + authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data + structure from IETF RFC 7807 [19] is reproduced inthis + structure. Compared to the general framework defined + in IETF RFC 7807 [19], the "status" and "detail" + attributes are mandated to be included by the present + document, to ensure that the response contains + additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the + "ProblemDetails" type. It is possible that particular + APIs in the present document, or particular + implementations, define extensions to define + additional attributes that provide more information + about the error. The description column only provides + some explanation of the meaning to Facilitate + understanding of the design. For a full description, + see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] + that identifies the problem type. It is encouraged + that the URI provides human-readable documentation + for the problem (e.g. using HTML) when + dereferenced. When this member is not present, its + value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem + type. It should not change from occurrence to + occurrence of the problem, except for purposes of + localization. If type is given and other than + "about:blank", this attribute shall also be + provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from + occurrence to occurrence of the problem, except + for purposes of localization (e.g., using + proactive content negotiation; see [RFC7231], + Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the + problem. The HTTP status code ([RFC7231], Section + 6) generated by the origin server for this + occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this + occurrence of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific + occurrence of the problem. It may yield further + information if dereferenced. + type: string + format: URI + '404': + description: > + 404 NOT FOUND + + If the API producer did not find a current representation + for the resource addressed by the URI passed in the request + or is not willing to disclose that one exists, it shall + respond with this response code. The "ProblemDetails" + structure may be provided, including in the "detail" + attribute information about the source of the problem, e.g. + a wrong resource URI variable. + + This response code is not appropriate in case the resource + addressed by the URI is a container resource which is + designed to contain child resources, but does not contain + any child resource at the time the request is received. For + a GET request to an existing empty container resource, a + typical response contains a 200 OK response code and a + payload body with an empty array. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not + provided authorization, or error details if the + corresponding HTTP request has provided an invalid + authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data + structure from IETF RFC 7807 [19] is reproduced inthis + structure. Compared to the general framework defined + in IETF RFC 7807 [19], the "status" and "detail" + attributes are mandated to be included by the present + document, to ensure that the response contains + additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the + "ProblemDetails" type. It is possible that particular + APIs in the present document, or particular + implementations, define extensions to define + additional attributes that provide more information + about the error. The description column only provides + some explanation of the meaning to Facilitate + understanding of the design. For a full description, + see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] + that identifies the problem type. It is encouraged + that the URI provides human-readable documentation + for the problem (e.g. using HTML) when + dereferenced. When this member is not present, its + value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem + type. It should not change from occurrence to + occurrence of the problem, except for purposes of + localization. If type is given and other than + "about:blank", this attribute shall also be + provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from + occurrence to occurrence of the problem, except + for purposes of localization (e.g., using + proactive content negotiation; see [RFC7231], + Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the + problem. The HTTP status code ([RFC7231], Section + 6) generated by the origin server for this + occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this + occurrence of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific + occurrence of the problem. It may yield further + information if dereferenced. + type: string + format: URI + '405': + description: > + 405 METHOD NOT ALLOWED + + If a particular HTTP method is not supported for a + particular resource, the API producer shall respond with + this response code. The "ProblemDetails" structure may be + omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not + provided authorization, or error details if the + corresponding HTTP request has provided an invalid + authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data + structure from IETF RFC 7807 [19] is reproduced inthis + structure. Compared to the general framework defined + in IETF RFC 7807 [19], the "status" and "detail" + attributes are mandated to be included by the present + document, to ensure that the response contains + additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the + "ProblemDetails" type. It is possible that particular + APIs in the present document, or particular + implementations, define extensions to define + additional attributes that provide more information + about the error. The description column only provides + some explanation of the meaning to Facilitate + understanding of the design. For a full description, + see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] + that identifies the problem type. It is encouraged + that the URI provides human-readable documentation + for the problem (e.g. using HTML) when + dereferenced. When this member is not present, its + value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem + type. It should not change from occurrence to + occurrence of the problem, except for purposes of + localization. If type is given and other than + "about:blank", this attribute shall also be + provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from + occurrence to occurrence of the problem, except + for purposes of localization (e.g., using + proactive content negotiation; see [RFC7231], + Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the + problem. The HTTP status code ([RFC7231], Section + 6) generated by the origin server for this + occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this + occurrence of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific + occurrence of the problem. It may yield further + information if dereferenced. + type: string + format: URI + '406': + description: > + 406 NOT ACCEPTABLE + + If the "Accept" HTTP header does not contain at least one + name of a content type that is acceptable to the API + producer, the API producer shall respond with this response + code. The "ProblemDetails" structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not + provided authorization, or error details if the + corresponding HTTP request has provided an invalid + authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data + structure from IETF RFC 7807 [19] is reproduced inthis + structure. Compared to the general framework defined + in IETF RFC 7807 [19], the "status" and "detail" + attributes are mandated to be included by the present + document, to ensure that the response contains + additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the + "ProblemDetails" type. It is possible that particular + APIs in the present document, or particular + implementations, define extensions to define + additional attributes that provide more information + about the error. The description column only provides + some explanation of the meaning to Facilitate + understanding of the design. For a full description, + see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] + that identifies the problem type. It is encouraged + that the URI provides human-readable documentation + for the problem (e.g. using HTML) when + dereferenced. When this member is not present, its + value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem + type. It should not change from occurrence to + occurrence of the problem, except for purposes of + localization. If type is given and other than + "about:blank", this attribute shall also be + provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from + occurrence to occurrence of the problem, except + for purposes of localization (e.g., using + proactive content negotiation; see [RFC7231], + Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the + problem. The HTTP status code ([RFC7231], Section + 6) generated by the origin server for this + occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this + occurrence of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific + occurrence of the problem. It may yield further + information if dereferenced. + type: string + format: URI + '422': + description: > + 422 UNPROCESSABLE ENTITY + + If the payload body of a request contains syntactically + correct data (e.g. well-formed JSON) but the data cannot be + processed (e.g. because it fails validation against a + schema), the API producer shall respond with this response + code. The "ProblemDetails" structure shall be provided, and + should include in the "detail" attribute more information + about the source of the problem. + + This error response code is only applicable for methods that + have a request body. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not + provided authorization, or error details if the + corresponding HTTP request has provided an invalid + authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data + structure from IETF RFC 7807 [19] is reproduced inthis + structure. Compared to the general framework defined + in IETF RFC 7807 [19], the "status" and "detail" + attributes are mandated to be included by the present + document, to ensure that the response contains + additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the + "ProblemDetails" type. It is possible that particular + APIs in the present document, or particular + implementations, define extensions to define + additional attributes that provide more information + about the error. The description column only provides + some explanation of the meaning to Facilitate + understanding of the design. For a full description, + see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] + that identifies the problem type. It is encouraged + that the URI provides human-readable documentation + for the problem (e.g. using HTML) when + dereferenced. When this member is not present, its + value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem + type. It should not change from occurrence to + occurrence of the problem, except for purposes of + localization. If type is given and other than + "about:blank", this attribute shall also be + provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from + occurrence to occurrence of the problem, except + for purposes of localization (e.g., using + proactive content negotiation; see [RFC7231], + Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the + problem. The HTTP status code ([RFC7231], Section + 6) generated by the origin server for this + occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this + occurrence of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific + occurrence of the problem. It may yield further + information if dereferenced. + type: string + format: URI + '500': + description: > + 500 INTERNAL SERVER ERROR + + If there is an application error not related to the client's + input that cannot be easily mapped to any other HTTP + response code ("catch all error"), the API producer shall + respond with this response code. The "ProblemDetails" + structure shall be provided, and shall include in the + "detail" attribute more information about the source of the + problem. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not + provided authorization, or error details if the + corresponding HTTP request has provided an invalid + authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data + structure from IETF RFC 7807 [19] is reproduced inthis + structure. Compared to the general framework defined + in IETF RFC 7807 [19], the "status" and "detail" + attributes are mandated to be included by the present + document, to ensure that the response contains + additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the + "ProblemDetails" type. It is possible that particular + APIs in the present document, or particular + implementations, define extensions to define + additional attributes that provide more information + about the error. The description column only provides + some explanation of the meaning to Facilitate + understanding of the design. For a full description, + see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] + that identifies the problem type. It is encouraged + that the URI provides human-readable documentation + for the problem (e.g. using HTML) when + dereferenced. When this member is not present, its + value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem + type. It should not change from occurrence to + occurrence of the problem, except for purposes of + localization. If type is given and other than + "about:blank", this attribute shall also be + provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from + occurrence to occurrence of the problem, except + for purposes of localization (e.g., using + proactive content negotiation; see [RFC7231], + Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the + problem. The HTTP status code ([RFC7231], Section + 6) generated by the origin server for this + occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this + occurrence of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific + occurrence of the problem. It may yield further + information if dereferenced. + type: string + format: URI + '503': + description: > + 503 SERVICE UNAVAILABLE + + If the API producer encounters an internal overload + situation of itself or of a system it relies on, it should + respond with this response code, following the provisions in + IETF RFC 7231 for the use of the "Retry-After" HTTP header + and for the alternative to refuse the connection. The + "ProblemDetails" structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not + provided authorization, or error details if the + corresponding HTTP request has provided an invalid + authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data + structure from IETF RFC 7807 [19] is reproduced inthis + structure. Compared to the general framework defined + in IETF RFC 7807 [19], the "status" and "detail" + attributes are mandated to be included by the present + document, to ensure that the response contains + additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the + "ProblemDetails" type. It is possible that particular + APIs in the present document, or particular + implementations, define extensions to define + additional attributes that provide more information + about the error. The description column only provides + some explanation of the meaning to Facilitate + understanding of the design. For a full description, + see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] + that identifies the problem type. It is encouraged + that the URI provides human-readable documentation + for the problem (e.g. using HTML) when + dereferenced. When this member is not present, its + value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem + type. It should not change from occurrence to + occurrence of the problem, except for purposes of + localization. If type is given and other than + "about:blank", this attribute shall also be + provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from + occurrence to occurrence of the problem, except + for purposes of localization (e.g., using + proactive content negotiation; see [RFC7231], + Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the + problem. The HTTP status code ([RFC7231], Section + 6) generated by the origin server for this + occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this + occurrence of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific + occurrence of the problem. It may yield further + information if dereferenced. + type: string + format: URI + '504': + description: > + 504 GATEWAY TIMEOUT + + If the API producer encounters a timeout while waiting for a + response from an upstream server (i.e. a server that the API + producer communicates with when fulfilling a request), it + should respond with this response code. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not + provided authorization, or error details if the + corresponding HTTP request has provided an invalid + authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data + structure from IETF RFC 7807 [19] is reproduced inthis + structure. Compared to the general framework defined + in IETF RFC 7807 [19], the "status" and "detail" + attributes are mandated to be included by the present + document, to ensure that the response contains + additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the + "ProblemDetails" type. It is possible that particular + APIs in the present document, or particular + implementations, define extensions to define + additional attributes that provide more information + about the error. The description column only provides + some explanation of the meaning to Facilitate + understanding of the design. For a full description, + see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] + that identifies the problem type. It is encouraged + that the URI provides human-readable documentation + for the problem (e.g. using HTML) when + dereferenced. When this member is not present, its + value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem + type. It should not change from occurrence to + occurrence of the problem, except for purposes of + localization. If type is given and other than + "about:blank", this attribute shall also be + provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from + occurrence to occurrence of the problem, except + for purposes of localization (e.g., using + proactive content negotiation; see [RFC7231], + Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the + problem. The HTTP status code ([RFC7231], Section + 6) generated by the origin server for this + occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this + occurrence of the problem. + type: string + 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 API consumer can use this method to query the list of active + subscriptions to log management notifications subscribed by the API + consumer. This method shall follow the provisions specified in the + tables 8.5.7.3.2-1 and 8.5.7.3.2-2 for URI query parameters, request and + response data structures, and response codes. + parameters: + - name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of ETSI + GS NFV-SOL 013. The NFV-MANO functional entity shall support + receiving this parameter as part of the URI query string. The API + consumer may supply this parameter. All attribute names that appear + in the FmSubscription and in data types referenced from it shall be + supported by the NFV-MANO functional entity in the filter + expression. + in: query + required: false + schema: + type: string + - name: nextpage_opaque_marker + description: > + Marker to obtain the next page of a paged response. Shall be + supported by the NFV-MANO functional entity if the entity supports + alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS + NFV-SOL 013 for this resource. + in: query + required: false + schema: + type: string + - name: Version + description: | + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + - name: Accept + description: > + Content-Types that are acceptable for the response. Reference: IETF + RFC 7231. + in: header + required: true + schema: + type: string + - name: Authorization + description: | + The authorization token for the request. Reference: IETF RFC 7235. + in: header + required: false + schema: + type: string + responses: + '200': + description: >- + Shall be returned when the list of subscriptions has been queried + successfully. The response body shall contain in an array the + representations of all active subscriptions of the functional block + that invokes the method, i.e. zero or more representations of log + management subscriptions as defined in clause 8.6.2.3. If the + "filter" URI parameter was supplied in the request, the data in the + response body shall have been transformed according to the rules + specified in clause 5.2.2 of ETSI GS NFV-SOL 013. If the NFV-MANO + functional entity supports alternative 2 (paging) according to + clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, inclusion + of the Link HTTP header in this response shall follow the provisions + in clause 5.4.2.3 of ETSI GS NFV-SOL 013 . + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + type: array + items: + description: >- + This type represents a subscription. It shall comply with + the provisions defined in table 8.6.2.3-1. + 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 filter that can be used to + subscribe for notifications related to log management + events. It shall comply with the provisions defined in + table 8.6.3.7-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). + type: object + properties: + objectInstanceFilter: + description: >- + This type represents subscription filter criteria to + match NFV-MANO functional entities and their + associated managed objects. It shall comply with the + provisions defined in Table 4.3.2.2-1. + type: object + anyOf: + - oneOf: + - required: + - manoServiceIds + - required: + - manoServiceNames + - oneOf: + - required: + - manoServiceInterfaceIds + - required: + - manoServiceInterfaceNames + - oneOf: + - required: + - consumedManoInterfaceIds + - required: + - consumedManoInterfaceNames + properties: + manoEntityId: + description: > + An identifier with the intention of being + globally unique. + type: string + manoServiceIds: + description: >- + If present, match NFV-MANO services with an + instance identifier listed in this attribute. + type: array + items: + description: > + An identifier that is unique for the + respective type within a NFV-MANO functional + entity, but that need not be globally unique. + Representation: string of variable length.. + type: string + manoServiceNames: + description: >- + If present, match NFV-MANO services with an + NFV-MANO service name listed in this attribute. + type: array + items: + type: string + manoServiceInterfaceIds: + description: >- + If present, match NFV-MANO functional entity + produced interfaces with an instance identifier + listed in this attribute. + type: array + items: + description: > + An identifier that is unique for the + respective type within a NFV-MANO functional + entity, but that need not be globally unique. + Representation: string of variable length.. + type: string + manoServiceInterfaceNames: + description: >- + If present, match NFV-MANO functional entity + produced interfaces with an instance Name listed + in this attribute. + type: array + items: + type: string + consumedManoInterfaceIds: + description: >- + If present, match NFV-MANO functional entity + consumed interfaces with an instance identifier + listed in this attribute. + type: array + items: + description: > + An identifier with the intention of being + globally unique. + type: string + consumedManoInterfaceNames: + description: >- + If present, match NFV-MANO functional entity + consumed interfaces with an instance Name listed + in this attribute. + type: array + items: + type: string + notificationTypes: + description: >- + Match particular notification types. Permitted + values: - LogReportAvailableNotification + type: string + enum: + - LogReportAvailableNotification + 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 using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + '400': + description: > + 400 BAD REQUEST + + 400 code can be returned in the following specified cases, the + specific cause has to be proper specified in the "ProblemDetails" + structure to be returned. + + If the request is malformed or syntactically incorrect (e.g. if the + request URI contains incorrect query parameters or the payload body + contains a syntactically incorrect data structure), the API producer + shall respond with this response code. The "ProblemDetails" + structure shall be provided, and should include in the "detail" + attribute more information about the source of the problem. + + If the response to a GET request which queries a container resource + would be so big that the performance of the API producer is + adversely affected, and the API producer does not support paging for + the affected resource, it shall respond with this response code. The + "ProblemDetails" structure shall be provided, and should include in + the "detail" attribute more information about the source of the + problem. + + If there is an application error related to the client's input that + cannot be easily mapped to any other HTTP response code ("catch all + error"), the API producer shall respond with this response code. The + "ProblemDetails" structure shall be provided, and shall include in + the "detail" attribute more information about the source of the + problem. + + If the request contains a malformed access token, the API producer + should respond with this response. The details of the error shall be + returned in the WWW Authenticate HTTP header, as defined in IETF RFC + 6750 and IETF RFC 7235. The ProblemDetails structure may be + provided. + + The use of this HTTP error response code described above is + applicable to the use of the OAuth 2.0 for the authorization of API + requests and notifications, as defined in clauses 4.5.3.3 and + 4.5.3.4. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '401': + description: > + 401 UNAUTHORIZED + + If the request contains no access token even though one is required, + or if the request contains an authorization token that is invalid + (e.g. expired or revoked), the API producer should respond with this + response. The details of the error shall be returned in the + WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF + RFC 7235. The ProblemDetails structure may be provided. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '403': + description: > + 403 FORBIDDEN + + If the API consumer is not allowed to perform a particular request + to a particular resource, the API producer shall respond with this + response code. The "ProblemDetails" structure shall be provided. It + should include in the "detail" attribute information about the + source of the problem, and may indicate how to solve it. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '404': + description: > + 404 NOT FOUND + + If the API producer did not find a current representation for the + resource addressed by the URI passed in the request or is not + willing to disclose that one exists, it shall respond with this + response code. The "ProblemDetails" structure may be provided, + including in the "detail" attribute information about the source of + the problem, e.g. a wrong resource URI variable. + + This response code is not appropriate in case the resource addressed + by the URI is a container resource which is designed to contain + child resources, but does not contain any child resource at the time + the request is received. For a GET request to an existing empty + container resource, a typical response contains a 200 OK response + code and a payload body with an empty array. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '405': + description: > + 405 METHOD NOT ALLOWED + + If a particular HTTP method is not supported for a particular + resource, the API producer shall respond with this response code. + The "ProblemDetails" structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '406': + description: > + 406 NOT ACCEPTABLE + + If the "Accept" HTTP header does not contain at least one name of a + content type that is acceptable to the API producer, the API + producer shall respond with this response code. The "ProblemDetails" + structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '500': + description: > + 500 INTERNAL SERVER ERROR + + If there is an application error not related to the client's input + that cannot be easily mapped to any other HTTP response code ("catch + all error"), the API producer shall respond with this response code. + The "ProblemDetails" structure shall be provided, and shall include + in the "detail" attribute more information about the source of the + problem. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '503': + description: > + 503 SERVICE UNAVAILABLE + + If the API producer encounters an internal overload situation of + itself or of a system it relies on, it should respond with this + response code, following the provisions in IETF RFC 7231 for the use + of the "Retry-After" HTTP header and for the alternative to refuse + the connection. The "ProblemDetails" structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '504': + description: > + 504 GATEWAY TIMEOUT + + If the API producer encounters a timeout while waiting for a + response from an upstream server (i.e. a server that the API + producer communicates with when fulfilling a request), it should + respond with this response code. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + 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}': + description: >- + This resource represents an individual subscription for notifications + about log management related events. The API consumer can use this + resource to read and to terminate a subscription to notifications related + o NFV-MANO log management. + parameters: + - name: subscriptionId + in: path + description: Identifier of the subscription + required: true + schema: + description: | + An identifier with the intention of being globally unique. + type: string + get: + description: >- + The API consumer can use this method for reading an individual + subscription about log management notifications subscribed by the API + consumer. This method shall follow the provisions specified in the + tables 8.5.8.3.2-1 and 8.5.8.3.2-2 for URI query parameters, request and + response data structures, and response codes. + parameters: + - name: Version + description: | + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + - name: Accept + description: > + Content-Types that are acceptable for the response. Reference: IETF + RFC 7231. + in: header + required: true + schema: + type: string + - name: Authorization + description: | + The authorization token for the request. Reference: IETF RFC 7235. + in: header + required: false + schema: + type: string + responses: + '200': + description: >- + Shall be returned when the subscription has been read successfully. + The response body shall contain a representation of the "Individual + subscription" resource, as defined in clause 8.6.2.3. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + description: >- + This type represents a subscription. It shall comply with the + provisions defined in table 8.6.2.3-1. + 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 filter that can be used to + subscribe for notifications related to log management + events. It shall comply with the provisions defined in + table 8.6.3.7-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). + type: object + properties: + objectInstanceFilter: + description: >- + This type represents subscription filter criteria to + match NFV-MANO functional entities and their + associated managed objects. It shall comply with the + provisions defined in Table 4.3.2.2-1. + type: object + anyOf: + - oneOf: + - required: + - manoServiceIds + - required: + - manoServiceNames + - oneOf: + - required: + - manoServiceInterfaceIds + - required: + - manoServiceInterfaceNames + - oneOf: + - required: + - consumedManoInterfaceIds + - required: + - consumedManoInterfaceNames + properties: + manoEntityId: + description: > + An identifier with the intention of being globally + unique. + type: string + manoServiceIds: + description: >- + If present, match NFV-MANO services with an + instance identifier listed in this attribute. + type: array + items: + description: > + An identifier that is unique for the respective + type within a NFV-MANO functional entity, but + that need not be globally unique. + Representation: string of variable length.. + type: string + manoServiceNames: + description: >- + If present, match NFV-MANO services with an + NFV-MANO service name listed in this attribute. + type: array + items: + type: string + manoServiceInterfaceIds: + description: >- + If present, match NFV-MANO functional entity + produced interfaces with an instance identifier + listed in this attribute. + type: array + items: + description: > + An identifier that is unique for the respective + type within a NFV-MANO functional entity, but + that need not be globally unique. + Representation: string of variable length.. + type: string + manoServiceInterfaceNames: + description: >- + If present, match NFV-MANO functional entity + produced interfaces with an instance Name listed + in this attribute. + type: array + items: + type: string + consumedManoInterfaceIds: + description: >- + If present, match NFV-MANO functional entity + consumed interfaces with an instance identifier + listed in this attribute. + type: array + items: + description: > + An identifier with the intention of being + globally unique. + type: string + consumedManoInterfaceNames: + description: >- + If present, match NFV-MANO functional entity + consumed interfaces with an instance Name listed + in this attribute. + type: array + items: + type: string + notificationTypes: + description: >- + Match particular notification types. Permitted values: + - LogReportAvailableNotification + type: string + enum: + - LogReportAvailableNotification + 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 using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + '400': + description: > + 400 BAD REQUEST + + 400 code can be returned in the following specified cases, the + specific cause has to be proper specified in the "ProblemDetails" + structure to be returned. + + If the request is malformed or syntactically incorrect (e.g. if the + request URI contains incorrect query parameters or the payload body + contains a syntactically incorrect data structure), the API producer + shall respond with this response code. The "ProblemDetails" + structure shall be provided, and should include in the "detail" + attribute more information about the source of the problem. + + If the response to a GET request which queries a container resource + would be so big that the performance of the API producer is + adversely affected, and the API producer does not support paging for + the affected resource, it shall respond with this response code. The + "ProblemDetails" structure shall be provided, and should include in + the "detail" attribute more information about the source of the + problem. + + If there is an application error related to the client's input that + cannot be easily mapped to any other HTTP response code ("catch all + error"), the API producer shall respond with this response code. The + "ProblemDetails" structure shall be provided, and shall include in + the "detail" attribute more information about the source of the + problem. + + If the request contains a malformed access token, the API producer + should respond with this response. The details of the error shall be + returned in the WWW Authenticate HTTP header, as defined in IETF RFC + 6750 and IETF RFC 7235. The ProblemDetails structure may be + provided. + + The use of this HTTP error response code described above is + applicable to the use of the OAuth 2.0 for the authorization of API + requests and notifications, as defined in clauses 4.5.3.3 and + 4.5.3.4. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '401': + description: > + 401 UNAUTHORIZED + + If the request contains no access token even though one is required, + or if the request contains an authorization token that is invalid + (e.g. expired or revoked), the API producer should respond with this + response. The details of the error shall be returned in the + WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF + RFC 7235. The ProblemDetails structure may be provided. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '403': + description: > + 403 FORBIDDEN + + If the API consumer is not allowed to perform a particular request + to a particular resource, the API producer shall respond with this + response code. The "ProblemDetails" structure shall be provided. It + should include in the "detail" attribute information about the + source of the problem, and may indicate how to solve it. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '404': + description: > + 404 NOT FOUND + + If the API producer did not find a current representation for the + resource addressed by the URI passed in the request or is not + willing to disclose that one exists, it shall respond with this + response code. The "ProblemDetails" structure may be provided, + including in the "detail" attribute information about the source of + the problem, e.g. a wrong resource URI variable. + + This response code is not appropriate in case the resource addressed + by the URI is a container resource which is designed to contain + child resources, but does not contain any child resource at the time + the request is received. For a GET request to an existing empty + container resource, a typical response contains a 200 OK response + code and a payload body with an empty array. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '405': + description: > + 405 METHOD NOT ALLOWED + + If a particular HTTP method is not supported for a particular + resource, the API producer shall respond with this response code. + The "ProblemDetails" structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '406': + description: > + 406 NOT ACCEPTABLE + + If the "Accept" HTTP header does not contain at least one name of a + content type that is acceptable to the API producer, the API + producer shall respond with this response code. The "ProblemDetails" + structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '500': + description: > + 500 INTERNAL SERVER ERROR + + If there is an application error not related to the client's input + that cannot be easily mapped to any other HTTP response code ("catch + all error"), the API producer shall respond with this response code. + The "ProblemDetails" structure shall be provided, and shall include + in the "detail" attribute more information about the source of the + problem. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '503': + description: > + 503 SERVICE UNAVAILABLE + + If the API producer encounters an internal overload situation of + itself or of a system it relies on, it should respond with this + response code, following the provisions in IETF RFC 7231 for the use + of the "Retry-After" HTTP header and for the alternative to refuse + the connection. The "ProblemDetails" structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '504': + description: > + 504 GATEWAY TIMEOUT + + If the API producer encounters a timeout while waiting for a + response from an upstream server (i.e. a server that the API + producer communicates with when fulfilling a request), it should + respond with this response code. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + 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. This method shall follow the provisions specified in the tables 8.5.8.3.5-1 and 8.5.8.3.5-2 for URI query parameters, request and response data structures, and response codes. As the result of successfully executing this method, the \"Individual subscription\" resource shall not exist any longer. This means that no notifications for that subscription shall be sent to the formerly-subscribed API consumer. NOTE:\tDue to race conditions, some notifications might still be received by the formerly-subscribed API consumer for a certain time period after the deletion." + parameters: + - name: Version + description: | + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + - name: Authorization + description: | + The authorization token for the request. Reference: IETF RFC 7235. + in: header + required: false + schema: + type: string + responses: + '204': + description: >- + Shall be returned when the "Individual subscription" resource has + been deleted successfully. The response body shall be empty. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + '400': + description: > + 400 BAD REQUEST + + 400 code can be returned in the following specified cases, the + specific cause has to be proper specified in the "ProblemDetails" + structure to be returned. + + If the request is malformed or syntactically incorrect (e.g. if the + request URI contains incorrect query parameters or the payload body + contains a syntactically incorrect data structure), the API producer + shall respond with this response code. The "ProblemDetails" + structure shall be provided, and should include in the "detail" + attribute more information about the source of the problem. + + If the response to a GET request which queries a container resource + would be so big that the performance of the API producer is + adversely affected, and the API producer does not support paging for + the affected resource, it shall respond with this response code. The + "ProblemDetails" structure shall be provided, and should include in + the "detail" attribute more information about the source of the + problem. + + If there is an application error related to the client's input that + cannot be easily mapped to any other HTTP response code ("catch all + error"), the API producer shall respond with this response code. The + "ProblemDetails" structure shall be provided, and shall include in + the "detail" attribute more information about the source of the + problem. + + If the request contains a malformed access token, the API producer + should respond with this response. The details of the error shall be + returned in the WWW Authenticate HTTP header, as defined in IETF RFC + 6750 and IETF RFC 7235. The ProblemDetails structure may be + provided. + + The use of this HTTP error response code described above is + applicable to the use of the OAuth 2.0 for the authorization of API + requests and notifications, as defined in clauses 4.5.3.3 and + 4.5.3.4. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '401': + description: > + 401 UNAUTHORIZED + + If the request contains no access token even though one is required, + or if the request contains an authorization token that is invalid + (e.g. expired or revoked), the API producer should respond with this + response. The details of the error shall be returned in the + WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF + RFC 7235. The ProblemDetails structure may be provided. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '403': + description: > + 403 FORBIDDEN + + If the API consumer is not allowed to perform a particular request + to a particular resource, the API producer shall respond with this + response code. The "ProblemDetails" structure shall be provided. It + should include in the "detail" attribute information about the + source of the problem, and may indicate how to solve it. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '404': + description: > + 404 NOT FOUND + + If the API producer did not find a current representation for the + resource addressed by the URI passed in the request or is not + willing to disclose that one exists, it shall respond with this + response code. The "ProblemDetails" structure may be provided, + including in the "detail" attribute information about the source of + the problem, e.g. a wrong resource URI variable. + + This response code is not appropriate in case the resource addressed + by the URI is a container resource which is designed to contain + child resources, but does not contain any child resource at the time + the request is received. For a GET request to an existing empty + container resource, a typical response contains a 200 OK response + code and a payload body with an empty array. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '405': + description: > + 405 METHOD NOT ALLOWED + + If a particular HTTP method is not supported for a particular + resource, the API producer shall respond with this response code. + The "ProblemDetails" structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '406': + description: > + 406 NOT ACCEPTABLE + + If the "Accept" HTTP header does not contain at least one name of a + content type that is acceptable to the API producer, the API + producer shall respond with this response code. The "ProblemDetails" + structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '422': + description: > + 422 UNPROCESSABLE ENTITY + + If the payload body of a request contains syntactically correct data + (e.g. well-formed JSON) but the data cannot be processed (e.g. + because it fails validation against a schema), the API producer + shall respond with this response code. The "ProblemDetails" + structure shall be provided, and should include in the "detail" + attribute more information about the source of the problem. + + This error response code is only applicable for methods that have a + request body. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '500': + description: > + 500 INTERNAL SERVER ERROR + + If there is an application error not related to the client's input + that cannot be easily mapped to any other HTTP response code ("catch + all error"), the API producer shall respond with this response code. + The "ProblemDetails" structure shall be provided, and shall include + in the "detail" attribute more information about the source of the + problem. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '503': + description: > + 503 SERVICE UNAVAILABLE + + If the API producer encounters an internal overload situation of + itself or of a system it relies on, it should respond with this + response code, following the provisions in IETF RFC 7231 for the use + of the "Retry-After" HTTP header and for the alternative to refuse + the connection. The "ProblemDetails" structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI + '504': + description: > + 504 GATEWAY TIMEOUT + + If the API producer encounters a timeout while waiting for a + response from an upstream server (i.e. a server that the API + producer communicates with when fulfilling a request), it should + respond with this response code. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of + the problem. It may yield further information if + dereferenced. + type: string + format: URI +components: + parameters: + logJobId: + name: logJobId + in: path + description: Identifier of the logging job. + required: true + schema: + description: | + An identifier with the intention of being globally unique. + type: string + logReportId: + name: logReportId + in: path + description: Identifier of the report. + required: true + schema: + description: | + An identifier with the intention of being globally unique. + type: string + subscriptionId: + name: subscriptionId + in: path + description: Identifier of the subscription + required: true + schema: + description: | + An identifier with the intention of being globally unique. + type: string + requestBodies: + LogmSubscriptionRequest: + description: Details of the subscription to be created + content: + application/json: + schema: + description: >- + Information on application context created by the MEC system type: + object + required: + - callbackUri + type: object + properties: + filter: + description: >- + This type represents a filter that can be used to subscribe + for notifications related to log management events. It shall + comply with the provisions defined in table 8.6.3.7-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). + type: object + properties: + objectInstanceFilter: + description: >- + This type represents subscription filter criteria to match + NFV-MANO functional entities and their associated managed + objects. It shall comply with the provisions defined in + Table 4.3.2.2-1. + type: object + anyOf: + - oneOf: + - required: + - manoServiceIds + - required: + - manoServiceNames + - oneOf: + - required: + - manoServiceInterfaceIds + - required: + - manoServiceInterfaceNames + - oneOf: + - required: + - consumedManoInterfaceIds + - required: + - consumedManoInterfaceNames + properties: + manoEntityId: + description: > + An identifier with the intention of being globally + unique. + type: string + manoServiceIds: + description: >- + If present, match NFV-MANO services with an instance + identifier listed in this attribute. + type: array + items: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need + not be globally unique. Representation: string of + variable length.. + type: string + manoServiceNames: + description: >- + If present, match NFV-MANO services with an NFV-MANO + service name listed in this attribute. + type: array + items: + type: string + manoServiceInterfaceIds: + description: >- + If present, match NFV-MANO functional entity produced + interfaces with an instance identifier listed in this + attribute. + type: array + items: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need + not be globally unique. Representation: string of + variable length.. + type: string + manoServiceInterfaceNames: + description: >- + If present, match NFV-MANO functional entity produced + interfaces with an instance Name listed in this + attribute. + type: array + items: + type: string + consumedManoInterfaceIds: + description: >- + If present, match NFV-MANO functional entity consumed + interfaces with an instance identifier listed in this + attribute. + type: array + items: + description: > + An identifier with the intention of being globally + unique. + type: string + consumedManoInterfaceNames: + description: >- + If present, match NFV-MANO functional entity consumed + interfaces with an instance Name listed in this + attribute. + type: array + items: + type: string + notificationTypes: + description: >- + Match particular notification types. Permitted values: - + LogReportAvailableNotification + type: string + enum: + - LogReportAvailableNotification + 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 + CreateLoggingJobRequest: + description: >- + This type represents a request to create a logging job. It shall comply + with the provisions defined in table 8.6.2.5-1. + content: + application/json: + schema: + description: Information on application context created by the MEC system + type: object + required: + - objectInstanceIds + - jobCriteria + - jobConfig + properties: + objectInstanceIds: + description: >- + Identifiers of the object instance for which logging + information is requested to be collected. This attribute shall + contain the identifier of the instance of the object to be + logged according to their type. If more than one identifier is + provided, values shall all refer to object instances of the + same type, for which the same criteria is then applicable. + type: array + minItems: 1 + items: + description: > + This type represents the identifier to reference a managed + object of a particular type. + type: object + properties: + type: + description: > + Indicates the type of managed object. Permitted values: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + + The "MANO_ENTITY COMPONENT" is only applicable if + attribute "manoEntityComponents" in "ManoEntity" is + supported by the API producer. + type: string + enum: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + objectId: + description: > + An identifier with the intention of being globally + unique. + type: string + subObjectId: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need not + be globally unique. Representation: string of variable + length.. + type: string + required: + - type + - objectId + jobCriteria: + description: >- + This type represents collection criteria for logging jobs. It + shall comply with the provisions defined in table 8.6.3.2-1. + type: object + required: + - loggingType + properties: + loggingType: + description: >- + Type of logging. This defines the types of logged + information to collect. + + Permitted values: - MESSAGES: logged NFV-MANO service + interface messages. - SERVICES: logged messages about + processes pertaining to NFV-MANO services. - SYSTEM: + logged messages about the NFV-MANO functional entity’s + system enabled by the provider. + type: string + enum: + - MESSAGES + - SERVICES + - SYSTEM + messagesLogDetail: + description: >- + This type represents criteria for logging jobs to collect + logged messages on NFV-MANO service interfaces. It shall + comply with the provisions defined in table 8.6.3.3-1. + type: object + required: + - direction + properties: + direction: + description: >- + The direction of the interface messages to match. + + Permitted values: - IN: input messages into the + interface. - OUT: output messages from the interface. + - ALL: both input and output messages into/from the + interface. + type: string + enum: + - IN + - OUT + - ALL + matchingPatterns: + description: >- + Patterns to be matched in the interface message. If + provided, only messages that match all the values + provided in the sub-attributes shall be logged. An API + consumer can provide more than one "matchingPattern" + if combinations of patterns are to be considered to + match diverse sets of interface messages. + type: array + items: + type: object + anyOf: + - required: + - srcIpAddress + - required: + - dstIpAddress + - required: + - requestMethod + - required: + - requestUriPattern + - required: + - responseCodes + properties: + srcIpAddress: + description: > + An IPV4 or IPV6 address. Representation: In case + of an IPV4 address, string that consists of four + decimal integers separated by dots, each integer + ranging from 0 to 255. In case of an IPV6 + address, string that consists of groups of zero + to four hexadecimal digits, separated by colons. + type: string + format: IP + requestMethod: + description: >- + HTTP request method to be matched. To match, the + HTTP request method of the message shall be the + same as the value of this attribute. Valid + values are specified in IETF RFC 7231. The API + producer shall support this attribute. + type: string + requestUriPattern: + description: >- + Substring to be matched in the request URI. To + match, the request URI shall include the value + of + this attribute as a substring. This is typically used to match messages which associate to RESTful + resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall + support this attribute. + type: string + dstIpAddress: + description: > + An IPV4 or IPV6 address. Representation: In case + of an IPV4 address, string that consists of four + decimal integers separated by dots, each integer + ranging from 0 to 255. In case of an IPV6 + address, string that consists of groups of zero + to four hexadecimal digits, separated by colons. + type: string + format: IP + responseCodes: + description: >- + HTTP response codes or patterns to match. A list + of all valid HTTP response codes and their + specification documents can be obtained from the + HTTP status code registry. In addition, if + supported, the following patterns may be used + (case-insensitive): - "1XX": for matching any + kind of informational response. - "2XX": for + matching any kind of success response. - "3XX": + for matching any kind redirection response. - + "4XX": for matching any kind of client error + response. - "5XX": for matching any kind of + server error response. + + The API producer shall support this attribute + type: array + items: + type: string + headerField: + description: >- + Name of the header field to be matched. The + header field name shall be one of the supported + fields in a request message as defined in clause + 4.2.2 of ETSI GS NFV-SOL 013 or in a response + message as defined in clause 4.2.3 of ETSI GS + NFV-SOL 013, in accordance with the "direction" + criteria input. The API producer may support + this attribute. + type: string + headerValue: + description: >- + Value in the header to be matched. To match, the + value in the header field indicated by + "headerField" shall be the same as in this + attribute. Shall be provided if a "headerField" + is provided. The API producer may support this + attribute. + type: string + bodyValues: + description: >- + A list of strings to be matched in the body part + of the interface message (e.g., the body of an + HTTP message). If provided, only messages with + text in the body part containing all the values + from the list shall match the filter. In + addition to a matching filter for the body of + the message, a corresponding "headerField" + filter shall also be provided, with + "headerField" set to "Content-Type", to restrict + matching to appropriate textual payloads such as + "application/json" or "text/plain". The API + producer may support this attribute + type: string + servicesLogDetail: + description: >- + This type represents criteria for logging jobs to collect + logged messages about processes pertaining to NFV-MANO + services. It shall comply with the provisions defined in + table 8.6.3.4-1. + type: object + properties: + logGarbageCollection: + description: >- + Indicates to collect logged information about garbage + collection processes associated to NFV-MANO services. + type: boolean + systemLogDetail: + description: >- + This type represents criteria for logging jobs to collect + logged system events of the NFV-MANO functional entity. It + shall comply with the provisions defined in table + 8.6.3.5-1. + type: object + required: + - systemLogs + - severityLevel + properties: + systemLogs: + description: > + This type represents a list of key-value pairs. The + order of the pairs in the list is not significant. In + JSON, a set of keyvalue pairs is represented as an + object. It shall comply with the provisions defined in + clause 4 of IETF RFC 8259. In the following example, a + list of key-value pairs with four keys ("aString", + "aNumber", "anArray" and "anObject") is provided to + illustrate that the values associated with different + keys can be of different type. + type: object + severityLevelScheme: + description: >- + Identifies a severity level scheme. The default value + is "rfc5424", which represents the set of values + specified in the clause 6.2.1, table 2 of IETF RFC + 5424. Other values may be used to signal different + schemes. + type: string + severityLevel: + description: >- + The severity level, which determines the severity of + the system messages to collect. The NFV-MANO + functional entity shall collect system log messages, + as indicated by the "systemLogs" attribute, with + severity levels lower (i.e., more severe) or equal to + the value provided by this present attribute. + type: number + jobConfig: + description: >- + This type represents configuration data for a logging job. It + shall comply with the provisions defined in table 8.6.3.6-1. + NOTE: The present document version does not specify the + support for "log compilation and reporting based on events" as + specified in clause 6.6.2.2 of ETSI GS NFV-IFA 031. + type: object + required: + - reportingCondition + - securityConf + properties: + startTime: + description: > + Date-time stamp. Representation: String formatted + according to IETF RFC 3339. + type: string + format: date-time + endTime: + description: > + Date-time stamp. Representation: String formatted + according to IETF RFC 3339. + type: string + format: date-time + reportingCondition: + description: >- + Specifies the condition under which the producer will + report to the consumer about the compiled log data. + required: + - reportingType + properties: + reportingType: + description: >- + Specifies the type of reporting condition. Permitted + values: - REPORTING_ON_COMPILATION: the producer shall + notify the consumer once the compilation of the + collected logging data into a file is completed and a new log report is available. + - NO_REPORTING: no reporting is requested (the + consumer can query the logging jobs to know about the + availability of new log reports). + type: string + enum: + - REPORTING_ON_COMPILATION + - NO_REPORTING + minimumReportingPeriod: + description: >- + Specifies the minimum periodicity at which the + producer will report to the consumer about the + collected log information, in seconds. + type: integer + format: int32 + compileBySizeValue: + description: >- + An indicative size threshold for compiling the collected + log data, in bytes. It is used when the compilation is + based on the size of the collected log data. If not + present, a default value as specified with the + "defaultLogCompileBySizeValue" configuration in the + "ManoEntityConfigurableParams" shall be used + type: integer + format: int32 + compileByTimerValue: + description: >- + The periodicity threshold for compiling the filtered log, + in seconds. It is used when the compilation is based on a + timer (e.g., every 24 hours). If not present, a default + value as specified with the + "defaultLogCompileByTimerValue" configuration in the + "ManoEntityConfigurableParams" shall be used + type: integer + format: int32 + securityConf: + description: >- + Configuration about the security aspects of the logging + job. + type: object + properties: + logFileEncryption: + description: >- + Information about the encryption of the compiled log + files. Shall be present if the log file is requested + to be encrypted. + required: + - encryptionCertificate + - cipherAlgorithm + type: object + properties: + encryptionCertificate: + description: >- + X.509 certificate with the public key to use for + the encryption of the compiled log file. + type: string + cipherAlgorithm: + description: >- + Cryptographic algorithm to be used for the + encryption of the compiled log file. More than one + algorithm can be provided from higher (lower array + index) to lower (higher array index) precedence. + Valid values are: "AES-CBC-128", "AES-GCM-128", + "AES-CBC-256", and "AES-GCM-256", as specified in + clause 6.5 of ETSI GS NFV-SEC 012 + type: array + items: + type: string + minItems: 1 + encryptAndSignOrder: + description: >- + Indication about the order in signing and + encrypting the compiled log file. Valid values + are: "encryptFirst", to apply the order "first + encrypt, then sign", and "signFirst" for the order + "first sign, then encrypt". Default value is + "encryptFirst". + type: string + logTransferSecurity: + description: >- + Information about the security measures for + retrieving/accessing the compiled log files. + type: object + properties: + publicKey: + description: >- + The public key of the API consumer used for the + client authentication with the file server. Shall + be provided if required by the type of transfer + protocol. May be omitted if the key has been + provided to the API producer by other means, or if + it has already been provided in some previous + CreateLoggingJobRequest issued by the same API + consumer, whose public key has not changed. + type: string + required: true + CompileLogRequest: + description: Log compilation request. + content: + application/json: + schema: + description: > + This type represents a request to compile the logged data + associated to an object instance. It shall comply with the + provisions defined in table 8.6.2.8-1. + type: object + properties: + objectInstanceId: + description: > + This type represents the identifier to reference a managed + object of a particular type. + type: object + properties: + type: + description: > + Indicates the type of managed object. Permitted values: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + + The "MANO_ENTITY COMPONENT" is only applicable if + attribute "manoEntityComponents" in "ManoEntity" is + supported by the API producer. + type: string + enum: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + objectId: + description: | + An identifier with the intention of being globally unique. + type: string + subObjectId: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need not be + globally unique. Representation: string of variable + length.. + type: string + required: + - type + - objectId + required: true + LogReportAvailableNotification: + description: Notification about the availability of a log report. + content: + application/json: + schema: + description: >- + This notification informs the receiver that the log report of the + NFV-MANO functional entity is available. It shall comply with the + provisions defined in table 8.6.2.4-1. The notification shall be + triggered by the NFV-MANO functional entity when log information + has been collected by the logging job and the log report is + available. + type: object + required: + - id + - notificationType + - subscriptionId + - timeStamp + - objectInstanceId + - _links + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + notificationType: + description: >- + Discriminator for the different notification types. Shall be + set to "LogReportAvailableNotification" for this notification + type. + type: string + subscriptionId: + description: | + An identifier with the intention of being globally unique. + type: string + timeStamp: + description: > + Date-time stamp. Representation: String formatted according to + IETF RFC 3339. + type: string + format: date-time + objectInstanceId: + description: > + This type represents the identifier to reference a managed + object of a particular type. + type: object + properties: + type: + description: > + Indicates the type of managed object. Permitted values: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + + The "MANO_ENTITY COMPONENT" is only applicable if + attribute "manoEntityComponents" in "ManoEntity" is + supported by the API producer. + type: string + enum: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + objectId: + description: | + An identifier with the intention of being globally unique. + type: string + subObjectId: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need not be + globally unique. Representation: string of variable + length.. + type: string + required: + - type + - objectId + _links: + description: Links to resources related to this notification. + type: object + required: + - subscription + - logReports + properties: + subscription: + description: > + This type represents a link to a resource in a + notification, using an absolute or relative URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + objectInstance: + description: > + This type represents a link to a resource in a + notification, using an absolute or relative URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + LoggingJob: + description: > + This type represents a link to a resource in a + notification, using an absolute or relative URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + logReports: + description: >- + Link from which the available log report can be obtained. + Due to the relationship of the logging job compilation and + the logging information availability reporting, more than + one logReport notification link can be provided. + type: array + items: + description: > + This type represents a link to a resource in a + notification, using an absolute or relative URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + responses: + subscription.delete.204: + description: >- + Shall be returned when the "Individual subscription" resource has been + deleted successfully. The response body shall be empty. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP request + has provided an invalid authorization token. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + subscription.get.200: + description: >- + Shall be returned when the subscription has been read successfully. The + response body shall contain a representation of the "Individual + subscription" resource, as defined in clause 8.6.2.3. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP request + has provided an invalid authorization token. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + description: >- + This type represents a subscription. It shall comply with the + provisions defined in table 8.6.2.3-1. + 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 filter that can be used to subscribe + for notifications related to log management events. It shall + comply with the provisions defined in table 8.6.3.7-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). + type: object + properties: + objectInstanceFilter: + description: >- + This type represents subscription filter criteria to match + NFV-MANO functional entities and their associated managed + objects. It shall comply with the provisions defined in + Table 4.3.2.2-1. + type: object + anyOf: + - oneOf: + - required: + - manoServiceIds + - required: + - manoServiceNames + - oneOf: + - required: + - manoServiceInterfaceIds + - required: + - manoServiceInterfaceNames + - oneOf: + - required: + - consumedManoInterfaceIds + - required: + - consumedManoInterfaceNames + properties: + manoEntityId: + description: > + An identifier with the intention of being globally + unique. + type: string + manoServiceIds: + description: >- + If present, match NFV-MANO services with an instance + identifier listed in this attribute. + type: array + items: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need + not be globally unique. Representation: string of + variable length.. + type: string + manoServiceNames: + description: >- + If present, match NFV-MANO services with an NFV-MANO + service name listed in this attribute. + type: array + items: + type: string + manoServiceInterfaceIds: + description: >- + If present, match NFV-MANO functional entity produced + interfaces with an instance identifier listed in this + attribute. + type: array + items: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need + not be globally unique. Representation: string of + variable length.. + type: string + manoServiceInterfaceNames: + description: >- + If present, match NFV-MANO functional entity produced + interfaces with an instance Name listed in this + attribute. + type: array + items: + type: string + consumedManoInterfaceIds: + description: >- + If present, match NFV-MANO functional entity consumed + interfaces with an instance identifier listed in this + attribute. + type: array + items: + description: > + An identifier with the intention of being globally + unique. + type: string + consumedManoInterfaceNames: + description: >- + If present, match NFV-MANO functional entity consumed + interfaces with an instance Name listed in this + attribute. + type: array + items: + type: string + notificationTypes: + description: >- + Match particular notification types. Permitted values: - + LogReportAvailableNotification + type: string + enum: + - LogReportAvailableNotification + 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 using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + subscriptions.get.200: + description: >- + Shall be returned when the list of subscriptions has been queried + successfully. The response body shall contain in an array the + representations of all active subscriptions of the functional block that + invokes the method, i.e. zero or more representations of log management + subscriptions as defined in clause 8.6.2.3. If the "filter" URI + parameter was supplied in the request, the data in the response body + shall have been transformed according to the rules specified in clause + 5.2.2 of ETSI GS NFV-SOL 013. If the NFV-MANO functional entity supports + alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL + 013 for this resource, inclusion of the Link HTTP header in this + response shall follow the provisions in clause 5.4.2.3 of ETSI GS + NFV-SOL 013 . + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP request + has provided an invalid authorization token. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + type: array + items: + description: >- + This type represents a subscription. It shall comply with the + provisions defined in table 8.6.2.3-1. + 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 filter that can be used to subscribe + for notifications related to log management events. It shall + comply with the provisions defined in table 8.6.3.7-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). + type: object + properties: + objectInstanceFilter: + description: >- + This type represents subscription filter criteria to + match NFV-MANO functional entities and their associated + managed objects. It shall comply with the provisions + defined in Table 4.3.2.2-1. + type: object + anyOf: + - oneOf: + - required: + - manoServiceIds + - required: + - manoServiceNames + - oneOf: + - required: + - manoServiceInterfaceIds + - required: + - manoServiceInterfaceNames + - oneOf: + - required: + - consumedManoInterfaceIds + - required: + - consumedManoInterfaceNames + properties: + manoEntityId: + description: > + An identifier with the intention of being globally + unique. + type: string + manoServiceIds: + description: >- + If present, match NFV-MANO services with an instance + identifier listed in this attribute. + type: array + items: + description: > + An identifier that is unique for the respective + type within a NFV-MANO functional entity, but that + need not be globally unique. Representation: + string of variable length.. + type: string + manoServiceNames: + description: >- + If present, match NFV-MANO services with an NFV-MANO + service name listed in this attribute. + type: array + items: + type: string + manoServiceInterfaceIds: + description: >- + If present, match NFV-MANO functional entity + produced interfaces with an instance identifier + listed in this attribute. + type: array + items: + description: > + An identifier that is unique for the respective + type within a NFV-MANO functional entity, but that + need not be globally unique. Representation: + string of variable length.. + type: string + manoServiceInterfaceNames: + description: >- + If present, match NFV-MANO functional entity + produced interfaces with an instance Name listed in + this attribute. + type: array + items: + type: string + consumedManoInterfaceIds: + description: >- + If present, match NFV-MANO functional entity + consumed interfaces with an instance identifier + listed in this attribute. + type: array + items: + description: > + An identifier with the intention of being globally + unique. + type: string + consumedManoInterfaceNames: + description: >- + If present, match NFV-MANO functional entity + consumed interfaces with an instance Name listed in + this attribute. + type: array + items: + type: string + notificationTypes: + description: >- + Match particular notification types. Permitted values: - + LogReportAvailableNotification + type: string + enum: + - LogReportAvailableNotification + 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 using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + subscriptions.post.201: + description: >- + Shall be returned when the subscription has been created successfully. A + representation of the created "Individual subscription" resource shall + be returned in the response body, as defined in clause 8.6.2.3. The HTTP + response shall include a "Location" HTTP header that contains the + resource URI of the created "Individual subscription" resource. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP request + has provided an invalid authorization token. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + Location: + description: | + URI of the "Individual log report" resource just created + schema: + type: string + content: + application/json: + schema: + description: >- + This type represents a subscription. It shall comply with the + provisions defined in table 8.6.2.3-1. + 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 filter that can be used to subscribe + for notifications related to log management events. It shall + comply with the provisions defined in table 8.6.3.7-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). + type: object + properties: + objectInstanceFilter: + description: >- + This type represents subscription filter criteria to match + NFV-MANO functional entities and their associated managed + objects. It shall comply with the provisions defined in + Table 4.3.2.2-1. + type: object + anyOf: + - oneOf: + - required: + - manoServiceIds + - required: + - manoServiceNames + - oneOf: + - required: + - manoServiceInterfaceIds + - required: + - manoServiceInterfaceNames + - oneOf: + - required: + - consumedManoInterfaceIds + - required: + - consumedManoInterfaceNames + properties: + manoEntityId: + description: > + An identifier with the intention of being globally + unique. + type: string + manoServiceIds: + description: >- + If present, match NFV-MANO services with an instance + identifier listed in this attribute. + type: array + items: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need + not be globally unique. Representation: string of + variable length.. + type: string + manoServiceNames: + description: >- + If present, match NFV-MANO services with an NFV-MANO + service name listed in this attribute. + type: array + items: + type: string + manoServiceInterfaceIds: + description: >- + If present, match NFV-MANO functional entity produced + interfaces with an instance identifier listed in this + attribute. + type: array + items: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need + not be globally unique. Representation: string of + variable length.. + type: string + manoServiceInterfaceNames: + description: >- + If present, match NFV-MANO functional entity produced + interfaces with an instance Name listed in this + attribute. + type: array + items: + type: string + consumedManoInterfaceIds: + description: >- + If present, match NFV-MANO functional entity consumed + interfaces with an instance identifier listed in this + attribute. + type: array + items: + description: > + An identifier with the intention of being globally + unique. + type: string + consumedManoInterfaceNames: + description: >- + If present, match NFV-MANO functional entity consumed + interfaces with an instance Name listed in this + attribute. + type: array + items: + type: string + notificationTypes: + description: >- + Match particular notification types. Permitted values: - + LogReportAvailableNotification + type: string + enum: + - LogReportAvailableNotification + 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 using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + subscriptions.post.303: + description: >- + Shall be returned when a subscription with the same callbackURI and the + same filter already exists and the policy of the NFV-MANO functional + entity is to not create redundant subscriptions. The HTTP response shall + include a "Location" HTTP header that contains the resource URI of the + existing "Individual subscription" resource. The response body shall be + empty. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP request + has provided an invalid authorization token. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + Location: + description: | + URI of the "Individual log report" resource just created + schema: + type: string + LogReportCompiled.Post.200: + description: >- + Shall be returned for a successful compilation of the log data and + creation of the associated log report (synchronous mode). The response + body shall contain a representation of the log report resource, as + defined in clause 8.6.2.7. The HTTP response shall include a "Location" + HTTP header that indicate the URI of the "Individual log report" + resource just created + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP request + has provided an invalid authorization token. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + Location: + description: | + URI of the "Individual log report" resource just created + schema: + type: string + content: + application/json: + schema: + description: > + This type represents a log report, which provides information + about a compiled log and how to obtain it. It shall comply with + the provisions defined in table 8.6.2.7-1. + type: object + required: + - id + - objectInstanceId + - compilationTrigger + - readyTime + - fileFormat + - fileLocationInfo + - securityAndIntegrityInfo + - _links + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + objectInstanceId: + description: > + This type represents the identifier to reference a managed + object of a particular type. + type: object + properties: + type: + description: > + Indicates the type of managed object. Permitted values: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + + The "MANO_ENTITY COMPONENT" is only applicable if + attribute "manoEntityComponents" in "ManoEntity" is + supported by the API producer. + type: string + enum: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + objectId: + description: | + An identifier with the intention of being globally unique. + type: string + subObjectId: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need not be + globally unique. Representation: string of variable + length.. + type: string + required: + - type + - objectId + compilationTrigger: + description: >- + The trigger for the compilation of the log file. + + Permitted values: - ON_DEMAND: created based on explicit + request by a client. - AUTOMATIC: created according to the + logging job compilation configuration. + type: string + enum: + - ON_DEMAND + - AUTOMATIC + readyTime: + description: > + Date-time stamp. Representation: String formatted according to + IETF RFC 3339. + type: string + format: date-time + expiryTime: + description: > + Date-time stamp. Representation: String formatted according to + IETF RFC 3339. + type: string + format: date-time + fileSize: + description: 'The size of the compiled log file in bytes, if known.' + type: integer + format: int32 + fileFormat: + description: The encoding used by the file. + type: string + fileLocationInfo: + description: >- + Location and address information of the compiled log file. The + consumer can use this information to obtain the compiled log + file. + type: object + required: + - protocol + - fileEndpoint + properties: + protocol: + description: >- + Protocol over which the compiled log file can be + retrieved. + + Permitted values: - HTTPS: transmission over HTTP Secure + (HTTPS). - SFTP: transmission over SSH file transfer + protocol (SFTP). - SCP: transmission over secure copy + protocol (SCP). - FTPS: transmission over file transfer + protocol secure (FTPS), as specified in IETF RFC 2228 + [i.11], + using explicit mode as specified in IETF RFC 4217 [i.12]. If FTPS is supported, "private" protection level shall be used. + + HTTPS shall be supported, and other protocols may be + supported. + type: string + enum: + - HTTPS + - SFTP + - SCP + - FTPS + fileEndpoint: + description: >- + The host name (or IP address), optionally a port number + (if the host with the compile log file uses a non-standard + port number as per the supported transmission protocol), a + valid file directory path, and the file name of the + compiled log file, or a valid URL. + type: string + format: URI + securityAndIntegrityInfo: + description: >- + Security and integrity information for the compilation of the + log files. + type: object + required: + - algorithm + - hash + - logFileSignature + - signingCertificate + properties: + algorithm: + description: >- + Algorithm used to generate the hash of the compiled log + file. Only SHA-256 and SHA-512 shall be used + type: string + hash: + description: >- + The hexadecimal value of the hash of the compiled log + file. The hash shall be computed from the encrypted + compiled log file, in case the encryption applies. + type: string + encryptionPublicKey: + description: >- + Public key used for the encryption of the compiled log + file. Shall be present if the compiled log file is + encrypted. + type: string + cipherAlgorithm: + description: >- + The cryptographic algorithm used for the encryption. Shall + be present if the compiled log file is encrypted. Valid + values are: "AES-CBC-128", "AES-GCM-128", "AES-CBC-256", + and "AES-GCM-256", as specified in clause 6.5 of ETSI GS + NFV-SEC 012 [14]. + type: string + logFileSignature: + description: >- + Signature to the compiled log file generated with the + NFV-MANO functional entity’s private key, which is used to + ensure the authenticity of the compiled log file. The + signature shall be applied according to the + "encryptAndSignOrder" of the "LoggingJobConfig". + type: string + signingCertificate: + description: >- + X.509 certificate with the NFV-MANO functional entity’s + public key used for verifying the log report and compiled + log file signatures. + type: string + _links: + description: Links for this resource. + type: object + required: + - self + properties: + self: + description: > + This type represents a link to a resource using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + objects: + description: >- + Links to resources representing the object instances that + are logged. Shall be present if the logged object instance + information is accessible as a resource. + type: array + items: + description: > + This type represents a link to a resource using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + LogReportCompiled.Post.202: + description: >- + Shall be returned when the request has been accepted for processing, and + it is expected to take some time to compile the log file and create the + associated log report (asynchronous mode). The response body shall be + empty. The HTTP response shall include a "Location" HTTP header that + indicates the URI of the "Individual log report" resource that will be + created once the log file compilation is completed. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP request + has provided an invalid authorization token. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + Location: + description: > + The URI of the "Individual log report" resource that will be created + once the log file compilation is completed. + schema: + type: string + LogReportCompiled.Post.303: + description: >- + Shall be returned when a log data compilation and report creation is + already ongoing, or a log report has just been created, for the + specified logging job at the time of processing the request. The + response body shall be empty. The HTTP response shall include a + "Location" HTTP header that contains the resource URI of the log report + resource just created, or to be created by the ongoing compilation and + report creation. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP request + has provided an invalid authorization token. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + Location: + description: > + The URI of the log report resource just created, or to be created by + the ongoing compilation and report creation + schema: + type: string + LogReportCompiled.Post.422: + description: >- + The general cause for this error and its handling is specified in clause + 6.4 of ETSI GS NFV-SOL 013, including rules for the presence of the + response body. Specifically, in case of this task resource, the response + code 422 shall also be returned if the "objectInstanceId" value provided + in the payload body of the request does not correspond to an object + instance for which log data is being collected by the logging job + represented by this resource. 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. + schema: + type: string + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP request + has provided an invalid authorization token. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure from + IETF RFC 7807 [19] is reproduced inthis structure. Compared to the + general framework defined in IETF RFC 7807 [19], the "status" and + "detail" attributes are mandated to be included by the present + document, to ensure that the response contains additional textual + information about an error. IETF RFC 7807 [19] foresees + extensibility of the "ProblemDetails" type. It is possible that + particular APIs in the present document, or particular + implementations, define extensions to define additional attributes + that provide more information about the error. The description + column only provides some explanation of the meaning to Facilitate + understanding of the design. For a full description, see IETF RFC + 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that identifies + the problem type. It is encouraged that the URI provides + human-readable documentation for the problem (e.g. using HTML) + when dereferenced. When this member is not present, its value + is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It should + not change from occurrence to occurrence of the problem, + except for purposes of localization. If type is given and + other than "about:blank", this attribute shall also be + provided. A short, human-readable summary of the problem + type. It SHOULD NOT change from occurrence to occurrence of + the problem, except for purposes of localization (e.g., using + proactive content negotiation; see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. The + HTTP status code ([RFC7231], Section 6) generated by the + origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence of + the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of the + problem. It may yield further information if dereferenced. + type: string + format: URI + LogReport.Get.200: + description: >- + Shall be returned when information of an individual log report has been + read successfully. The response body shall contain a representation of + the "Individual log report" resource, as defined in clause 8.6.2.7. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP request + has provided an invalid authorization token. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + description: > + This type represents a log report, which provides information + about a compiled log and how to obtain it. It shall comply with + the provisions defined in table 8.6.2.7-1. + type: object + required: + - id + - objectInstanceId + - compilationTrigger + - readyTime + - fileFormat + - fileLocationInfo + - securityAndIntegrityInfo + - _links + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + objectInstanceId: + description: > + This type represents the identifier to reference a managed + object of a particular type. + type: object + properties: + type: + description: > + Indicates the type of managed object. Permitted values: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + + The "MANO_ENTITY COMPONENT" is only applicable if + attribute "manoEntityComponents" in "ManoEntity" is + supported by the API producer. + type: string + enum: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + objectId: + description: | + An identifier with the intention of being globally unique. + type: string + subObjectId: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need not be + globally unique. Representation: string of variable + length.. + type: string + required: + - type + - objectId + compilationTrigger: + description: >- + The trigger for the compilation of the log file. + + Permitted values: - ON_DEMAND: created based on explicit + request by a client. - AUTOMATIC: created according to the + logging job compilation configuration. + type: string + enum: + - ON_DEMAND + - AUTOMATIC + readyTime: + description: > + Date-time stamp. Representation: String formatted according to + IETF RFC 3339. + type: string + format: date-time + expiryTime: + description: > + Date-time stamp. Representation: String formatted according to + IETF RFC 3339. + type: string + format: date-time + fileSize: + description: 'The size of the compiled log file in bytes, if known.' + type: integer + format: int32 + fileFormat: + description: The encoding used by the file. + type: string + fileLocationInfo: + description: >- + Location and address information of the compiled log file. The + consumer can use this information to obtain the compiled log + file. + type: object + required: + - protocol + - fileEndpoint + properties: + protocol: + description: >- + Protocol over which the compiled log file can be + retrieved. + + Permitted values: - HTTPS: transmission over HTTP Secure + (HTTPS). - SFTP: transmission over SSH file transfer + protocol (SFTP). - SCP: transmission over secure copy + protocol (SCP). - FTPS: transmission over file transfer + protocol secure (FTPS), as specified in IETF RFC 2228 + [i.11], + using explicit mode as specified in IETF RFC 4217 [i.12]. If FTPS is supported, "private" protection level shall be used. + + HTTPS shall be supported, and other protocols may be + supported. + type: string + enum: + - HTTPS + - SFTP + - SCP + - FTPS + fileEndpoint: + description: >- + The host name (or IP address), optionally a port number + (if the host with the compile log file uses a non-standard + port number as per the supported transmission protocol), a + valid file directory path, and the file name of the + compiled log file, or a valid URL. + type: string + format: URI + securityAndIntegrityInfo: + description: >- + Security and integrity information for the compilation of the + log files. + type: object + required: + - algorithm + - hash + - logFileSignature + - signingCertificate + properties: + algorithm: + description: >- + Algorithm used to generate the hash of the compiled log + file. Only SHA-256 and SHA-512 shall be used + type: string + hash: + description: >- + The hexadecimal value of the hash of the compiled log + file. The hash shall be computed from the encrypted + compiled log file, in case the encryption applies. + type: string + encryptionPublicKey: + description: >- + Public key used for the encryption of the compiled log + file. Shall be present if the compiled log file is + encrypted. + type: string + cipherAlgorithm: + description: >- + The cryptographic algorithm used for the encryption. Shall + be present if the compiled log file is encrypted. Valid + values are: "AES-CBC-128", "AES-GCM-128", "AES-CBC-256", + and "AES-GCM-256", as specified in clause 6.5 of ETSI GS + NFV-SEC 012 [14]. + type: string + logFileSignature: + description: >- + Signature to the compiled log file generated with the + NFV-MANO functional entity’s private key, which is used to + ensure the authenticity of the compiled log file. The + signature shall be applied according to the + "encryptAndSignOrder" of the "LoggingJobConfig". + type: string + signingCertificate: + description: >- + X.509 certificate with the NFV-MANO functional entity’s + public key used for verifying the log report and compiled + log file signatures. + type: string + _links: + description: Links for this resource. + type: object + required: + - self + properties: + self: + description: > + This type represents a link to a resource using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + objects: + description: >- + Links to resources representing the object instances that + are logged. Shall be present if the logged object instance + information is accessible as a resource. + type: array + items: + description: > + This type represents a link to a resource using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + LogReport.Get.202: + description: >- + Shall be returned if the creation of the log report is ongoing and no + log report is available yet (applicable in asynchronous mode of the + "Compile log task" resource). The response body shall be empty. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP request + has provided an invalid authorization token. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + LoggingJob.Get: + description: >- + Shall be returned when information about an individual logging job has + been read successfully. The response body shall contain a representation + of the "Individual logging job" resource, as defined in clause 8.6.2.6. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP request + has provided an invalid authorization token. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + description: >- + This type represents a logging job. It shall comply with the + provisions defined in table 8.6.2.6-1. + type: object + required: + - id + - objectInstanceIds + - jobCriteria + - jobConfig + - _links + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + objectInstanceIds: + description: >- + Identifiers of the object instance for which logging + information is collected. This attribute shall contain the + identifier of the instance of the object that is logged + according to their type. + type: array + items: + description: > + This type represents the identifier to reference a managed + object of a particular type. + type: object + properties: + type: + description: > + Indicates the type of managed object. Permitted values: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + + The "MANO_ENTITY COMPONENT" is only applicable if + attribute "manoEntityComponents" in "ManoEntity" is + supported by the API producer. + type: string + enum: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + objectId: + description: > + An identifier with the intention of being globally + unique. + type: string + subObjectId: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need not + be globally unique. Representation: string of variable + length.. + type: string + required: + - type + - objectId + jobCriteria: + description: >- + This type represents collection criteria for logging jobs. It + shall comply with the provisions defined in table 8.6.3.2-1. + type: object + required: + - loggingType + properties: + loggingType: + description: >- + Type of logging. This defines the types of logged + information to collect. + + Permitted values: - MESSAGES: logged NFV-MANO service + interface messages. - SERVICES: logged messages about + processes pertaining to NFV-MANO services. - SYSTEM: + logged messages about the NFV-MANO functional entity’s + system enabled by the provider. + type: string + enum: + - MESSAGES + - SERVICES + - SYSTEM + messagesLogDetail: + description: >- + This type represents criteria for logging jobs to collect + logged messages on NFV-MANO service interfaces. It shall + comply with the provisions defined in table 8.6.3.3-1. + type: object + required: + - direction + properties: + direction: + description: >- + The direction of the interface messages to match. + + Permitted values: - IN: input messages into the + interface. - OUT: output messages from the interface. + - ALL: both input and output messages into/from the + interface. + type: string + enum: + - IN + - OUT + - ALL + matchingPatterns: + description: >- + Patterns to be matched in the interface message. If + provided, only messages that match all the values + provided in the sub-attributes shall be logged. An API + consumer can provide more than one "matchingPattern" + if combinations of patterns are to be considered to + match diverse sets of interface messages. + type: array + items: + type: object + anyOf: + - required: + - srcIpAddress + - required: + - dstIpAddress + - required: + - requestMethod + - required: + - requestUriPattern + - required: + - responseCodes + properties: + srcIpAddress: + description: > + An IPV4 or IPV6 address. Representation: In case + of an IPV4 address, string that consists of four + decimal integers separated by dots, each integer + ranging from 0 to 255. In case of an IPV6 + address, string that consists of groups of zero + to four hexadecimal digits, separated by colons. + type: string + format: IP + requestMethod: + description: >- + HTTP request method to be matched. To match, the + HTTP request method of the message shall be the + same as the value of this attribute. Valid + values are specified in IETF RFC 7231. The API + producer shall support this attribute. + type: string + requestUriPattern: + description: >- + Substring to be matched in the request URI. To + match, the request URI shall include the value + of + this attribute as a substring. This is typically used to match messages which associate to RESTful + resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall + support this attribute. + type: string + dstIpAddress: + description: > + An IPV4 or IPV6 address. Representation: In case + of an IPV4 address, string that consists of four + decimal integers separated by dots, each integer + ranging from 0 to 255. In case of an IPV6 + address, string that consists of groups of zero + to four hexadecimal digits, separated by colons. + type: string + format: IP + responseCodes: + description: >- + HTTP response codes or patterns to match. A list + of all valid HTTP response codes and their + specification documents can be obtained from the + HTTP status code registry. In addition, if + supported, the following patterns may be used + (case-insensitive): - "1XX": for matching any + kind of informational response. - "2XX": for + matching any kind of success response. - "3XX": + for matching any kind redirection response. - + "4XX": for matching any kind of client error + response. - "5XX": for matching any kind of + server error response. + + The API producer shall support this attribute + type: array + items: + type: string + headerField: + description: >- + Name of the header field to be matched. The + header field name shall be one of the supported + fields in a request message as defined in clause + 4.2.2 of ETSI GS NFV-SOL 013 or in a response + message as defined in clause 4.2.3 of ETSI GS + NFV-SOL 013, in accordance with the "direction" + criteria input. The API producer may support + this attribute. + type: string + headerValue: + description: >- + Value in the header to be matched. To match, the + value in the header field indicated by + "headerField" shall be the same as in this + attribute. Shall be provided if a "headerField" + is provided. The API producer may support this + attribute. + type: string + bodyValues: + description: >- + A list of strings to be matched in the body part + of the interface message (e.g., the body of an + HTTP message). If provided, only messages with + text in the body part containing all the values + from the list shall match the filter. In + addition to a matching filter for the body of + the message, a corresponding "headerField" + filter shall also be provided, with + "headerField" set to "Content-Type", to restrict + matching to appropriate textual payloads such as + "application/json" or "text/plain". The API + producer may support this attribute + type: string + servicesLogDetail: + description: >- + This type represents criteria for logging jobs to collect + logged messages about processes pertaining to NFV-MANO + services. It shall comply with the provisions defined in + table 8.6.3.4-1. + type: object + properties: + logGarbageCollection: + description: >- + Indicates to collect logged information about garbage + collection processes associated to NFV-MANO services. + type: boolean + systemLogDetail: + description: >- + This type represents criteria for logging jobs to collect + logged system events of the NFV-MANO functional entity. It + shall comply with the provisions defined in table + 8.6.3.5-1. + type: object + required: + - systemLogs + - severityLevel + properties: + systemLogs: + description: > + This type represents a list of key-value pairs. The + order of the pairs in the list is not significant. In + JSON, a set of keyvalue pairs is represented as an + object. It shall comply with the provisions defined in + clause 4 of IETF RFC 8259. In the following example, a + list of key-value pairs with four keys ("aString", + "aNumber", "anArray" and "anObject") is provided to + illustrate that the values associated with different + keys can be of different type. + type: object + severityLevelScheme: + description: >- + Identifies a severity level scheme. The default value + is "rfc5424", which represents the set of values + specified in the clause 6.2.1, table 2 of IETF RFC + 5424. Other values may be used to signal different + schemes. + type: string + severityLevel: + description: >- + The severity level, which determines the severity of + the system messages to collect. The NFV-MANO + functional entity shall collect system log messages, + as indicated by the "systemLogs" attribute, with + severity levels lower (i.e., more severe) or equal to + the value provided by this present attribute. + type: number + jobConfig: + description: >- + This type represents configuration data for a logging job. It + shall comply with the provisions defined in table 8.6.3.6-1. + NOTE: The present document version does not specify the + support for "log compilation and reporting based on events" as + specified in clause 6.6.2.2 of ETSI GS NFV-IFA 031. + type: object + required: + - reportingCondition + - securityConf + properties: + startTime: + description: > + Date-time stamp. Representation: String formatted + according to IETF RFC 3339. + type: string + format: date-time + endTime: + description: > + Date-time stamp. Representation: String formatted + according to IETF RFC 3339. + type: string + format: date-time + reportingCondition: + description: >- + Specifies the condition under which the producer will + report to the consumer about the compiled log data. + required: + - reportingType + properties: + reportingType: + description: >- + Specifies the type of reporting condition. Permitted + values: - REPORTING_ON_COMPILATION: the producer shall + notify the consumer once the compilation of the + collected logging data into a file is completed and a new log report is available. + - NO_REPORTING: no reporting is requested (the + consumer can query the logging jobs to know about the + availability of new log reports). + type: string + enum: + - REPORTING_ON_COMPILATION + - NO_REPORTING + minimumReportingPeriod: + description: >- + Specifies the minimum periodicity at which the + producer will report to the consumer about the + collected log information, in seconds. + type: integer + format: int32 + compileBySizeValue: + description: >- + An indicative size threshold for compiling the collected + log data, in bytes. It is used when the compilation is + based on the size of the collected log data. If not + present, a default value as specified with the + "defaultLogCompileBySizeValue" configuration in the + "ManoEntityConfigurableParams" shall be used + type: integer + format: int32 + compileByTimerValue: + description: >- + The periodicity threshold for compiling the filtered log, + in seconds. It is used when the compilation is based on a + timer (e.g., every 24 hours). If not present, a default + value as specified with the + "defaultLogCompileByTimerValue" configuration in the + "ManoEntityConfigurableParams" shall be used + type: integer + format: int32 + securityConf: + description: >- + Configuration about the security aspects of the logging + job. + type: object + properties: + logFileEncryption: + description: >- + Information about the encryption of the compiled log + files. Shall be present if the log file is requested + to be encrypted. + required: + - encryptionCertificate + - cipherAlgorithm + type: object + properties: + encryptionCertificate: + description: >- + X.509 certificate with the public key to use for + the encryption of the compiled log file. + type: string + cipherAlgorithm: + description: >- + Cryptographic algorithm to be used for the + encryption of the compiled log file. More than one + algorithm can be provided from higher (lower array + index) to lower (higher array index) precedence. + Valid values are: "AES-CBC-128", "AES-GCM-128", + "AES-CBC-256", and "AES-GCM-256", as specified in + clause 6.5 of ETSI GS NFV-SEC 012 + type: array + items: + type: string + minItems: 1 + encryptAndSignOrder: + description: >- + Indication about the order in signing and + encrypting the compiled log file. Valid values + are: "encryptFirst", to apply the order "first + encrypt, then sign", and "signFirst" for the order + "first sign, then encrypt". Default value is + "encryptFirst". + type: string + logTransferSecurity: + description: >- + Information about the security measures for + retrieving/accessing the compiled log files. + type: object + properties: + publicKey: + description: >- + The public key of the API consumer used for the + client authentication with the file server. Shall + be provided if required by the type of transfer + protocol. May be omitted if the key has been + provided to the API producer by other means, or if + it has already been provided in some previous + CreateLoggingJobRequest issued by the same API + consumer, whose public key has not changed. + type: string + logReports: + description: >- + Information about available log reports created by the logging + job. + type: array + items: + type: object + required: + - logReportId + - logReportLoc + properties: + logReportId: + description: > + An identifier with the intention of being globally + unique. + type: string + logReportLoc: + description: > + This type represents a link to a resource using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + _links: + description: Links for this resource. + type: object + required: + - self + properties: + self: + description: > + This type represents a link to a resource using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + objects: + description: >- + Links to resources representing the object instances that + are logged. Shall be present if the logged object instance + information is accessible as a resource. + type: array + items: + description: > + This type represents a link to a resource using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + LoggingJob.Delete: + description: >- + Shall be returned when the logging job has been 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. + schema: + type: string + Version: + description: Version of the API used in the response. + schema: + type: string + LoggingJob.Post: + description: >- + The response body contains the Application Context as it was created by + the MEC system + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP request + has provided an invalid authorization token. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + description: >- + This type represents a logging job. It shall comply with the + provisions defined in table 8.6.2.6-1. + type: object + required: + - id + - objectInstanceIds + - jobCriteria + - jobConfig + - _links + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + objectInstanceIds: + description: >- + Identifiers of the object instance for which logging + information is collected. This attribute shall contain the + identifier of the instance of the object that is logged + according to their type. + type: array + items: + description: > + This type represents the identifier to reference a managed + object of a particular type. + type: object + properties: + type: + description: > + Indicates the type of managed object. Permitted values: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + + The "MANO_ENTITY COMPONENT" is only applicable if + attribute "manoEntityComponents" in "ManoEntity" is + supported by the API producer. + type: string + enum: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + objectId: + description: > + An identifier with the intention of being globally + unique. + type: string + subObjectId: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need not + be globally unique. Representation: string of variable + length.. + type: string + required: + - type + - objectId + jobCriteria: + description: >- + This type represents collection criteria for logging jobs. It + shall comply with the provisions defined in table 8.6.3.2-1. + type: object + required: + - loggingType + properties: + loggingType: + description: >- + Type of logging. This defines the types of logged + information to collect. + + Permitted values: - MESSAGES: logged NFV-MANO service + interface messages. - SERVICES: logged messages about + processes pertaining to NFV-MANO services. - SYSTEM: + logged messages about the NFV-MANO functional entity’s + system enabled by the provider. + type: string + enum: + - MESSAGES + - SERVICES + - SYSTEM + messagesLogDetail: + description: >- + This type represents criteria for logging jobs to collect + logged messages on NFV-MANO service interfaces. It shall + comply with the provisions defined in table 8.6.3.3-1. + type: object + required: + - direction + properties: + direction: + description: >- + The direction of the interface messages to match. + + Permitted values: - IN: input messages into the + interface. - OUT: output messages from the interface. + - ALL: both input and output messages into/from the + interface. + type: string + enum: + - IN + - OUT + - ALL + matchingPatterns: + description: >- + Patterns to be matched in the interface message. If + provided, only messages that match all the values + provided in the sub-attributes shall be logged. An API + consumer can provide more than one "matchingPattern" + if combinations of patterns are to be considered to + match diverse sets of interface messages. + type: array + items: + type: object + anyOf: + - required: + - srcIpAddress + - required: + - dstIpAddress + - required: + - requestMethod + - required: + - requestUriPattern + - required: + - responseCodes + properties: + srcIpAddress: + description: > + An IPV4 or IPV6 address. Representation: In case + of an IPV4 address, string that consists of four + decimal integers separated by dots, each integer + ranging from 0 to 255. In case of an IPV6 + address, string that consists of groups of zero + to four hexadecimal digits, separated by colons. + type: string + format: IP + requestMethod: + description: >- + HTTP request method to be matched. To match, the + HTTP request method of the message shall be the + same as the value of this attribute. Valid + values are specified in IETF RFC 7231. The API + producer shall support this attribute. + type: string + requestUriPattern: + description: >- + Substring to be matched in the request URI. To + match, the request URI shall include the value + of + this attribute as a substring. This is typically used to match messages which associate to RESTful + resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall + support this attribute. + type: string + dstIpAddress: + description: > + An IPV4 or IPV6 address. Representation: In case + of an IPV4 address, string that consists of four + decimal integers separated by dots, each integer + ranging from 0 to 255. In case of an IPV6 + address, string that consists of groups of zero + to four hexadecimal digits, separated by colons. + type: string + format: IP + responseCodes: + description: >- + HTTP response codes or patterns to match. A list + of all valid HTTP response codes and their + specification documents can be obtained from the + HTTP status code registry. In addition, if + supported, the following patterns may be used + (case-insensitive): - "1XX": for matching any + kind of informational response. - "2XX": for + matching any kind of success response. - "3XX": + for matching any kind redirection response. - + "4XX": for matching any kind of client error + response. - "5XX": for matching any kind of + server error response. + + The API producer shall support this attribute + type: array + items: + type: string + headerField: + description: >- + Name of the header field to be matched. The + header field name shall be one of the supported + fields in a request message as defined in clause + 4.2.2 of ETSI GS NFV-SOL 013 or in a response + message as defined in clause 4.2.3 of ETSI GS + NFV-SOL 013, in accordance with the "direction" + criteria input. The API producer may support + this attribute. + type: string + headerValue: + description: >- + Value in the header to be matched. To match, the + value in the header field indicated by + "headerField" shall be the same as in this + attribute. Shall be provided if a "headerField" + is provided. The API producer may support this + attribute. + type: string + bodyValues: + description: >- + A list of strings to be matched in the body part + of the interface message (e.g., the body of an + HTTP message). If provided, only messages with + text in the body part containing all the values + from the list shall match the filter. In + addition to a matching filter for the body of + the message, a corresponding "headerField" + filter shall also be provided, with + "headerField" set to "Content-Type", to restrict + matching to appropriate textual payloads such as + "application/json" or "text/plain". The API + producer may support this attribute + type: string + servicesLogDetail: + description: >- + This type represents criteria for logging jobs to collect + logged messages about processes pertaining to NFV-MANO + services. It shall comply with the provisions defined in + table 8.6.3.4-1. + type: object + properties: + logGarbageCollection: + description: >- + Indicates to collect logged information about garbage + collection processes associated to NFV-MANO services. + type: boolean + systemLogDetail: + description: >- + This type represents criteria for logging jobs to collect + logged system events of the NFV-MANO functional entity. It + shall comply with the provisions defined in table + 8.6.3.5-1. + type: object + required: + - systemLogs + - severityLevel + properties: + systemLogs: + description: > + This type represents a list of key-value pairs. The + order of the pairs in the list is not significant. In + JSON, a set of keyvalue pairs is represented as an + object. It shall comply with the provisions defined in + clause 4 of IETF RFC 8259. In the following example, a + list of key-value pairs with four keys ("aString", + "aNumber", "anArray" and "anObject") is provided to + illustrate that the values associated with different + keys can be of different type. + type: object + severityLevelScheme: + description: >- + Identifies a severity level scheme. The default value + is "rfc5424", which represents the set of values + specified in the clause 6.2.1, table 2 of IETF RFC + 5424. Other values may be used to signal different + schemes. + type: string + severityLevel: + description: >- + The severity level, which determines the severity of + the system messages to collect. The NFV-MANO + functional entity shall collect system log messages, + as indicated by the "systemLogs" attribute, with + severity levels lower (i.e., more severe) or equal to + the value provided by this present attribute. + type: number + jobConfig: + description: >- + This type represents configuration data for a logging job. It + shall comply with the provisions defined in table 8.6.3.6-1. + NOTE: The present document version does not specify the + support for "log compilation and reporting based on events" as + specified in clause 6.6.2.2 of ETSI GS NFV-IFA 031. + type: object + required: + - reportingCondition + - securityConf + properties: + startTime: + description: > + Date-time stamp. Representation: String formatted + according to IETF RFC 3339. + type: string + format: date-time + endTime: + description: > + Date-time stamp. Representation: String formatted + according to IETF RFC 3339. + type: string + format: date-time + reportingCondition: + description: >- + Specifies the condition under which the producer will + report to the consumer about the compiled log data. + required: + - reportingType + properties: + reportingType: + description: >- + Specifies the type of reporting condition. Permitted + values: - REPORTING_ON_COMPILATION: the producer shall + notify the consumer once the compilation of the + collected logging data into a file is completed and a new log report is available. + - NO_REPORTING: no reporting is requested (the + consumer can query the logging jobs to know about the + availability of new log reports). + type: string + enum: + - REPORTING_ON_COMPILATION + - NO_REPORTING + minimumReportingPeriod: + description: >- + Specifies the minimum periodicity at which the + producer will report to the consumer about the + collected log information, in seconds. + type: integer + format: int32 + compileBySizeValue: + description: >- + An indicative size threshold for compiling the collected + log data, in bytes. It is used when the compilation is + based on the size of the collected log data. If not + present, a default value as specified with the + "defaultLogCompileBySizeValue" configuration in the + "ManoEntityConfigurableParams" shall be used + type: integer + format: int32 + compileByTimerValue: + description: >- + The periodicity threshold for compiling the filtered log, + in seconds. It is used when the compilation is based on a + timer (e.g., every 24 hours). If not present, a default + value as specified with the + "defaultLogCompileByTimerValue" configuration in the + "ManoEntityConfigurableParams" shall be used + type: integer + format: int32 + securityConf: + description: >- + Configuration about the security aspects of the logging + job. + type: object + properties: + logFileEncryption: + description: >- + Information about the encryption of the compiled log + files. Shall be present if the log file is requested + to be encrypted. + required: + - encryptionCertificate + - cipherAlgorithm + type: object + properties: + encryptionCertificate: + description: >- + X.509 certificate with the public key to use for + the encryption of the compiled log file. + type: string + cipherAlgorithm: + description: >- + Cryptographic algorithm to be used for the + encryption of the compiled log file. More than one + algorithm can be provided from higher (lower array + index) to lower (higher array index) precedence. + Valid values are: "AES-CBC-128", "AES-GCM-128", + "AES-CBC-256", and "AES-GCM-256", as specified in + clause 6.5 of ETSI GS NFV-SEC 012 + type: array + items: + type: string + minItems: 1 + encryptAndSignOrder: + description: >- + Indication about the order in signing and + encrypting the compiled log file. Valid values + are: "encryptFirst", to apply the order "first + encrypt, then sign", and "signFirst" for the order + "first sign, then encrypt". Default value is + "encryptFirst". + type: string + logTransferSecurity: + description: >- + Information about the security measures for + retrieving/accessing the compiled log files. + type: object + properties: + publicKey: + description: >- + The public key of the API consumer used for the + client authentication with the file server. Shall + be provided if required by the type of transfer + protocol. May be omitted if the key has been + provided to the API producer by other means, or if + it has already been provided in some previous + CreateLoggingJobRequest issued by the same API + consumer, whose public key has not changed. + type: string + logReports: + description: >- + Information about available log reports created by the logging + job. + type: array + items: + type: object + required: + - logReportId + - logReportLoc + properties: + logReportId: + description: > + An identifier with the intention of being globally + unique. + type: string + logReportLoc: + description: > + This type represents a link to a resource using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + _links: + description: Links for this resource. + type: object + required: + - self + properties: + self: + description: > + This type represents a link to a resource using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + objects: + description: >- + Links to resources representing the object instances that + are logged. Shall be present if the logged object instance + information is accessible as a resource. + type: array + items: + description: > + This type represents a link to a resource using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + LoggingJobs.Get: + description: >- + Shall be returned when information about zero or more logging jobs has + been queried successfully. + + The response body shall contain in an array the representations of zero + or more logging jobs, as defined in clause 8.6.2.6. + + If the "filter" URI parameter or one of the "all_fields", "fields" (if + supported), "exclude_fields" (if supported) or "exclude_default" URI + parameters was supplied in the request, the data in the response body + shall have been transformed according to the rules specified in clauses + 5.2.2 and 5.3.2 of ETSI GS NFV-SOL 013, respectively. + + If the NFV-MANO functional entity supports alternative 2 (paging) + according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, + inclusion of the Link HTTP header in this response shall follow the + provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP request + has provided an invalid authorization token. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + type: array + items: + description: >- + This type represents a logging job. It shall comply with the + provisions defined in table 8.6.2.6-1. + type: object + required: + - id + - objectInstanceIds + - jobCriteria + - jobConfig + - _links + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + objectInstanceIds: + description: >- + Identifiers of the object instance for which logging + information is collected. This attribute shall contain the + identifier of the instance of the object that is logged + according to their type. + type: array + items: + description: > + This type represents the identifier to reference a managed + object of a particular type. + type: object + properties: + type: + description: > + Indicates the type of managed object. Permitted + values: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + + The "MANO_ENTITY COMPONENT" is only applicable if + attribute "manoEntityComponents" in "ManoEntity" is + supported by the API producer. + type: string + enum: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + objectId: + description: > + An identifier with the intention of being globally + unique. + type: string + subObjectId: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need not + be globally unique. Representation: string of variable + length.. + type: string + required: + - type + - objectId + jobCriteria: + description: >- + This type represents collection criteria for logging jobs. + It shall comply with the provisions defined in table + 8.6.3.2-1. + type: object + required: + - loggingType + properties: + loggingType: + description: >- + Type of logging. This defines the types of logged + information to collect. + + Permitted values: - MESSAGES: logged NFV-MANO service + interface messages. - SERVICES: logged messages about + processes pertaining to NFV-MANO services. - SYSTEM: + logged messages about the NFV-MANO functional entity’s + system enabled by the provider. + type: string + enum: + - MESSAGES + - SERVICES + - SYSTEM + messagesLogDetail: + description: >- + This type represents criteria for logging jobs to + collect logged messages on NFV-MANO service interfaces. + It shall comply with the provisions defined in table + 8.6.3.3-1. + type: object + required: + - direction + properties: + direction: + description: >- + The direction of the interface messages to match. + + Permitted values: - IN: input messages into the + interface. - OUT: output messages from the + interface. - ALL: both input and output messages + into/from the interface. + type: string + enum: + - IN + - OUT + - ALL + matchingPatterns: + description: >- + Patterns to be matched in the interface message. If + provided, only messages that match all the values + provided in the sub-attributes shall be logged. An + API consumer can provide more than one + "matchingPattern" if combinations of patterns are to + be considered to match diverse sets of interface + messages. + type: array + items: + type: object + anyOf: + - required: + - srcIpAddress + - required: + - dstIpAddress + - required: + - requestMethod + - required: + - requestUriPattern + - required: + - responseCodes + properties: + srcIpAddress: + description: > + An IPV4 or IPV6 address. Representation: In + case of an IPV4 address, string that consists + of four decimal integers separated by dots, + each integer ranging from 0 to 255. In case of + an IPV6 address, string that consists of + groups of zero to four hexadecimal digits, + separated by colons. + type: string + format: IP + requestMethod: + description: >- + HTTP request method to be matched. To match, + the HTTP request method of the message shall + be the same as the value of this attribute. + Valid values are specified in IETF RFC 7231. + The API producer shall support this attribute. + type: string + requestUriPattern: + description: >- + Substring to be matched in the request URI. To + match, the request URI shall include the value + of + this attribute as a substring. This is typically used to match messages which associate to RESTful + resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall + support this attribute. + type: string + dstIpAddress: + description: > + An IPV4 or IPV6 address. Representation: In + case of an IPV4 address, string that consists + of four decimal integers separated by dots, + each integer ranging from 0 to 255. In case of + an IPV6 address, string that consists of + groups of zero to four hexadecimal digits, + separated by colons. + type: string + format: IP + responseCodes: + description: >- + HTTP response codes or patterns to match. A + list of all valid HTTP response codes and + their specification documents can be obtained + from the HTTP status code registry. In + addition, if supported, the following patterns + may be used (case-insensitive): - "1XX": for + matching any kind of informational response. - + "2XX": for matching any kind of success + response. - "3XX": for matching any kind + redirection response. - "4XX": for matching + any kind of client error response. - "5XX": + for matching any kind of server error + response. + + The API producer shall support this attribute + type: array + items: + type: string + headerField: + description: >- + Name of the header field to be matched. The + header field name shall be one of the + supported fields in a request message as + defined in clause 4.2.2 of ETSI GS NFV-SOL 013 + or in a response message as defined in clause + 4.2.3 of ETSI GS NFV-SOL 013, in accordance + with the "direction" criteria input. The API + producer may support this attribute. + type: string + headerValue: + description: >- + Value in the header to be matched. To match, + the value in the header field indicated by + "headerField" shall be the same as in this + attribute. Shall be provided if a + "headerField" is provided. The API producer + may support this attribute. + type: string + bodyValues: + description: >- + A list of strings to be matched in the body + part of the interface message (e.g., the body + of an HTTP message). If provided, only + messages with text in the body part containing + all the values from the list shall match the + filter. In addition to a matching filter for + the body of the message, a corresponding + "headerField" filter shall also be provided, + with "headerField" set to "Content-Type", to + restrict matching to appropriate textual + payloads such as "application/json" or + "text/plain". The API producer may support + this attribute + type: string + servicesLogDetail: + description: >- + This type represents criteria for logging jobs to + collect logged messages about processes pertaining to + NFV-MANO services. It shall comply with the provisions + defined in table 8.6.3.4-1. + type: object + properties: + logGarbageCollection: + description: >- + Indicates to collect logged information about + garbage collection processes associated to NFV-MANO + services. + type: boolean + systemLogDetail: + description: >- + This type represents criteria for logging jobs to + collect logged system events of the NFV-MANO functional + entity. It shall comply with the provisions defined in + table 8.6.3.5-1. + type: object + required: + - systemLogs + - severityLevel + properties: + systemLogs: + description: > + This type represents a list of key-value pairs. The + order of the pairs in the list is not significant. + In JSON, a set of keyvalue pairs is represented as + an object. It shall comply with the provisions + defined in clause 4 of IETF RFC 8259. In the + following example, a list of key-value pairs with + four keys ("aString", "aNumber", "anArray" and + "anObject") is provided to illustrate that the + values associated with different keys can be of + different type. + type: object + severityLevelScheme: + description: >- + Identifies a severity level scheme. The default + value is "rfc5424", which represents the set of + values specified in the clause 6.2.1, table 2 of + IETF RFC 5424. Other values may be used to signal + different schemes. + type: string + severityLevel: + description: >- + The severity level, which determines the severity of + the system messages to collect. The NFV-MANO + functional entity shall collect system log messages, + as indicated by the "systemLogs" attribute, with + severity levels lower (i.e., more severe) or equal + to the value provided by this present attribute. + type: number + jobConfig: + description: >- + This type represents configuration data for a logging job. + It shall comply with the provisions defined in table + 8.6.3.6-1. NOTE: The present document version does not + specify the support for "log compilation and reporting based + on events" as specified in clause 6.6.2.2 of ETSI GS NFV-IFA + 031. + type: object + required: + - reportingCondition + - securityConf + properties: + startTime: + description: > + Date-time stamp. Representation: String formatted + according to IETF RFC 3339. + type: string + format: date-time + endTime: + description: > + Date-time stamp. Representation: String formatted + according to IETF RFC 3339. + type: string + format: date-time + reportingCondition: + description: >- + Specifies the condition under which the producer will + report to the consumer about the compiled log data. + required: + - reportingType + properties: + reportingType: + description: >- + Specifies the type of reporting condition. Permitted + values: - REPORTING_ON_COMPILATION: the producer + shall notify the consumer once the compilation of + the + collected logging data into a file is completed and a new log report is available. + - NO_REPORTING: no reporting is requested (the + consumer can query the logging jobs to know about + the + availability of new log reports). + type: string + enum: + - REPORTING_ON_COMPILATION + - NO_REPORTING + minimumReportingPeriod: + description: >- + Specifies the minimum periodicity at which the + producer will report to the consumer about the + collected log information, in seconds. + type: integer + format: int32 + compileBySizeValue: + description: >- + An indicative size threshold for compiling the collected + log data, in bytes. It is used when the compilation is + based on the size of the collected log data. If not + present, a default value as specified with the + "defaultLogCompileBySizeValue" configuration in the + "ManoEntityConfigurableParams" shall be used + type: integer + format: int32 + compileByTimerValue: + description: >- + The periodicity threshold for compiling the filtered + log, in seconds. It is used when the compilation is + based on a timer (e.g., every 24 hours). If not present, + a default value as specified with the + "defaultLogCompileByTimerValue" configuration in the + "ManoEntityConfigurableParams" shall be used + type: integer + format: int32 + securityConf: + description: >- + Configuration about the security aspects of the logging + job. + type: object + properties: + logFileEncryption: + description: >- + Information about the encryption of the compiled log + files. Shall be present if the log file is requested + to be encrypted. + required: + - encryptionCertificate + - cipherAlgorithm + type: object + properties: + encryptionCertificate: + description: >- + X.509 certificate with the public key to use for + the encryption of the compiled log file. + type: string + cipherAlgorithm: + description: >- + Cryptographic algorithm to be used for the + encryption of the compiled log file. More than + one algorithm can be provided from higher (lower + array index) to lower (higher array index) + precedence. Valid values are: "AES-CBC-128", + "AES-GCM-128", "AES-CBC-256", and "AES-GCM-256", + as specified in clause 6.5 of ETSI GS NFV-SEC + 012 + type: array + items: + type: string + minItems: 1 + encryptAndSignOrder: + description: >- + Indication about the order in signing and + encrypting the compiled log file. Valid values + are: "encryptFirst", to apply the order "first + encrypt, then sign", and "signFirst" for the + order "first sign, then encrypt". Default value + is "encryptFirst". + type: string + logTransferSecurity: + description: >- + Information about the security measures for + retrieving/accessing the compiled log files. + type: object + properties: + publicKey: + description: >- + The public key of the API consumer used for the + client authentication with the file server. + Shall be provided if required by the type of + transfer protocol. May be omitted if the key has + been provided to the API producer by other + means, or if it has already been provided in + some previous CreateLoggingJobRequest issued by + the same API consumer, whose public key has not + changed. + type: string + logReports: + description: >- + Information about available log reports created by the + logging job. + type: array + items: + type: object + required: + - logReportId + - logReportLoc + properties: + logReportId: + description: > + An identifier with the intention of being globally + unique. + type: string + logReportLoc: + description: > + This type represents a link to a resource using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + _links: + description: Links for this resource. + type: object + required: + - self + properties: + self: + description: > + This type represents a link to a resource using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + objects: + description: >- + Links to resources representing the object instances + that are logged. Shall be present if the logged object + instance information is accessible as a resource. + type: array + items: + description: > + This type represents a link to a resource using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + LogReportAvailableNotification.Post: + description: Shall be returned when the notification has been delivered successfully. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP request + has provided an invalid authorization token. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + LogReportNotification.Get: + description: >- + Shall be returned to indicate that the notification endpoint has been + tested successfully. The response body shall be empty. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP request + has provided an invalid authorization token. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + schemas: + LogmSubscription: + description: >- + This type represents a subscription. It shall comply with the provisions + defined in table 8.6.2.3-1. + 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 filter that can be used to subscribe for + notifications related to log management events. It shall comply with + the provisions defined in table 8.6.3.7-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). + type: object + properties: + objectInstanceFilter: + description: >- + This type represents subscription filter criteria to match + NFV-MANO functional entities and their associated managed + objects. It shall comply with the provisions defined in Table + 4.3.2.2-1. + type: object + anyOf: + - oneOf: + - required: + - manoServiceIds + - required: + - manoServiceNames + - oneOf: + - required: + - manoServiceInterfaceIds + - required: + - manoServiceInterfaceNames + - oneOf: + - required: + - consumedManoInterfaceIds + - required: + - consumedManoInterfaceNames + properties: + manoEntityId: + description: | + An identifier with the intention of being globally unique. + type: string + manoServiceIds: + description: >- + If present, match NFV-MANO services with an instance + identifier listed in this attribute. + type: array + items: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need not be + globally unique. Representation: string of variable + length.. + type: string + manoServiceNames: + description: >- + If present, match NFV-MANO services with an NFV-MANO service + name listed in this attribute. + type: array + items: + type: string + manoServiceInterfaceIds: + description: >- + If present, match NFV-MANO functional entity produced + interfaces with an instance identifier listed in this + attribute. + type: array + items: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need not be + globally unique. Representation: string of variable + length.. + type: string + manoServiceInterfaceNames: + description: >- + If present, match NFV-MANO functional entity produced + interfaces with an instance Name listed in this attribute. + type: array + items: + type: string + consumedManoInterfaceIds: + description: >- + If present, match NFV-MANO functional entity consumed + interfaces with an instance identifier listed in this + attribute. + type: array + items: + description: | + An identifier with the intention of being globally unique. + type: string + consumedManoInterfaceNames: + description: >- + If present, match NFV-MANO functional entity consumed + interfaces with an instance Name listed in this attribute. + type: array + items: + type: string + notificationTypes: + description: >- + Match particular notification types. Permitted values: - + LogReportAvailableNotification + type: string + enum: + - LogReportAvailableNotification + 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 using an absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + LogmNotificationsFilter: + description: >- + This type represents a filter that can be used to subscribe for + notifications related to log management events. It shall comply with the + provisions defined in table 8.6.3.7-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). + type: object + properties: + objectInstanceFilter: + description: >- + This type represents subscription filter criteria to match NFV-MANO + functional entities and their associated managed objects. It shall + comply with the provisions defined in Table 4.3.2.2-1. + type: object + anyOf: + - oneOf: + - required: + - manoServiceIds + - required: + - manoServiceNames + - oneOf: + - required: + - manoServiceInterfaceIds + - required: + - manoServiceInterfaceNames + - oneOf: + - required: + - consumedManoInterfaceIds + - required: + - consumedManoInterfaceNames + properties: + manoEntityId: + description: | + An identifier with the intention of being globally unique. + type: string + manoServiceIds: + description: >- + If present, match NFV-MANO services with an instance identifier + listed in this attribute. + type: array + items: + description: > + An identifier that is unique for the respective type within a + NFV-MANO functional entity, but that need not be globally + unique. Representation: string of variable length.. + type: string + manoServiceNames: + description: >- + If present, match NFV-MANO services with an NFV-MANO service + name listed in this attribute. + type: array + items: + type: string + manoServiceInterfaceIds: + description: >- + If present, match NFV-MANO functional entity produced interfaces + with an instance identifier listed in this attribute. + type: array + items: + description: > + An identifier that is unique for the respective type within a + NFV-MANO functional entity, but that need not be globally + unique. Representation: string of variable length.. + type: string + manoServiceInterfaceNames: + description: >- + If present, match NFV-MANO functional entity produced interfaces + with an instance Name listed in this attribute. + type: array + items: + type: string + consumedManoInterfaceIds: + description: >- + If present, match NFV-MANO functional entity consumed interfaces + with an instance identifier listed in this attribute. + type: array + items: + description: | + An identifier with the intention of being globally unique. + type: string + consumedManoInterfaceNames: + description: >- + If present, match NFV-MANO functional entity consumed interfaces + with an instance Name listed in this attribute. + type: array + items: + type: string + notificationTypes: + description: >- + Match particular notification types. Permitted values: - + LogReportAvailableNotification + type: string + enum: + - LogReportAvailableNotification + ManoEntitySubscriptionFilter: + description: >- + This type represents subscription filter criteria to match NFV-MANO + functional entities and their associated managed objects. It shall + comply with the provisions defined in Table 4.3.2.2-1. + type: object + anyOf: + - oneOf: + - required: + - manoServiceIds + - required: + - manoServiceNames + - oneOf: + - required: + - manoServiceInterfaceIds + - required: + - manoServiceInterfaceNames + - oneOf: + - required: + - consumedManoInterfaceIds + - required: + - consumedManoInterfaceNames + properties: + manoEntityId: + description: | + An identifier with the intention of being globally unique. + type: string + manoServiceIds: + description: >- + If present, match NFV-MANO services with an instance identifier + listed in this attribute. + type: array + items: + description: > + An identifier that is unique for the respective type within a + NFV-MANO functional entity, but that need not be globally unique. + Representation: string of variable length.. + type: string + manoServiceNames: + description: >- + If present, match NFV-MANO services with an NFV-MANO service name + listed in this attribute. + type: array + items: + type: string + manoServiceInterfaceIds: + description: >- + If present, match NFV-MANO functional entity produced interfaces + with an instance identifier listed in this attribute. + type: array + items: + description: > + An identifier that is unique for the respective type within a + NFV-MANO functional entity, but that need not be globally unique. + Representation: string of variable length.. + type: string + manoServiceInterfaceNames: + description: >- + If present, match NFV-MANO functional entity produced interfaces + with an instance Name listed in this attribute. + type: array + items: + type: string + consumedManoInterfaceIds: + description: >- + If present, match NFV-MANO functional entity consumed interfaces + with an instance identifier listed in this attribute. + type: array + items: + description: | + An identifier with the intention of being globally unique. + type: string + consumedManoInterfaceNames: + description: >- + If present, match NFV-MANO functional entity consumed interfaces + with an instance Name listed in this attribute. + type: array + items: + type: string + CompileLogRequest: + description: > + This type represents a request to compile the logged data associated to + an object instance. It shall comply with the provisions defined in table + 8.6.2.8-1. + type: object + properties: + objectInstanceId: + description: > + This type represents the identifier to reference a managed object of + a particular type. + type: object + properties: + type: + description: > + Indicates the type of managed object. Permitted values: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + + The "MANO_ENTITY COMPONENT" is only applicable if attribute + "manoEntityComponents" in "ManoEntity" is supported by the API + producer. + type: string + enum: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + objectId: + description: | + An identifier with the intention of being globally unique. + type: string + subObjectId: + description: > + An identifier that is unique for the respective type within a + NFV-MANO functional entity, but that need not be globally + unique. Representation: string of variable length.. + type: string + required: + - type + - objectId + LogReport: + description: > + This type represents a log report, which provides information about a + compiled log and how to obtain it. It shall comply with the provisions + defined in table 8.6.2.7-1. + type: object + required: + - id + - objectInstanceId + - compilationTrigger + - readyTime + - fileFormat + - fileLocationInfo + - securityAndIntegrityInfo + - _links + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + objectInstanceId: + description: > + This type represents the identifier to reference a managed object of + a particular type. + type: object + properties: + type: + description: > + Indicates the type of managed object. Permitted values: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + + The "MANO_ENTITY COMPONENT" is only applicable if attribute + "manoEntityComponents" in "ManoEntity" is supported by the API + producer. + type: string + enum: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + objectId: + description: | + An identifier with the intention of being globally unique. + type: string + subObjectId: + description: > + An identifier that is unique for the respective type within a + NFV-MANO functional entity, but that need not be globally + unique. Representation: string of variable length.. + type: string + required: + - type + - objectId + compilationTrigger: + description: >- + The trigger for the compilation of the log file. + + Permitted values: - ON_DEMAND: created based on explicit request by + a client. - AUTOMATIC: created according to the logging job + compilation configuration. + type: string + enum: + - ON_DEMAND + - AUTOMATIC + readyTime: + description: > + Date-time stamp. Representation: String formatted according to IETF + RFC 3339. + type: string + format: date-time + expiryTime: + description: > + Date-time stamp. Representation: String formatted according to IETF + RFC 3339. + type: string + format: date-time + fileSize: + description: 'The size of the compiled log file in bytes, if known.' + type: integer + format: int32 + fileFormat: + description: The encoding used by the file. + type: string + fileLocationInfo: + description: >- + Location and address information of the compiled log file. The + consumer can use this information to obtain the compiled log file. + type: object + required: + - protocol + - fileEndpoint + properties: + protocol: + description: >- + Protocol over which the compiled log file can be retrieved. + + Permitted values: - HTTPS: transmission over HTTP Secure + (HTTPS). - SFTP: transmission over SSH file transfer protocol + (SFTP). - SCP: transmission over secure copy protocol (SCP). - + FTPS: transmission over file transfer protocol secure (FTPS), as + specified in IETF RFC 2228 [i.11], + using explicit mode as specified in IETF RFC 4217 [i.12]. If FTPS is supported, "private" protection level shall be used. + + HTTPS shall be supported, and other protocols may be supported. + type: string + enum: + - HTTPS + - SFTP + - SCP + - FTPS + fileEndpoint: + description: >- + The host name (or IP address), optionally a port number (if the + host with the compile log file uses a non-standard port number + as per the supported transmission protocol), a valid file + directory path, and the file name of the compiled log file, or a + valid URL. + type: string + format: URI + securityAndIntegrityInfo: + description: >- + Security and integrity information for the compilation of the log + files. + type: object + required: + - algorithm + - hash + - logFileSignature + - signingCertificate + properties: + algorithm: + description: >- + Algorithm used to generate the hash of the compiled log file. + Only SHA-256 and SHA-512 shall be used + type: string + hash: + description: >- + The hexadecimal value of the hash of the compiled log file. The + hash shall be computed from the encrypted compiled log file, in + case the encryption applies. + type: string + encryptionPublicKey: + description: >- + Public key used for the encryption of the compiled log file. + Shall be present if the compiled log file is encrypted. + type: string + cipherAlgorithm: + description: >- + The cryptographic algorithm used for the encryption. Shall be + present if the compiled log file is encrypted. Valid values are: + "AES-CBC-128", "AES-GCM-128", "AES-CBC-256", and "AES-GCM-256", + as specified in clause 6.5 of ETSI GS NFV-SEC 012 [14]. + type: string + logFileSignature: + description: >- + Signature to the compiled log file generated with the NFV-MANO + functional entity’s private key, which is used to ensure the + authenticity of the compiled log file. The signature shall be + applied according to the "encryptAndSignOrder" of the + "LoggingJobConfig". + type: string + signingCertificate: + description: >- + X.509 certificate with the NFV-MANO functional entity’s public + key used for verifying the log report and compiled log file + signatures. + type: string + _links: + description: Links for this resource. + type: object + required: + - self + properties: + self: + description: | + This type represents a link to a resource using an absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + objects: + description: >- + Links to resources representing the object instances that are + logged. Shall be present if the logged object instance + information is accessible as a resource. + type: array + items: + description: > + This type represents a link to a resource using an absolute + URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + LogmSubscriptionRequest: + description: >- + Information on application context created by the MEC system type: + object + required: + - callbackUri + type: object + properties: + filter: + description: >- + This type represents a filter that can be used to subscribe for + notifications related to log management events. It shall comply with + the provisions defined in table 8.6.3.7-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). + type: object + properties: + objectInstanceFilter: + description: >- + This type represents subscription filter criteria to match + NFV-MANO functional entities and their associated managed + objects. It shall comply with the provisions defined in Table + 4.3.2.2-1. + type: object + anyOf: + - oneOf: + - required: + - manoServiceIds + - required: + - manoServiceNames + - oneOf: + - required: + - manoServiceInterfaceIds + - required: + - manoServiceInterfaceNames + - oneOf: + - required: + - consumedManoInterfaceIds + - required: + - consumedManoInterfaceNames + properties: + manoEntityId: + description: | + An identifier with the intention of being globally unique. + type: string + manoServiceIds: + description: >- + If present, match NFV-MANO services with an instance + identifier listed in this attribute. + type: array + items: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need not be + globally unique. Representation: string of variable + length.. + type: string + manoServiceNames: + description: >- + If present, match NFV-MANO services with an NFV-MANO service + name listed in this attribute. + type: array + items: + type: string + manoServiceInterfaceIds: + description: >- + If present, match NFV-MANO functional entity produced + interfaces with an instance identifier listed in this + attribute. + type: array + items: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need not be + globally unique. Representation: string of variable + length.. + type: string + manoServiceInterfaceNames: + description: >- + If present, match NFV-MANO functional entity produced + interfaces with an instance Name listed in this attribute. + type: array + items: + type: string + consumedManoInterfaceIds: + description: >- + If present, match NFV-MANO functional entity consumed + interfaces with an instance identifier listed in this + attribute. + type: array + items: + description: | + An identifier with the intention of being globally unique. + type: string + consumedManoInterfaceNames: + description: >- + If present, match NFV-MANO functional entity consumed + interfaces with an instance Name listed in this attribute. + type: array + items: + type: string + notificationTypes: + description: >- + Match particular notification types. Permitted values: - + LogReportAvailableNotification + type: string + enum: + - LogReportAvailableNotification + 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 + CreateLoggingJobRequest: + description: Information on application context created by the MEC system + type: object + required: + - objectInstanceIds + - jobCriteria + - jobConfig + properties: + objectInstanceIds: + description: >- + Identifiers of the object instance for which logging information is + requested to be collected. This attribute shall contain the + identifier of the instance of the object to be logged according to + their type. If more than one identifier is provided, values shall + all refer to object instances of the same type, for which the same + criteria is then applicable. + type: array + minItems: 1 + items: + description: > + This type represents the identifier to reference a managed object + of a particular type. + type: object + properties: + type: + description: > + Indicates the type of managed object. Permitted values: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + + The "MANO_ENTITY COMPONENT" is only applicable if attribute + "manoEntityComponents" in "ManoEntity" is supported by the API + producer. + type: string + enum: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + objectId: + description: | + An identifier with the intention of being globally unique. + type: string + subObjectId: + description: > + An identifier that is unique for the respective type within a + NFV-MANO functional entity, but that need not be globally + unique. Representation: string of variable length.. + type: string + required: + - type + - objectId + jobCriteria: + description: >- + This type represents collection criteria for logging jobs. It shall + comply with the provisions defined in table 8.6.3.2-1. + type: object + required: + - loggingType + properties: + loggingType: + description: >- + Type of logging. This defines the types of logged information to + collect. + + Permitted values: - MESSAGES: logged NFV-MANO service interface + messages. - SERVICES: logged messages about processes pertaining + to NFV-MANO services. - SYSTEM: logged messages about the + NFV-MANO functional entity’s system enabled by the provider. + type: string + enum: + - MESSAGES + - SERVICES + - SYSTEM + messagesLogDetail: + description: >- + This type represents criteria for logging jobs to collect logged + messages on NFV-MANO service interfaces. It shall comply with + the provisions defined in table 8.6.3.3-1. + type: object + required: + - direction + properties: + direction: + description: >- + The direction of the interface messages to match. + + Permitted values: - IN: input messages into the interface. - + OUT: output messages from the interface. - ALL: both input + and output messages into/from the interface. + type: string + enum: + - IN + - OUT + - ALL + matchingPatterns: + description: >- + Patterns to be matched in the interface message. If + provided, only messages that match all the values provided + in the sub-attributes shall be logged. An API consumer can + provide more than one "matchingPattern" if combinations of + patterns are to be considered to match diverse sets of + interface messages. + type: array + items: + type: object + anyOf: + - required: + - srcIpAddress + - required: + - dstIpAddress + - required: + - requestMethod + - required: + - requestUriPattern + - required: + - responseCodes + properties: + srcIpAddress: + description: > + An IPV4 or IPV6 address. Representation: In case of an + IPV4 address, string that consists of four decimal + integers separated by dots, each integer ranging from + 0 to 255. In case of an IPV6 address, string that + consists of groups of zero to four hexadecimal digits, + separated by colons. + type: string + format: IP + requestMethod: + description: >- + HTTP request method to be matched. To match, the HTTP + request method of the message shall be the same as the + value of this attribute. Valid values are specified in + IETF RFC 7231. The API producer shall support this + attribute. + type: string + requestUriPattern: + description: >- + Substring to be matched in the request URI. To match, + the request URI shall include the value of + this attribute as a substring. This is typically used to match messages which associate to RESTful + resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall + support this attribute. + type: string + dstIpAddress: + description: > + An IPV4 or IPV6 address. Representation: In case of an + IPV4 address, string that consists of four decimal + integers separated by dots, each integer ranging from + 0 to 255. In case of an IPV6 address, string that + consists of groups of zero to four hexadecimal digits, + separated by colons. + type: string + format: IP + responseCodes: + description: >- + HTTP response codes or patterns to match. A list of + all valid HTTP response codes and their specification + documents can be obtained from the HTTP status code + registry. In addition, if supported, the following + patterns may be used (case-insensitive): - "1XX": for + matching any kind of informational response. - "2XX": + for matching any kind of success response. - "3XX": + for matching any kind redirection response. - "4XX": + for matching any kind of client error response. - + "5XX": for matching any kind of server error response. + + The API producer shall support this attribute + type: array + items: + type: string + headerField: + description: >- + Name of the header field to be matched. The header + field name shall be one of the supported fields in a + request message as defined in clause 4.2.2 of ETSI GS + NFV-SOL 013 or in a response message as defined in + clause 4.2.3 of ETSI GS NFV-SOL 013, in accordance + with the "direction" criteria input. The API producer + may support this attribute. + type: string + headerValue: + description: >- + Value in the header to be matched. To match, the value + in the header field indicated by "headerField" shall + be the same as in this attribute. Shall be provided if + a "headerField" is provided. The API producer may + support this attribute. + type: string + bodyValues: + description: >- + A list of strings to be matched in the body part of + the interface message (e.g., the body of an HTTP + message). If provided, only messages with text in the + body part containing all the values from the list + shall match the filter. In addition to a matching + filter for the body of the message, a corresponding + "headerField" filter shall also be provided, with + "headerField" set to "Content-Type", to restrict + matching to appropriate textual payloads such as + "application/json" or "text/plain". The API producer + may support this attribute + type: string + servicesLogDetail: + description: >- + This type represents criteria for logging jobs to collect logged + messages about processes pertaining to NFV-MANO services. It + shall comply with the provisions defined in table 8.6.3.4-1. + type: object + properties: + logGarbageCollection: + description: >- + Indicates to collect logged information about garbage + collection processes associated to NFV-MANO services. + type: boolean + systemLogDetail: + description: >- + This type represents criteria for logging jobs to collect logged + system events of the NFV-MANO functional entity. It shall comply + with the provisions defined in table 8.6.3.5-1. + type: object + required: + - systemLogs + - severityLevel + properties: + systemLogs: + description: > + This type represents a list of key-value pairs. The order of + the pairs in the list is not significant. In JSON, a set of + keyvalue pairs is represented as an object. It shall comply + with the provisions defined in clause 4 of IETF RFC 8259. In + the following example, a list of key-value pairs with four + keys ("aString", "aNumber", "anArray" and "anObject") is + provided to illustrate that the values associated with + different keys can be of different type. + type: object + severityLevelScheme: + description: >- + Identifies a severity level scheme. The default value is + "rfc5424", which represents the set of values specified in + the clause 6.2.1, table 2 of IETF RFC 5424. Other values may + be used to signal different schemes. + type: string + severityLevel: + description: >- + The severity level, which determines the severity of the + system messages to collect. The NFV-MANO functional entity + shall collect system log messages, as indicated by the + "systemLogs" attribute, with severity levels lower (i.e., + more severe) or equal to the value provided by this present + attribute. + type: number + jobConfig: + description: >- + This type represents configuration data for a logging job. It shall + comply with the provisions defined in table 8.6.3.6-1. NOTE: The + present document version does not specify the support for "log + compilation and reporting based on events" as specified in clause + 6.6.2.2 of ETSI GS NFV-IFA 031. + type: object + required: + - reportingCondition + - securityConf + properties: + startTime: + description: > + Date-time stamp. Representation: String formatted according to + IETF RFC 3339. + type: string + format: date-time + endTime: + description: > + Date-time stamp. Representation: String formatted according to + IETF RFC 3339. + type: string + format: date-time + reportingCondition: + description: >- + Specifies the condition under which the producer will report to + the consumer about the compiled log data. + required: + - reportingType + properties: + reportingType: + description: >- + Specifies the type of reporting condition. Permitted values: + - REPORTING_ON_COMPILATION: the producer shall notify the + consumer once the compilation of the + collected logging data into a file is completed and a new log report is available. + - NO_REPORTING: no reporting is requested (the consumer can + query the logging jobs to know about the + availability of new log reports). + type: string + enum: + - REPORTING_ON_COMPILATION + - NO_REPORTING + minimumReportingPeriod: + description: >- + Specifies the minimum periodicity at which the producer will + report to the consumer about the collected log information, + in seconds. + type: integer + format: int32 + compileBySizeValue: + description: >- + An indicative size threshold for compiling the collected log + data, in bytes. It is used when the compilation is based on the + size of the collected log data. If not present, a default value + as specified with the "defaultLogCompileBySizeValue" + configuration in the "ManoEntityConfigurableParams" shall be + used + type: integer + format: int32 + compileByTimerValue: + description: >- + The periodicity threshold for compiling the filtered log, in + seconds. It is used when the compilation is based on a timer + (e.g., every 24 hours). If not present, a default value as + specified with the "defaultLogCompileByTimerValue" configuration + in the "ManoEntityConfigurableParams" shall be used + type: integer + format: int32 + securityConf: + description: Configuration about the security aspects of the logging job. + type: object + properties: + logFileEncryption: + description: >- + Information about the encryption of the compiled log files. + Shall be present if the log file is requested to be + encrypted. + required: + - encryptionCertificate + - cipherAlgorithm + type: object + properties: + encryptionCertificate: + description: >- + X.509 certificate with the public key to use for the + encryption of the compiled log file. + type: string + cipherAlgorithm: + description: >- + Cryptographic algorithm to be used for the encryption of + the compiled log file. More than one algorithm can be + provided from higher (lower array index) to lower + (higher array index) precedence. Valid values are: + "AES-CBC-128", "AES-GCM-128", "AES-CBC-256", and + "AES-GCM-256", as specified in clause 6.5 of ETSI GS + NFV-SEC 012 + type: array + items: + type: string + minItems: 1 + encryptAndSignOrder: + description: >- + Indication about the order in signing and encrypting the + compiled log file. Valid values are: "encryptFirst", to + apply the order "first encrypt, then sign", and + "signFirst" for the order "first sign, then encrypt". + Default value is "encryptFirst". + type: string + logTransferSecurity: + description: >- + Information about the security measures for + retrieving/accessing the compiled log files. + type: object + properties: + publicKey: + description: >- + The public key of the API consumer used for the client + authentication with the file server. Shall be provided + if required by the type of transfer protocol. May be + omitted if the key has been provided to the API producer + by other means, or if it has already been provided in + some previous CreateLoggingJobRequest issued by the same + API consumer, whose public key has not changed. + type: string + LoggingJob: + description: >- + This type represents a logging job. It shall comply with the provisions + defined in table 8.6.2.6-1. + type: object + required: + - id + - objectInstanceIds + - jobCriteria + - jobConfig + - _links + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + objectInstanceIds: + description: >- + Identifiers of the object instance for which logging information is + collected. This attribute shall contain the identifier of the + instance of the object that is logged according to their type. + type: array + items: + description: > + This type represents the identifier to reference a managed object + of a particular type. + type: object + properties: + type: + description: > + Indicates the type of managed object. Permitted values: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + + The "MANO_ENTITY COMPONENT" is only applicable if attribute + "manoEntityComponents" in "ManoEntity" is supported by the API + producer. + type: string + enum: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + objectId: + description: | + An identifier with the intention of being globally unique. + type: string + subObjectId: + description: > + An identifier that is unique for the respective type within a + NFV-MANO functional entity, but that need not be globally + unique. Representation: string of variable length.. + type: string + required: + - type + - objectId + jobCriteria: + description: >- + This type represents collection criteria for logging jobs. It shall + comply with the provisions defined in table 8.6.3.2-1. + type: object + required: + - loggingType + properties: + loggingType: + description: >- + Type of logging. This defines the types of logged information to + collect. + + Permitted values: - MESSAGES: logged NFV-MANO service interface + messages. - SERVICES: logged messages about processes pertaining + to NFV-MANO services. - SYSTEM: logged messages about the + NFV-MANO functional entity’s system enabled by the provider. + type: string + enum: + - MESSAGES + - SERVICES + - SYSTEM + messagesLogDetail: + description: >- + This type represents criteria for logging jobs to collect logged + messages on NFV-MANO service interfaces. It shall comply with + the provisions defined in table 8.6.3.3-1. + type: object + required: + - direction + properties: + direction: + description: >- + The direction of the interface messages to match. + + Permitted values: - IN: input messages into the interface. - + OUT: output messages from the interface. - ALL: both input + and output messages into/from the interface. + type: string + enum: + - IN + - OUT + - ALL + matchingPatterns: + description: >- + Patterns to be matched in the interface message. If + provided, only messages that match all the values provided + in the sub-attributes shall be logged. An API consumer can + provide more than one "matchingPattern" if combinations of + patterns are to be considered to match diverse sets of + interface messages. + type: array + items: + type: object + anyOf: + - required: + - srcIpAddress + - required: + - dstIpAddress + - required: + - requestMethod + - required: + - requestUriPattern + - required: + - responseCodes + properties: + srcIpAddress: + description: > + An IPV4 or IPV6 address. Representation: In case of an + IPV4 address, string that consists of four decimal + integers separated by dots, each integer ranging from + 0 to 255. In case of an IPV6 address, string that + consists of groups of zero to four hexadecimal digits, + separated by colons. + type: string + format: IP + requestMethod: + description: >- + HTTP request method to be matched. To match, the HTTP + request method of the message shall be the same as the + value of this attribute. Valid values are specified in + IETF RFC 7231. The API producer shall support this + attribute. + type: string + requestUriPattern: + description: >- + Substring to be matched in the request URI. To match, + the request URI shall include the value of + this attribute as a substring. This is typically used to match messages which associate to RESTful + resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall + support this attribute. + type: string + dstIpAddress: + description: > + An IPV4 or IPV6 address. Representation: In case of an + IPV4 address, string that consists of four decimal + integers separated by dots, each integer ranging from + 0 to 255. In case of an IPV6 address, string that + consists of groups of zero to four hexadecimal digits, + separated by colons. + type: string + format: IP + responseCodes: + description: >- + HTTP response codes or patterns to match. A list of + all valid HTTP response codes and their specification + documents can be obtained from the HTTP status code + registry. In addition, if supported, the following + patterns may be used (case-insensitive): - "1XX": for + matching any kind of informational response. - "2XX": + for matching any kind of success response. - "3XX": + for matching any kind redirection response. - "4XX": + for matching any kind of client error response. - + "5XX": for matching any kind of server error response. + + The API producer shall support this attribute + type: array + items: + type: string + headerField: + description: >- + Name of the header field to be matched. The header + field name shall be one of the supported fields in a + request message as defined in clause 4.2.2 of ETSI GS + NFV-SOL 013 or in a response message as defined in + clause 4.2.3 of ETSI GS NFV-SOL 013, in accordance + with the "direction" criteria input. The API producer + may support this attribute. + type: string + headerValue: + description: >- + Value in the header to be matched. To match, the value + in the header field indicated by "headerField" shall + be the same as in this attribute. Shall be provided if + a "headerField" is provided. The API producer may + support this attribute. + type: string + bodyValues: + description: >- + A list of strings to be matched in the body part of + the interface message (e.g., the body of an HTTP + message). If provided, only messages with text in the + body part containing all the values from the list + shall match the filter. In addition to a matching + filter for the body of the message, a corresponding + "headerField" filter shall also be provided, with + "headerField" set to "Content-Type", to restrict + matching to appropriate textual payloads such as + "application/json" or "text/plain". The API producer + may support this attribute + type: string + servicesLogDetail: + description: >- + This type represents criteria for logging jobs to collect logged + messages about processes pertaining to NFV-MANO services. It + shall comply with the provisions defined in table 8.6.3.4-1. + type: object + properties: + logGarbageCollection: + description: >- + Indicates to collect logged information about garbage + collection processes associated to NFV-MANO services. + type: boolean + systemLogDetail: + description: >- + This type represents criteria for logging jobs to collect logged + system events of the NFV-MANO functional entity. It shall comply + with the provisions defined in table 8.6.3.5-1. + type: object + required: + - systemLogs + - severityLevel + properties: + systemLogs: + description: > + This type represents a list of key-value pairs. The order of + the pairs in the list is not significant. In JSON, a set of + keyvalue pairs is represented as an object. It shall comply + with the provisions defined in clause 4 of IETF RFC 8259. In + the following example, a list of key-value pairs with four + keys ("aString", "aNumber", "anArray" and "anObject") is + provided to illustrate that the values associated with + different keys can be of different type. + type: object + severityLevelScheme: + description: >- + Identifies a severity level scheme. The default value is + "rfc5424", which represents the set of values specified in + the clause 6.2.1, table 2 of IETF RFC 5424. Other values may + be used to signal different schemes. + type: string + severityLevel: + description: >- + The severity level, which determines the severity of the + system messages to collect. The NFV-MANO functional entity + shall collect system log messages, as indicated by the + "systemLogs" attribute, with severity levels lower (i.e., + more severe) or equal to the value provided by this present + attribute. + type: number + jobConfig: + description: >- + This type represents configuration data for a logging job. It shall + comply with the provisions defined in table 8.6.3.6-1. NOTE: The + present document version does not specify the support for "log + compilation and reporting based on events" as specified in clause + 6.6.2.2 of ETSI GS NFV-IFA 031. + type: object + required: + - reportingCondition + - securityConf + properties: + startTime: + description: > + Date-time stamp. Representation: String formatted according to + IETF RFC 3339. + type: string + format: date-time + endTime: + description: > + Date-time stamp. Representation: String formatted according to + IETF RFC 3339. + type: string + format: date-time + reportingCondition: + description: >- + Specifies the condition under which the producer will report to + the consumer about the compiled log data. + required: + - reportingType + properties: + reportingType: + description: >- + Specifies the type of reporting condition. Permitted values: + - REPORTING_ON_COMPILATION: the producer shall notify the + consumer once the compilation of the + collected logging data into a file is completed and a new log report is available. + - NO_REPORTING: no reporting is requested (the consumer can + query the logging jobs to know about the + availability of new log reports). + type: string + enum: + - REPORTING_ON_COMPILATION + - NO_REPORTING + minimumReportingPeriod: + description: >- + Specifies the minimum periodicity at which the producer will + report to the consumer about the collected log information, + in seconds. + type: integer + format: int32 + compileBySizeValue: + description: >- + An indicative size threshold for compiling the collected log + data, in bytes. It is used when the compilation is based on the + size of the collected log data. If not present, a default value + as specified with the "defaultLogCompileBySizeValue" + configuration in the "ManoEntityConfigurableParams" shall be + used + type: integer + format: int32 + compileByTimerValue: + description: >- + The periodicity threshold for compiling the filtered log, in + seconds. It is used when the compilation is based on a timer + (e.g., every 24 hours). If not present, a default value as + specified with the "defaultLogCompileByTimerValue" configuration + in the "ManoEntityConfigurableParams" shall be used + type: integer + format: int32 + securityConf: + description: Configuration about the security aspects of the logging job. + type: object + properties: + logFileEncryption: + description: >- + Information about the encryption of the compiled log files. + Shall be present if the log file is requested to be + encrypted. + required: + - encryptionCertificate + - cipherAlgorithm + type: object + properties: + encryptionCertificate: + description: >- + X.509 certificate with the public key to use for the + encryption of the compiled log file. + type: string + cipherAlgorithm: + description: >- + Cryptographic algorithm to be used for the encryption of + the compiled log file. More than one algorithm can be + provided from higher (lower array index) to lower + (higher array index) precedence. Valid values are: + "AES-CBC-128", "AES-GCM-128", "AES-CBC-256", and + "AES-GCM-256", as specified in clause 6.5 of ETSI GS + NFV-SEC 012 + type: array + items: + type: string + minItems: 1 + encryptAndSignOrder: + description: >- + Indication about the order in signing and encrypting the + compiled log file. Valid values are: "encryptFirst", to + apply the order "first encrypt, then sign", and + "signFirst" for the order "first sign, then encrypt". + Default value is "encryptFirst". + type: string + logTransferSecurity: + description: >- + Information about the security measures for + retrieving/accessing the compiled log files. + type: object + properties: + publicKey: + description: >- + The public key of the API consumer used for the client + authentication with the file server. Shall be provided + if required by the type of transfer protocol. May be + omitted if the key has been provided to the API producer + by other means, or if it has already been provided in + some previous CreateLoggingJobRequest issued by the same + API consumer, whose public key has not changed. + type: string + logReports: + description: Information about available log reports created by the logging job. + type: array + items: + type: object + required: + - logReportId + - logReportLoc + properties: + logReportId: + description: | + An identifier with the intention of being globally unique. + type: string + logReportLoc: + description: > + This type represents a link to a resource using an absolute + URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + _links: + description: Links for this resource. + type: object + required: + - self + properties: + self: + description: | + This type represents a link to a resource using an absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + objects: + description: >- + Links to resources representing the object instances that are + logged. Shall be present if the logged object instance + information is accessible as a resource. + type: array + items: + description: > + This type represents a link to a resource using an absolute + URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + LoggingJobCriteria: + description: >- + This type represents collection criteria for logging jobs. It shall + comply with the provisions defined in table 8.6.3.2-1. + type: object + required: + - loggingType + properties: + loggingType: + description: >- + Type of logging. This defines the types of logged information to + collect. + + Permitted values: - MESSAGES: logged NFV-MANO service interface + messages. - SERVICES: logged messages about processes pertaining to + NFV-MANO services. - SYSTEM: logged messages about the NFV-MANO + functional entity’s system enabled by the provider. + type: string + enum: + - MESSAGES + - SERVICES + - SYSTEM + messagesLogDetail: + description: >- + This type represents criteria for logging jobs to collect logged + messages on NFV-MANO service interfaces. It shall comply with the + provisions defined in table 8.6.3.3-1. + type: object + required: + - direction + properties: + direction: + description: >- + The direction of the interface messages to match. + + Permitted values: - IN: input messages into the interface. - + OUT: output messages from the interface. - ALL: both input and + output messages into/from the interface. + type: string + enum: + - IN + - OUT + - ALL + matchingPatterns: + description: >- + Patterns to be matched in the interface message. If provided, + only messages that match all the values provided in the + sub-attributes shall be logged. An API consumer can provide more + than one "matchingPattern" if combinations of patterns are to be + considered to match diverse sets of interface messages. + type: array + items: + type: object + anyOf: + - required: + - srcIpAddress + - required: + - dstIpAddress + - required: + - requestMethod + - required: + - requestUriPattern + - required: + - responseCodes + properties: + srcIpAddress: + description: > + An IPV4 or IPV6 address. Representation: In case of an + IPV4 address, string that consists of four decimal + integers separated by dots, each integer ranging from 0 to + 255. In case of an IPV6 address, string that consists of + groups of zero to four hexadecimal digits, separated by + colons. + type: string + format: IP + requestMethod: + description: >- + HTTP request method to be matched. To match, the HTTP + request method of the message shall be the same as the + value of this attribute. Valid values are specified in + IETF RFC 7231. The API producer shall support this + attribute. + type: string + requestUriPattern: + description: >- + Substring to be matched in the request URI. To match, the + request URI shall include the value of + this attribute as a substring. This is typically used to match messages which associate to RESTful + resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall + support this attribute. + type: string + dstIpAddress: + description: > + An IPV4 or IPV6 address. Representation: In case of an + IPV4 address, string that consists of four decimal + integers separated by dots, each integer ranging from 0 to + 255. In case of an IPV6 address, string that consists of + groups of zero to four hexadecimal digits, separated by + colons. + type: string + format: IP + responseCodes: + description: >- + HTTP response codes or patterns to match. A list of all + valid HTTP response codes and their specification + documents can be obtained from the HTTP status code + registry. In addition, if supported, the following + patterns may be used (case-insensitive): - "1XX": for + matching any kind of informational response. - "2XX": for + matching any kind of success response. - "3XX": for + matching any kind redirection response. - "4XX": for + matching any kind of client error response. - "5XX": for + matching any kind of server error response. + + The API producer shall support this attribute + type: array + items: + type: string + headerField: + description: >- + Name of the header field to be matched. The header field + name shall be one of the supported fields in a request + message as defined in clause 4.2.2 of ETSI GS NFV-SOL 013 + or in a response message as defined in clause 4.2.3 of + ETSI GS NFV-SOL 013, in accordance with the "direction" + criteria input. The API producer may support this + attribute. + type: string + headerValue: + description: >- + Value in the header to be matched. To match, the value in + the header field indicated by "headerField" shall be the + same as in this attribute. Shall be provided if a + "headerField" is provided. The API producer may support + this attribute. + type: string + bodyValues: + description: >- + A list of strings to be matched in the body part of the + interface message (e.g., the body of an HTTP message). If + provided, only messages with text in the body part + containing all the values from the list shall match the + filter. In addition to a matching filter for the body of + the message, a corresponding "headerField" filter shall + also be provided, with "headerField" set to + "Content-Type", to restrict matching to appropriate + textual payloads such as "application/json" or + "text/plain". The API producer may support this attribute + type: string + servicesLogDetail: + description: >- + This type represents criteria for logging jobs to collect logged + messages about processes pertaining to NFV-MANO services. It shall + comply with the provisions defined in table 8.6.3.4-1. + type: object + properties: + logGarbageCollection: + description: >- + Indicates to collect logged information about garbage collection + processes associated to NFV-MANO services. + type: boolean + systemLogDetail: + description: >- + This type represents criteria for logging jobs to collect logged + system events of the NFV-MANO functional entity. It shall comply + with the provisions defined in table 8.6.3.5-1. + type: object + required: + - systemLogs + - severityLevel + properties: + systemLogs: + description: > + This type represents a list of key-value pairs. The order of the + pairs in the list is not significant. In JSON, a set of keyvalue + pairs is represented as an object. It shall comply with the + provisions defined in clause 4 of IETF RFC 8259. In the + following example, a list of key-value pairs with four keys + ("aString", "aNumber", "anArray" and "anObject") is provided to + illustrate that the values associated with different keys can be + of different type. + type: object + severityLevelScheme: + description: >- + Identifies a severity level scheme. The default value is + "rfc5424", which represents the set of values specified in the + clause 6.2.1, table 2 of IETF RFC 5424. Other values may be used + to signal different schemes. + type: string + severityLevel: + description: >- + The severity level, which determines the severity of the system + messages to collect. The NFV-MANO functional entity shall + collect system log messages, as indicated by the "systemLogs" + attribute, with severity levels lower (i.e., more severe) or + equal to the value provided by this present attribute. + type: number + LoggingJobMessagesCriteria: + description: >- + This type represents criteria for logging jobs to collect logged + messages on NFV-MANO service interfaces. It shall comply with the + provisions defined in table 8.6.3.3-1. + type: object + required: + - direction + properties: + direction: + description: >- + The direction of the interface messages to match. + + Permitted values: - IN: input messages into the interface. - OUT: + output messages from the interface. - ALL: both input and output + messages into/from the interface. + type: string + enum: + - IN + - OUT + - ALL + matchingPatterns: + description: >- + Patterns to be matched in the interface message. If provided, only + messages that match all the values provided in the sub-attributes + shall be logged. An API consumer can provide more than one + "matchingPattern" if combinations of patterns are to be considered + to match diverse sets of interface messages. + type: array + items: + type: object + anyOf: + - required: + - srcIpAddress + - required: + - dstIpAddress + - required: + - requestMethod + - required: + - requestUriPattern + - required: + - responseCodes + properties: + srcIpAddress: + description: > + An IPV4 or IPV6 address. Representation: In case of an IPV4 + address, string that consists of four decimal integers + separated by dots, each integer ranging from 0 to 255. In case + of an IPV6 address, string that consists of groups of zero to + four hexadecimal digits, separated by colons. + type: string + format: IP + requestMethod: + description: >- + HTTP request method to be matched. To match, the HTTP request + method of the message shall be the same as the value of this + attribute. Valid values are specified in IETF RFC 7231. The + API producer shall support this attribute. + type: string + requestUriPattern: + description: >- + Substring to be matched in the request URI. To match, the + request URI shall include the value of + this attribute as a substring. This is typically used to match messages which associate to RESTful + resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall + support this attribute. + type: string + dstIpAddress: + description: > + An IPV4 or IPV6 address. Representation: In case of an IPV4 + address, string that consists of four decimal integers + separated by dots, each integer ranging from 0 to 255. In case + of an IPV6 address, string that consists of groups of zero to + four hexadecimal digits, separated by colons. + type: string + format: IP + responseCodes: + description: >- + HTTP response codes or patterns to match. A list of all valid + HTTP response codes and their specification documents can be + obtained from the HTTP status code registry. In addition, if + supported, the following patterns may be used + (case-insensitive): - "1XX": for matching any kind of + informational response. - "2XX": for matching any kind of + success response. - "3XX": for matching any kind redirection + response. - "4XX": for matching any kind of client error + response. - "5XX": for matching any kind of server error + response. + + The API producer shall support this attribute + type: array + items: + type: string + headerField: + description: >- + Name of the header field to be matched. The header field name + shall be one of the supported fields in a request message as + defined in clause 4.2.2 of ETSI GS NFV-SOL 013 or in a + response message as defined in clause 4.2.3 of ETSI GS NFV-SOL + 013, in accordance with the "direction" criteria input. The + API producer may support this attribute. + type: string + headerValue: + description: >- + Value in the header to be matched. To match, the value in the + header field indicated by "headerField" shall be the same as + in this attribute. Shall be provided if a "headerField" is + provided. The API producer may support this attribute. + type: string + bodyValues: + description: >- + A list of strings to be matched in the body part of the + interface message (e.g., the body of an HTTP message). If + provided, only messages with text in the body part containing + all the values from the list shall match the filter. In + addition to a matching filter for the body of the message, a + corresponding "headerField" filter shall also be provided, + with "headerField" set to "Content-Type", to restrict matching + to appropriate textual payloads such as "application/json" or + "text/plain". The API producer may support this attribute + type: string + LoggingJobServicesCriteria: + description: >- + This type represents criteria for logging jobs to collect logged + messages about processes pertaining to NFV-MANO services. It shall + comply with the provisions defined in table 8.6.3.4-1. + type: object + properties: + logGarbageCollection: + description: >- + Indicates to collect logged information about garbage collection + processes associated to NFV-MANO services. + type: boolean + LoggingJobSystemCriteria: + description: >- + This type represents criteria for logging jobs to collect logged system + events of the NFV-MANO functional entity. It shall comply with the + provisions defined in table 8.6.3.5-1. + type: object + required: + - systemLogs + - severityLevel + properties: + systemLogs: + description: > + This type represents a list of key-value pairs. The order of the + pairs in the list is not significant. In JSON, a set of keyvalue + pairs is represented as an object. It shall comply with the + provisions defined in clause 4 of IETF RFC 8259. In the following + example, a list of key-value pairs with four keys ("aString", + "aNumber", "anArray" and "anObject") is provided to illustrate that + the values associated with different keys can be of different type. + type: object + severityLevelScheme: + description: >- + Identifies a severity level scheme. The default value is "rfc5424", + which represents the set of values specified in the clause 6.2.1, + table 2 of IETF RFC 5424. Other values may be used to signal + different schemes. + type: string + severityLevel: + description: >- + The severity level, which determines the severity of the system + messages to collect. The NFV-MANO functional entity shall collect + system log messages, as indicated by the "systemLogs" attribute, + with severity levels lower (i.e., more severe) or equal to the value + provided by this present attribute. + type: number + LoggingJobConfig: + description: >- + This type represents configuration data for a logging job. It shall + comply with the provisions defined in table 8.6.3.6-1. NOTE: The present + document version does not specify the support for "log compilation and + reporting based on events" as specified in clause 6.6.2.2 of ETSI GS + NFV-IFA 031. + type: object + required: + - reportingCondition + - securityConf + properties: + startTime: + description: > + Date-time stamp. Representation: String formatted according to IETF + RFC 3339. + type: string + format: date-time + endTime: + description: > + Date-time stamp. Representation: String formatted according to IETF + RFC 3339. + type: string + format: date-time + reportingCondition: + description: >- + Specifies the condition under which the producer will report to the + consumer about the compiled log data. + required: + - reportingType + properties: + reportingType: + description: >- + Specifies the type of reporting condition. Permitted values: - + REPORTING_ON_COMPILATION: the producer shall notify the consumer + once the compilation of the + collected logging data into a file is completed and a new log report is available. + - NO_REPORTING: no reporting is requested (the consumer can + query the logging jobs to know about the + availability of new log reports). + type: string + enum: + - REPORTING_ON_COMPILATION + - NO_REPORTING + minimumReportingPeriod: + description: >- + Specifies the minimum periodicity at which the producer will + report to the consumer about the collected log information, in + seconds. + type: integer + format: int32 + compileBySizeValue: + description: >- + An indicative size threshold for compiling the collected log data, + in bytes. It is used when the compilation is based on the size of + the collected log data. If not present, a default value as specified + with the "defaultLogCompileBySizeValue" configuration in the + "ManoEntityConfigurableParams" shall be used + type: integer + format: int32 + compileByTimerValue: + description: >- + The periodicity threshold for compiling the filtered log, in + seconds. It is used when the compilation is based on a timer (e.g., + every 24 hours). If not present, a default value as specified with + the "defaultLogCompileByTimerValue" configuration in the + "ManoEntityConfigurableParams" shall be used + type: integer + format: int32 + securityConf: + description: Configuration about the security aspects of the logging job. + type: object + properties: + logFileEncryption: + description: >- + Information about the encryption of the compiled log files. + Shall be present if the log file is requested to be encrypted. + required: + - encryptionCertificate + - cipherAlgorithm + type: object + properties: + encryptionCertificate: + description: >- + X.509 certificate with the public key to use for the + encryption of the compiled log file. + type: string + cipherAlgorithm: + description: >- + Cryptographic algorithm to be used for the encryption of the + compiled log file. More than one algorithm can be provided + from higher (lower array index) to lower (higher array + index) precedence. Valid values are: "AES-CBC-128", + "AES-GCM-128", "AES-CBC-256", and "AES-GCM-256", as + specified in clause 6.5 of ETSI GS NFV-SEC 012 + type: array + items: + type: string + minItems: 1 + encryptAndSignOrder: + description: >- + Indication about the order in signing and encrypting the + compiled log file. Valid values are: "encryptFirst", to + apply the order "first encrypt, then sign", and "signFirst" + for the order "first sign, then encrypt". Default value is + "encryptFirst". + type: string + logTransferSecurity: + description: >- + Information about the security measures for retrieving/accessing + the compiled log files. + type: object + properties: + publicKey: + description: >- + The public key of the API consumer used for the client + authentication with the file server. Shall be provided if + required by the type of transfer protocol. May be omitted if + the key has been provided to the API producer by other + means, or if it has already been provided in some previous + CreateLoggingJobRequest issued by the same API consumer, + whose public key has not changed. + type: string + LogReportAvailableNotification: + description: >- + This notification informs the receiver that the log report of the + NFV-MANO functional entity is available. It shall comply with the + provisions defined in table 8.6.2.4-1. The notification shall be + triggered by the NFV-MANO functional entity when log information has + been collected by the logging job and the log report is available. + type: object + required: + - id + - notificationType + - subscriptionId + - timeStamp + - objectInstanceId + - _links + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + notificationType: + description: >- + Discriminator for the different notification types. Shall be set to + "LogReportAvailableNotification" for this notification type. + type: string + subscriptionId: + description: | + An identifier with the intention of being globally unique. + type: string + timeStamp: + description: > + Date-time stamp. Representation: String formatted according to IETF + RFC 3339. + type: string + format: date-time + objectInstanceId: + description: > + This type represents the identifier to reference a managed object of + a particular type. + type: object + properties: + type: + description: > + Indicates the type of managed object. Permitted values: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + + The "MANO_ENTITY COMPONENT" is only applicable if attribute + "manoEntityComponents" in "ManoEntity" is supported by the API + producer. + type: string + enum: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + objectId: + description: | + An identifier with the intention of being globally unique. + type: string + subObjectId: + description: > + An identifier that is unique for the respective type within a + NFV-MANO functional entity, but that need not be globally + unique. Representation: string of variable length.. + type: string + required: + - type + - objectId + _links: + description: Links to resources related to this notification. + type: object + required: + - subscription + - logReports + properties: + subscription: + description: > + This type represents a link to a resource in a notification, + using an absolute or relative URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + objectInstance: + description: > + This type represents a link to a resource in a notification, + using an absolute or relative URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + LoggingJob: + description: > + This type represents a link to a resource in a notification, + using an absolute or relative URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + logReports: + description: >- + Link from which the available log report can be obtained. Due to + the relationship of the logging job compilation and the logging + information availability reporting, more than one logReport + notification link can be provided. + type: array + items: + description: > + This type represents a link to a resource in a notification, + using an absolute or relative URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + callbacks: + LogReportAvailableNotification: + '{$request.body#/callbackUri}': + description: >- + This resource represents a notification endpoint for NFV-MANO log + management. The API producer can use this resource to send + notifications related to log management events to a subscribed API + consumer, which has provided the URI of this resource during the + subscription process. + post: + description: >- + The POST method delivers a notification regarding a log management + event from the API producer to the API consumer. The API consumer + shall have previously created an "Individual subscription" resource + with a matching filter. This method shall follow the provisions + specified in the tables 8.5.9.3.1-1 and 8.5.9.3.1-2 for URI query + parameters, request and response data structures, and response + codes. + parameters: + - name: Version + description: > + Version of the API requested to use when responding to this + request. + in: header + required: true + schema: + type: string + - name: Authorization + description: > + The authorization token for the request. Reference: IETF RFC + 7235. + in: header + required: false + schema: + type: string + requestBody: + description: Notification about the availability of a log report. + content: + application/json: + schema: + description: >- + This notification informs the receiver that the log report + of the NFV-MANO functional entity is available. It shall + comply with the provisions defined in table 8.6.2.4-1. The + notification shall be triggered by the NFV-MANO functional + entity when log information has been collected by the + logging job and the log report is available. + type: object + required: + - id + - notificationType + - subscriptionId + - timeStamp + - objectInstanceId + - _links + properties: + id: + description: > + An identifier with the intention of being globally + unique. + type: string + notificationType: + description: >- + Discriminator for the different notification types. + Shall be set to "LogReportAvailableNotification" for + this notification type. + type: string + subscriptionId: + description: > + An identifier with the intention of being globally + unique. + type: string + timeStamp: + description: > + Date-time stamp. Representation: String formatted + according to IETF RFC 3339. + type: string + format: date-time + objectInstanceId: + description: > + This type represents the identifier to reference a + managed object of a particular type. + type: object + properties: + type: + description: > + Indicates the type of managed object. Permitted + values: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + + The "MANO_ENTITY COMPONENT" is only applicable if + attribute "manoEntityComponents" in "ManoEntity" is + supported by the API producer. + type: string + enum: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + objectId: + description: > + An identifier with the intention of being globally + unique. + type: string + subObjectId: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need + not be globally unique. Representation: string of + variable length.. + type: string + required: + - type + - objectId + _links: + description: Links to resources related to this notification. + type: object + required: + - subscription + - logReports + properties: + subscription: + description: > + This type represents a link to a resource in a + notification, using an absolute or relative URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + objectInstance: + description: > + This type represents a link to a resource in a + notification, using an absolute or relative URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + LoggingJob: + description: > + This type represents a link to a resource in a + notification, using an absolute or relative URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + logReports: + description: >- + Link from which the available log report can be + obtained. Due to the relationship of the logging job + compilation and the logging information availability + reporting, more than one logReport notification link + can be provided. + type: array + items: + description: > + This type represents a link to a resource in a + notification, using an absolute or relative URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + responses: + '204': + description: >- + Shall be returned when the notification has been delivered + successfully. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + '400': + description: > + 400 BAD REQUEST + + 400 code can be returned in the following specified cases, the + specific cause has to be proper specified in the + "ProblemDetails" structure to be returned. + + If the request is malformed or syntactically incorrect (e.g. if + the request URI contains incorrect query parameters or the + payload body contains a syntactically incorrect data structure), + the API producer shall respond with this response code. The + "ProblemDetails" structure shall be provided, and should include + in the "detail" attribute more information about the source of + the problem. + + If the response to a GET request which queries a container + resource would be so big that the performance of the API + producer is adversely affected, and the API producer does not + support paging for the affected resource, it shall respond with + this response code. The "ProblemDetails" structure shall be + provided, and should include in the "detail" attribute more + information about the source of the problem. + + If there is an application error related to the client's input + that cannot be easily mapped to any other HTTP response code + ("catch all error"), the API producer shall respond with this + response code. The "ProblemDetails" structure shall be provided, + and shall include in the "detail" attribute more information + about the source of the problem. + + If the request contains a malformed access token, the API + producer should respond with this response. The details of the + error shall be returned in the WWW Authenticate HTTP header, as + defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails + structure may be provided. + + The use of this HTTP error response code described above is + applicable to the use of the OAuth 2.0 for the authorization of + API requests and notifications, as defined in clauses 4.5.3.3 + and 4.5.3.4. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data + structure from IETF RFC 7807 [19] is reproduced inthis + structure. Compared to the general framework defined in + IETF RFC 7807 [19], the "status" and "detail" attributes + are mandated to be included by the present document, to + ensure that the response contains additional textual + information about an error. IETF RFC 7807 [19] foresees + extensibility of the "ProblemDetails" type. It is possible + that particular APIs in the present document, or + particular implementations, define extensions to define + additional attributes that provide more information about + the error. The description column only provides some + explanation of the meaning to Facilitate understanding of + the design. For a full description, see IETF RFC 7807 + [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the + URI provides human-readable documentation for the + problem (e.g. using HTML) when dereferenced. When this + member is not present, its value is assumed to be + "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. + It should not change from occurrence to occurrence of + the problem, except for purposes of localization. If + type is given and other than "about:blank", this + attribute shall also be provided. A short, + human-readable summary of the problem type. It SHOULD + NOT change from occurrence to occurrence of the + problem, except for purposes of localization (e.g., + using proactive content negotiation; see [RFC7231], + Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the + problem. The HTTP status code ([RFC7231], Section 6) + generated by the origin server for this occurrence of + the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this + occurrence of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific + occurrence of the problem. It may yield further + information if dereferenced. + type: string + format: URI + '401': + description: > + 401 UNAUTHORIZED + + If the request contains no access token even though one is + required, or if the request contains an authorization token that + is invalid (e.g. expired or revoked), the API producer should + respond with this response. The details of the error shall be + returned in the WWW-Authenticate HTTP header, as defined in IETF + RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be + provided. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data + structure from IETF RFC 7807 [19] is reproduced inthis + structure. Compared to the general framework defined in + IETF RFC 7807 [19], the "status" and "detail" attributes + are mandated to be included by the present document, to + ensure that the response contains additional textual + information about an error. IETF RFC 7807 [19] foresees + extensibility of the "ProblemDetails" type. It is possible + that particular APIs in the present document, or + particular implementations, define extensions to define + additional attributes that provide more information about + the error. The description column only provides some + explanation of the meaning to Facilitate understanding of + the design. For a full description, see IETF RFC 7807 + [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the + URI provides human-readable documentation for the + problem (e.g. using HTML) when dereferenced. When this + member is not present, its value is assumed to be + "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. + It should not change from occurrence to occurrence of + the problem, except for purposes of localization. If + type is given and other than "about:blank", this + attribute shall also be provided. A short, + human-readable summary of the problem type. It SHOULD + NOT change from occurrence to occurrence of the + problem, except for purposes of localization (e.g., + using proactive content negotiation; see [RFC7231], + Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the + problem. The HTTP status code ([RFC7231], Section 6) + generated by the origin server for this occurrence of + the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this + occurrence of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific + occurrence of the problem. It may yield further + information if dereferenced. + type: string + format: URI + '403': + description: > + 403 FORBIDDEN + + If the API consumer is not allowed to perform a particular + request to a particular resource, the API producer shall respond + with this response code. The "ProblemDetails" structure shall be + provided. It should include in the "detail" attribute + information about the source of the problem, and may indicate + how to solve it. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data + structure from IETF RFC 7807 [19] is reproduced inthis + structure. Compared to the general framework defined in + IETF RFC 7807 [19], the "status" and "detail" attributes + are mandated to be included by the present document, to + ensure that the response contains additional textual + information about an error. IETF RFC 7807 [19] foresees + extensibility of the "ProblemDetails" type. It is possible + that particular APIs in the present document, or + particular implementations, define extensions to define + additional attributes that provide more information about + the error. The description column only provides some + explanation of the meaning to Facilitate understanding of + the design. For a full description, see IETF RFC 7807 + [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the + URI provides human-readable documentation for the + problem (e.g. using HTML) when dereferenced. When this + member is not present, its value is assumed to be + "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. + It should not change from occurrence to occurrence of + the problem, except for purposes of localization. If + type is given and other than "about:blank", this + attribute shall also be provided. A short, + human-readable summary of the problem type. It SHOULD + NOT change from occurrence to occurrence of the + problem, except for purposes of localization (e.g., + using proactive content negotiation; see [RFC7231], + Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the + problem. The HTTP status code ([RFC7231], Section 6) + generated by the origin server for this occurrence of + the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this + occurrence of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific + occurrence of the problem. It may yield further + information if dereferenced. + type: string + format: URI + '404': + description: > + 404 NOT FOUND + + If the API producer did not find a current representation for + the resource addressed by the URI passed in the request or is + not willing to disclose that one exists, it shall respond with + this response code. The "ProblemDetails" structure may be + provided, including in the "detail" attribute information about + the source of the problem, e.g. a wrong resource URI variable. + + This response code is not appropriate in case the resource + addressed by the URI is a container resource which is designed + to contain child resources, but does not contain any child + resource at the time the request is received. For a GET request + to an existing empty container resource, a typical response + contains a 200 OK response code and a payload body with an empty + array. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data + structure from IETF RFC 7807 [19] is reproduced inthis + structure. Compared to the general framework defined in + IETF RFC 7807 [19], the "status" and "detail" attributes + are mandated to be included by the present document, to + ensure that the response contains additional textual + information about an error. IETF RFC 7807 [19] foresees + extensibility of the "ProblemDetails" type. It is possible + that particular APIs in the present document, or + particular implementations, define extensions to define + additional attributes that provide more information about + the error. The description column only provides some + explanation of the meaning to Facilitate understanding of + the design. For a full description, see IETF RFC 7807 + [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the + URI provides human-readable documentation for the + problem (e.g. using HTML) when dereferenced. When this + member is not present, its value is assumed to be + "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. + It should not change from occurrence to occurrence of + the problem, except for purposes of localization. If + type is given and other than "about:blank", this + attribute shall also be provided. A short, + human-readable summary of the problem type. It SHOULD + NOT change from occurrence to occurrence of the + problem, except for purposes of localization (e.g., + using proactive content negotiation; see [RFC7231], + Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the + problem. The HTTP status code ([RFC7231], Section 6) + generated by the origin server for this occurrence of + the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this + occurrence of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific + occurrence of the problem. It may yield further + information if dereferenced. + type: string + format: URI + '405': + description: > + 405 METHOD NOT ALLOWED + + If a particular HTTP method is not supported for a particular + resource, the API producer shall respond with this response + code. The "ProblemDetails" structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data + structure from IETF RFC 7807 [19] is reproduced inthis + structure. Compared to the general framework defined in + IETF RFC 7807 [19], the "status" and "detail" attributes + are mandated to be included by the present document, to + ensure that the response contains additional textual + information about an error. IETF RFC 7807 [19] foresees + extensibility of the "ProblemDetails" type. It is possible + that particular APIs in the present document, or + particular implementations, define extensions to define + additional attributes that provide more information about + the error. The description column only provides some + explanation of the meaning to Facilitate understanding of + the design. For a full description, see IETF RFC 7807 + [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the + URI provides human-readable documentation for the + problem (e.g. using HTML) when dereferenced. When this + member is not present, its value is assumed to be + "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. + It should not change from occurrence to occurrence of + the problem, except for purposes of localization. If + type is given and other than "about:blank", this + attribute shall also be provided. A short, + human-readable summary of the problem type. It SHOULD + NOT change from occurrence to occurrence of the + problem, except for purposes of localization (e.g., + using proactive content negotiation; see [RFC7231], + Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the + problem. The HTTP status code ([RFC7231], Section 6) + generated by the origin server for this occurrence of + the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this + occurrence of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific + occurrence of the problem. It may yield further + information if dereferenced. + type: string + format: URI + '406': + description: > + 406 NOT ACCEPTABLE + + If the "Accept" HTTP header does not contain at least one name + of a content type that is acceptable to the API producer, the + API producer shall respond with this response code. The + "ProblemDetails" structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data + structure from IETF RFC 7807 [19] is reproduced inthis + structure. Compared to the general framework defined in + IETF RFC 7807 [19], the "status" and "detail" attributes + are mandated to be included by the present document, to + ensure that the response contains additional textual + information about an error. IETF RFC 7807 [19] foresees + extensibility of the "ProblemDetails" type. It is possible + that particular APIs in the present document, or + particular implementations, define extensions to define + additional attributes that provide more information about + the error. The description column only provides some + explanation of the meaning to Facilitate understanding of + the design. For a full description, see IETF RFC 7807 + [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the + URI provides human-readable documentation for the + problem (e.g. using HTML) when dereferenced. When this + member is not present, its value is assumed to be + "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. + It should not change from occurrence to occurrence of + the problem, except for purposes of localization. If + type is given and other than "about:blank", this + attribute shall also be provided. A short, + human-readable summary of the problem type. It SHOULD + NOT change from occurrence to occurrence of the + problem, except for purposes of localization (e.g., + using proactive content negotiation; see [RFC7231], + Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the + problem. The HTTP status code ([RFC7231], Section 6) + generated by the origin server for this occurrence of + the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this + occurrence of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific + occurrence of the problem. It may yield further + information if dereferenced. + type: string + format: URI + '422': + description: > + 422 UNPROCESSABLE ENTITY + + If the payload body of a request contains syntactically correct + data (e.g. well-formed JSON) but the data cannot be processed + (e.g. because it fails validation against a schema), the API + producer shall respond with this response code. The + "ProblemDetails" structure shall be provided, and should include + in the "detail" attribute more information about the source of + the problem. + + This error response code is only applicable for methods that + have a request body. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data + structure from IETF RFC 7807 [19] is reproduced inthis + structure. Compared to the general framework defined in + IETF RFC 7807 [19], the "status" and "detail" attributes + are mandated to be included by the present document, to + ensure that the response contains additional textual + information about an error. IETF RFC 7807 [19] foresees + extensibility of the "ProblemDetails" type. It is possible + that particular APIs in the present document, or + particular implementations, define extensions to define + additional attributes that provide more information about + the error. The description column only provides some + explanation of the meaning to Facilitate understanding of + the design. For a full description, see IETF RFC 7807 + [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the + URI provides human-readable documentation for the + problem (e.g. using HTML) when dereferenced. When this + member is not present, its value is assumed to be + "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. + It should not change from occurrence to occurrence of + the problem, except for purposes of localization. If + type is given and other than "about:blank", this + attribute shall also be provided. A short, + human-readable summary of the problem type. It SHOULD + NOT change from occurrence to occurrence of the + problem, except for purposes of localization (e.g., + using proactive content negotiation; see [RFC7231], + Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the + problem. The HTTP status code ([RFC7231], Section 6) + generated by the origin server for this occurrence of + the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this + occurrence of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific + occurrence of the problem. It may yield further + information if dereferenced. + type: string + format: URI + '500': + description: > + 500 INTERNAL SERVER ERROR + + If there is an application error not related to the client's + input that cannot be easily mapped to any other HTTP response + code ("catch all error"), the API producer shall respond with + this response code. The "ProblemDetails" structure shall be + provided, and shall include in the "detail" attribute more + information about the source of the problem. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data + structure from IETF RFC 7807 [19] is reproduced inthis + structure. Compared to the general framework defined in + IETF RFC 7807 [19], the "status" and "detail" attributes + are mandated to be included by the present document, to + ensure that the response contains additional textual + information about an error. IETF RFC 7807 [19] foresees + extensibility of the "ProblemDetails" type. It is possible + that particular APIs in the present document, or + particular implementations, define extensions to define + additional attributes that provide more information about + the error. The description column only provides some + explanation of the meaning to Facilitate understanding of + the design. For a full description, see IETF RFC 7807 + [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the + URI provides human-readable documentation for the + problem (e.g. using HTML) when dereferenced. When this + member is not present, its value is assumed to be + "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. + It should not change from occurrence to occurrence of + the problem, except for purposes of localization. If + type is given and other than "about:blank", this + attribute shall also be provided. A short, + human-readable summary of the problem type. It SHOULD + NOT change from occurrence to occurrence of the + problem, except for purposes of localization (e.g., + using proactive content negotiation; see [RFC7231], + Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the + problem. The HTTP status code ([RFC7231], Section 6) + generated by the origin server for this occurrence of + the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this + occurrence of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific + occurrence of the problem. It may yield further + information if dereferenced. + type: string + format: URI + '503': + description: > + 503 SERVICE UNAVAILABLE + + If the API producer encounters an internal overload situation of + itself or of a system it relies on, it should respond with this + response code, following the provisions in IETF RFC 7231 for the + use of the "Retry-After" HTTP header and for the alternative to + refuse the connection. The "ProblemDetails" structure may be + omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data + structure from IETF RFC 7807 [19] is reproduced inthis + structure. Compared to the general framework defined in + IETF RFC 7807 [19], the "status" and "detail" attributes + are mandated to be included by the present document, to + ensure that the response contains additional textual + information about an error. IETF RFC 7807 [19] foresees + extensibility of the "ProblemDetails" type. It is possible + that particular APIs in the present document, or + particular implementations, define extensions to define + additional attributes that provide more information about + the error. The description column only provides some + explanation of the meaning to Facilitate understanding of + the design. For a full description, see IETF RFC 7807 + [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the + URI provides human-readable documentation for the + problem (e.g. using HTML) when dereferenced. When this + member is not present, its value is assumed to be + "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. + It should not change from occurrence to occurrence of + the problem, except for purposes of localization. If + type is given and other than "about:blank", this + attribute shall also be provided. A short, + human-readable summary of the problem type. It SHOULD + NOT change from occurrence to occurrence of the + problem, except for purposes of localization (e.g., + using proactive content negotiation; see [RFC7231], + Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the + problem. The HTTP status code ([RFC7231], Section 6) + generated by the origin server for this occurrence of + the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this + occurrence of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific + occurrence of the problem. It may yield further + information if dereferenced. + type: string + format: URI + '504': + description: > + 504 GATEWAY TIMEOUT + + If the API producer encounters a timeout while waiting for a + response from an upstream server (i.e. a server that the API + producer communicates with when fulfilling a request), it should + respond with this response code. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data + structure from IETF RFC 7807 [19] is reproduced inthis + structure. Compared to the general framework defined in + IETF RFC 7807 [19], the "status" and "detail" attributes + are mandated to be included by the present document, to + ensure that the response contains additional textual + information about an error. IETF RFC 7807 [19] foresees + extensibility of the "ProblemDetails" type. It is possible + that particular APIs in the present document, or + particular implementations, define extensions to define + additional attributes that provide more information about + the error. The description column only provides some + explanation of the meaning to Facilitate understanding of + the design. For a full description, see IETF RFC 7807 + [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the + URI provides human-readable documentation for the + problem (e.g. using HTML) when dereferenced. When this + member is not present, its value is assumed to be + "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. + It should not change from occurrence to occurrence of + the problem, except for purposes of localization. If + type is given and other than "about:blank", this + attribute shall also be provided. A short, + human-readable summary of the problem type. It SHOULD + NOT change from occurrence to occurrence of the + problem, except for purposes of localization (e.g., + using proactive content negotiation; see [RFC7231], + Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the + problem. The HTTP status code ([RFC7231], Section 6) + generated by the origin server for this occurrence of + the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this + occurrence of the problem. + type: string + 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 allows the API producer to test the notification + endpoint that is provided by the API consumer, e.g. during + subscription. This method shall follow the provisions specified in + the tables 8.5.9.3.2-1 and 8.5.9.3.2-2 for URI query parameters, + request and response data structures, and response codes. + parameters: + - name: Version + description: > + Version of the API requested to use when responding to this + request. + in: header + required: true + schema: + type: string + - name: Accept + description: > + Content-Types that are acceptable for the response. Reference: + IETF RFC 7231. + in: header + required: true + schema: + type: string + - name: Authorization + description: > + The authorization token for the request. Reference: IETF RFC + 7235. + in: header + required: false + schema: + type: string + responses: + '204': + description: >- + Shall be returned to indicate that the notification endpoint has + been tested successfully. The response body shall be empty. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + '400': + description: > + 400 BAD REQUEST + + 400 code can be returned in the following specified cases, the + specific cause has to be proper specified in the + "ProblemDetails" structure to be returned. + + If the request is malformed or syntactically incorrect (e.g. if + the request URI contains incorrect query parameters or the + payload body contains a syntactically incorrect data structure), + the API producer shall respond with this response code. The + "ProblemDetails" structure shall be provided, and should include + in the "detail" attribute more information about the source of + the problem. + + If the response to a GET request which queries a container + resource would be so big that the performance of the API + producer is adversely affected, and the API producer does not + support paging for the affected resource, it shall respond with + this response code. The "ProblemDetails" structure shall be + provided, and should include in the "detail" attribute more + information about the source of the problem. + + If there is an application error related to the client's input + that cannot be easily mapped to any other HTTP response code + ("catch all error"), the API producer shall respond with this + response code. The "ProblemDetails" structure shall be provided, + and shall include in the "detail" attribute more information + about the source of the problem. + + If the request contains a malformed access token, the API + producer should respond with this response. The details of the + error shall be returned in the WWW Authenticate HTTP header, as + defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails + structure may be provided. + + The use of this HTTP error response code described above is + applicable to the use of the OAuth 2.0 for the authorization of + API requests and notifications, as defined in clauses 4.5.3.3 + and 4.5.3.4. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data + structure from IETF RFC 7807 [19] is reproduced inthis + structure. Compared to the general framework defined in + IETF RFC 7807 [19], the "status" and "detail" attributes + are mandated to be included by the present document, to + ensure that the response contains additional textual + information about an error. IETF RFC 7807 [19] foresees + extensibility of the "ProblemDetails" type. It is possible + that particular APIs in the present document, or + particular implementations, define extensions to define + additional attributes that provide more information about + the error. The description column only provides some + explanation of the meaning to Facilitate understanding of + the design. For a full description, see IETF RFC 7807 + [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the + URI provides human-readable documentation for the + problem (e.g. using HTML) when dereferenced. When this + member is not present, its value is assumed to be + "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. + It should not change from occurrence to occurrence of + the problem, except for purposes of localization. If + type is given and other than "about:blank", this + attribute shall also be provided. A short, + human-readable summary of the problem type. It SHOULD + NOT change from occurrence to occurrence of the + problem, except for purposes of localization (e.g., + using proactive content negotiation; see [RFC7231], + Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the + problem. The HTTP status code ([RFC7231], Section 6) + generated by the origin server for this occurrence of + the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this + occurrence of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific + occurrence of the problem. It may yield further + information if dereferenced. + type: string + format: URI + '401': + description: > + 401 UNAUTHORIZED + + If the request contains no access token even though one is + required, or if the request contains an authorization token that + is invalid (e.g. expired or revoked), the API producer should + respond with this response. The details of the error shall be + returned in the WWW-Authenticate HTTP header, as defined in IETF + RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be + provided. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data + structure from IETF RFC 7807 [19] is reproduced inthis + structure. Compared to the general framework defined in + IETF RFC 7807 [19], the "status" and "detail" attributes + are mandated to be included by the present document, to + ensure that the response contains additional textual + information about an error. IETF RFC 7807 [19] foresees + extensibility of the "ProblemDetails" type. It is possible + that particular APIs in the present document, or + particular implementations, define extensions to define + additional attributes that provide more information about + the error. The description column only provides some + explanation of the meaning to Facilitate understanding of + the design. For a full description, see IETF RFC 7807 + [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the + URI provides human-readable documentation for the + problem (e.g. using HTML) when dereferenced. When this + member is not present, its value is assumed to be + "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. + It should not change from occurrence to occurrence of + the problem, except for purposes of localization. If + type is given and other than "about:blank", this + attribute shall also be provided. A short, + human-readable summary of the problem type. It SHOULD + NOT change from occurrence to occurrence of the + problem, except for purposes of localization (e.g., + using proactive content negotiation; see [RFC7231], + Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the + problem. The HTTP status code ([RFC7231], Section 6) + generated by the origin server for this occurrence of + the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this + occurrence of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific + occurrence of the problem. It may yield further + information if dereferenced. + type: string + format: URI + '403': + description: > + 403 FORBIDDEN + + If the API consumer is not allowed to perform a particular + request to a particular resource, the API producer shall respond + with this response code. The "ProblemDetails" structure shall be + provided. It should include in the "detail" attribute + information about the source of the problem, and may indicate + how to solve it. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data + structure from IETF RFC 7807 [19] is reproduced inthis + structure. Compared to the general framework defined in + IETF RFC 7807 [19], the "status" and "detail" attributes + are mandated to be included by the present document, to + ensure that the response contains additional textual + information about an error. IETF RFC 7807 [19] foresees + extensibility of the "ProblemDetails" type. It is possible + that particular APIs in the present document, or + particular implementations, define extensions to define + additional attributes that provide more information about + the error. The description column only provides some + explanation of the meaning to Facilitate understanding of + the design. For a full description, see IETF RFC 7807 + [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the + URI provides human-readable documentation for the + problem (e.g. using HTML) when dereferenced. When this + member is not present, its value is assumed to be + "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. + It should not change from occurrence to occurrence of + the problem, except for purposes of localization. If + type is given and other than "about:blank", this + attribute shall also be provided. A short, + human-readable summary of the problem type. It SHOULD + NOT change from occurrence to occurrence of the + problem, except for purposes of localization (e.g., + using proactive content negotiation; see [RFC7231], + Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the + problem. The HTTP status code ([RFC7231], Section 6) + generated by the origin server for this occurrence of + the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this + occurrence of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific + occurrence of the problem. It may yield further + information if dereferenced. + type: string + format: URI + '404': + description: > + 404 NOT FOUND + + If the API producer did not find a current representation for + the resource addressed by the URI passed in the request or is + not willing to disclose that one exists, it shall respond with + this response code. The "ProblemDetails" structure may be + provided, including in the "detail" attribute information about + the source of the problem, e.g. a wrong resource URI variable. + + This response code is not appropriate in case the resource + addressed by the URI is a container resource which is designed + to contain child resources, but does not contain any child + resource at the time the request is received. For a GET request + to an existing empty container resource, a typical response + contains a 200 OK response code and a payload body with an empty + array. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data + structure from IETF RFC 7807 [19] is reproduced inthis + structure. Compared to the general framework defined in + IETF RFC 7807 [19], the "status" and "detail" attributes + are mandated to be included by the present document, to + ensure that the response contains additional textual + information about an error. IETF RFC 7807 [19] foresees + extensibility of the "ProblemDetails" type. It is possible + that particular APIs in the present document, or + particular implementations, define extensions to define + additional attributes that provide more information about + the error. The description column only provides some + explanation of the meaning to Facilitate understanding of + the design. For a full description, see IETF RFC 7807 + [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the + URI provides human-readable documentation for the + problem (e.g. using HTML) when dereferenced. When this + member is not present, its value is assumed to be + "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. + It should not change from occurrence to occurrence of + the problem, except for purposes of localization. If + type is given and other than "about:blank", this + attribute shall also be provided. A short, + human-readable summary of the problem type. It SHOULD + NOT change from occurrence to occurrence of the + problem, except for purposes of localization (e.g., + using proactive content negotiation; see [RFC7231], + Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the + problem. The HTTP status code ([RFC7231], Section 6) + generated by the origin server for this occurrence of + the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this + occurrence of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific + occurrence of the problem. It may yield further + information if dereferenced. + type: string + format: URI + '405': + description: > + 405 METHOD NOT ALLOWED + + If a particular HTTP method is not supported for a particular + resource, the API producer shall respond with this response + code. The "ProblemDetails" structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data + structure from IETF RFC 7807 [19] is reproduced inthis + structure. Compared to the general framework defined in + IETF RFC 7807 [19], the "status" and "detail" attributes + are mandated to be included by the present document, to + ensure that the response contains additional textual + information about an error. IETF RFC 7807 [19] foresees + extensibility of the "ProblemDetails" type. It is possible + that particular APIs in the present document, or + particular implementations, define extensions to define + additional attributes that provide more information about + the error. The description column only provides some + explanation of the meaning to Facilitate understanding of + the design. For a full description, see IETF RFC 7807 + [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the + URI provides human-readable documentation for the + problem (e.g. using HTML) when dereferenced. When this + member is not present, its value is assumed to be + "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. + It should not change from occurrence to occurrence of + the problem, except for purposes of localization. If + type is given and other than "about:blank", this + attribute shall also be provided. A short, + human-readable summary of the problem type. It SHOULD + NOT change from occurrence to occurrence of the + problem, except for purposes of localization (e.g., + using proactive content negotiation; see [RFC7231], + Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the + problem. The HTTP status code ([RFC7231], Section 6) + generated by the origin server for this occurrence of + the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this + occurrence of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific + occurrence of the problem. It may yield further + information if dereferenced. + type: string + format: URI + '406': + description: > + 406 NOT ACCEPTABLE + + If the "Accept" HTTP header does not contain at least one name + of a content type that is acceptable to the API producer, the + API producer shall respond with this response code. The + "ProblemDetails" structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data + structure from IETF RFC 7807 [19] is reproduced inthis + structure. Compared to the general framework defined in + IETF RFC 7807 [19], the "status" and "detail" attributes + are mandated to be included by the present document, to + ensure that the response contains additional textual + information about an error. IETF RFC 7807 [19] foresees + extensibility of the "ProblemDetails" type. It is possible + that particular APIs in the present document, or + particular implementations, define extensions to define + additional attributes that provide more information about + the error. The description column only provides some + explanation of the meaning to Facilitate understanding of + the design. For a full description, see IETF RFC 7807 + [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the + URI provides human-readable documentation for the + problem (e.g. using HTML) when dereferenced. When this + member is not present, its value is assumed to be + "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. + It should not change from occurrence to occurrence of + the problem, except for purposes of localization. If + type is given and other than "about:blank", this + attribute shall also be provided. A short, + human-readable summary of the problem type. It SHOULD + NOT change from occurrence to occurrence of the + problem, except for purposes of localization (e.g., + using proactive content negotiation; see [RFC7231], + Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the + problem. The HTTP status code ([RFC7231], Section 6) + generated by the origin server for this occurrence of + the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this + occurrence of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific + occurrence of the problem. It may yield further + information if dereferenced. + type: string + format: URI + '422': + description: > + 422 UNPROCESSABLE ENTITY + + If the payload body of a request contains syntactically correct + data (e.g. well-formed JSON) but the data cannot be processed + (e.g. because it fails validation against a schema), the API + producer shall respond with this response code. The + "ProblemDetails" structure shall be provided, and should include + in the "detail" attribute more information about the source of + the problem. + + This error response code is only applicable for methods that + have a request body. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data + structure from IETF RFC 7807 [19] is reproduced inthis + structure. Compared to the general framework defined in + IETF RFC 7807 [19], the "status" and "detail" attributes + are mandated to be included by the present document, to + ensure that the response contains additional textual + information about an error. IETF RFC 7807 [19] foresees + extensibility of the "ProblemDetails" type. It is possible + that particular APIs in the present document, or + particular implementations, define extensions to define + additional attributes that provide more information about + the error. The description column only provides some + explanation of the meaning to Facilitate understanding of + the design. For a full description, see IETF RFC 7807 + [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the + URI provides human-readable documentation for the + problem (e.g. using HTML) when dereferenced. When this + member is not present, its value is assumed to be + "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. + It should not change from occurrence to occurrence of + the problem, except for purposes of localization. If + type is given and other than "about:blank", this + attribute shall also be provided. A short, + human-readable summary of the problem type. It SHOULD + NOT change from occurrence to occurrence of the + problem, except for purposes of localization (e.g., + using proactive content negotiation; see [RFC7231], + Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the + problem. The HTTP status code ([RFC7231], Section 6) + generated by the origin server for this occurrence of + the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this + occurrence of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific + occurrence of the problem. It may yield further + information if dereferenced. + type: string + format: URI + '500': + description: > + 500 INTERNAL SERVER ERROR + + If there is an application error not related to the client's + input that cannot be easily mapped to any other HTTP response + code ("catch all error"), the API producer shall respond with + this response code. The "ProblemDetails" structure shall be + provided, and shall include in the "detail" attribute more + information about the source of the problem. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data + structure from IETF RFC 7807 [19] is reproduced inthis + structure. Compared to the general framework defined in + IETF RFC 7807 [19], the "status" and "detail" attributes + are mandated to be included by the present document, to + ensure that the response contains additional textual + information about an error. IETF RFC 7807 [19] foresees + extensibility of the "ProblemDetails" type. It is possible + that particular APIs in the present document, or + particular implementations, define extensions to define + additional attributes that provide more information about + the error. The description column only provides some + explanation of the meaning to Facilitate understanding of + the design. For a full description, see IETF RFC 7807 + [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the + URI provides human-readable documentation for the + problem (e.g. using HTML) when dereferenced. When this + member is not present, its value is assumed to be + "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. + It should not change from occurrence to occurrence of + the problem, except for purposes of localization. If + type is given and other than "about:blank", this + attribute shall also be provided. A short, + human-readable summary of the problem type. It SHOULD + NOT change from occurrence to occurrence of the + problem, except for purposes of localization (e.g., + using proactive content negotiation; see [RFC7231], + Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the + problem. The HTTP status code ([RFC7231], Section 6) + generated by the origin server for this occurrence of + the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this + occurrence of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific + occurrence of the problem. It may yield further + information if dereferenced. + type: string + format: URI + '503': + description: > + 503 SERVICE UNAVAILABLE + + If the API producer encounters an internal overload situation of + itself or of a system it relies on, it should respond with this + response code, following the provisions in IETF RFC 7231 for the + use of the "Retry-After" HTTP header and for the alternative to + refuse the connection. The "ProblemDetails" structure may be + omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data + structure from IETF RFC 7807 [19] is reproduced inthis + structure. Compared to the general framework defined in + IETF RFC 7807 [19], the "status" and "detail" attributes + are mandated to be included by the present document, to + ensure that the response contains additional textual + information about an error. IETF RFC 7807 [19] foresees + extensibility of the "ProblemDetails" type. It is possible + that particular APIs in the present document, or + particular implementations, define extensions to define + additional attributes that provide more information about + the error. The description column only provides some + explanation of the meaning to Facilitate understanding of + the design. For a full description, see IETF RFC 7807 + [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the + URI provides human-readable documentation for the + problem (e.g. using HTML) when dereferenced. When this + member is not present, its value is assumed to be + "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. + It should not change from occurrence to occurrence of + the problem, except for purposes of localization. If + type is given and other than "about:blank", this + attribute shall also be provided. A short, + human-readable summary of the problem type. It SHOULD + NOT change from occurrence to occurrence of the + problem, except for purposes of localization (e.g., + using proactive content negotiation; see [RFC7231], + Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the + problem. The HTTP status code ([RFC7231], Section 6) + generated by the origin server for this occurrence of + the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this + occurrence of the problem. + type: string + instance: + description: > + A URI reference that identifies the specific + occurrence of the problem. It may yield further + information if dereferenced. + type: string + format: URI + '504': + description: > + 504 GATEWAY TIMEOUT + + If the API producer encounters a timeout while waiting for a + response from an upstream server (i.e. a server that the API + producer communicates with when fulfilling a request), it should + respond with this response code. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: | + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data + structure from IETF RFC 7807 [19] is reproduced inthis + structure. Compared to the general framework defined in + IETF RFC 7807 [19], the "status" and "detail" attributes + are mandated to be included by the present document, to + ensure that the response contains additional textual + information about an error. IETF RFC 7807 [19] foresees + extensibility of the "ProblemDetails" type. It is possible + that particular APIs in the present document, or + particular implementations, define extensions to define + additional attributes that provide more information about + the error. The description column only provides some + explanation of the meaning to Facilitate understanding of + the design. For a full description, see IETF RFC 7807 + [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the + URI provides human-readable documentation for the + problem (e.g. using HTML) when dereferenced. When this + member is not present, its value is assumed to be + "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. + It should not change from occurrence to occurrence of + the problem, except for purposes of localization. If + type is given and other than "about:blank", this + attribute shall also be provided. A short, + human-readable summary of the problem type. It SHOULD + NOT change from occurrence to occurrence of the + problem, except for purposes of localization (e.g., + using proactive content negotiation; see [RFC7231], + Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the + problem. The HTTP status code ([RFC7231], Section 6) + generated by the origin server for this occurrence of + the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this + occurrence of the problem. + type: string + 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/SOL009/NFVMANOLogManagement-API/Subscriptions.robot b/SOL009/NFVMANOLogManagement-API/Subscriptions.robot new file mode 100644 index 0000000000000000000000000000000000000000..37bf29bc6629ffec5aae66b2af08500eedcc1a1b --- /dev/null +++ b/SOL009/NFVMANOLogManagement-API/Subscriptions.robot @@ -0,0 +1,201 @@ +*** Settings *** +Library JSONSchemaLibrary schemas/ +Resource environment/variables.txt +Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false +Library OperatingSystem +Library JSONLibrary +Resource NFVMANOLogManagementKeywords.robot +Library MockServerLibrary +Library Process +Suite Setup Create Sessions +Suite Teardown Terminate All Processes kill=true + +*** Test Cases *** +GET all Subscriptions + [Documentation] Test ID: 8.3.4.5.1 + ... Test title: GET all Subscriptions + ... Test objective: The objective is to test the retrieval list of active subscriptions list to log management notifications and perform a JSON schema validation of the returned subscriptions data structure + ... Pre-conditions: At least one subscription is available in the NFV-MANO. + ... Reference: clause 8.5.7.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get all Subscriptions + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is LogmSubscriptions + +GET Subscriptions with attribute-based filter + [Documentation] Test ID: 8.3.4.5.2 + ... Test title: GET Subscriptions with attribute-based filter + ... Test objective: The objective is to test the retrieval of active subscriptions list to log management notifications 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: At least one subscription is available in the NFV-MANO. + ... Reference: clause 8.5.7.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get Subscriptions with attribute-based filters + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is LogmSubscriptions + +GET Subscriptions with Paged Response + [Documentation] Test ID: 8.3.4.5.3 + ... Test title: GET Subscriptions with Paged Response + ... Test objective: The objective is to query information of active subscriptions list to log management notifications to get Paged Response. + ... Pre-conditions: At least one subscription is available in the NFV-MANO. + ... Reference: clause 8.5.7.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get all Subscriptions + Check HTTP Response Status Code Is 200 + Check HTTP Response Header Contains Link + +GET Subscriptions - invalid attribute-based filter + [Documentation] Test ID: 8.3.4.5.4 + ... Test title: GET Subscriptions - invalid attribute-based filter + ... Test objective: The objective is to test that the retrieval of active subscriptions list to log management notifications fails when using invalid attribute-based filters, and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: At least one subscription is available in the NFV-MANO. + ... Reference: clause 8.5.7.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get Subscriptions with invalid attribute-based filters + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET Subscriptions - Bad Request Response too Big + [Documentation] Test ID: 8.3.4.5.5 + ... Test title: GET Subscriptions - Bad Request Response too Big + ... Test objective: The objective is to test that the retrieval of active subscriptions list to log management notifications fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: At least one subscription is available in the NFV-MANO. + ... Reference: clause 8.5.7.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get all Subscriptions + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET Subscriptions - invalid resource endpoint + [Documentation] Test ID: 8.3.4.5.6 + ... Test title: GET Subscriptions - invalid resource endpoint + ... Test objective: The objective is to test that the retrieval of active subscriptions list to log management notifications fails when using invalid resource endpoint. + ... Pre-conditions: At least one subscription is available in the NFV-MANO. + ... Reference: clause 8.5.7.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get all Subscriptions + Check HTTP Response Status Code Is 404 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET Subscription with attribute-based filter "id" + [Documentation] Test ID: 8.3.4.5.7 + ... 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: none + ... Reference: clause 8.5.7.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get subscriptions with filter "id" + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is LogmSubscription + Check PostCondition HTTP Response Body Subscription Matches the requested attribute-based filter "id" + +Get subscriptions with filter "filter.notificationTypes" + [Documentation] Test ID: 8.3.4.5.8 + ... 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: none + ... Reference: clause 8.5.7.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... 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 LogmSubscriptions + Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_notificationTypes" + +Create new Subscription + [Documentation] Test ID 8.3.4.5.9 + ... Test title: Create new Subscription + ... Test objective: The objective is to test the creation of a new subscription to log management notification and perform a JSON schema and content validation of the returned subscription data structure + ... Pre-conditions: none + ... Reference: clause 8.5.7.3.1 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: The subscription is successfully set and it matches the issued subscription + Send Post Request for Subscription + Check HTTP Response Status Code Is 201 + Check HTTP Response Body Json Schema Is LogmSubscription + Check HTTP Response Body LogmSubscription Attributes Values Match the Issued Subscription + Check Postcondition Subscription Is Set + +Create request for duplicated Subscription not creating duplicated subscriptions + [Tags] no-duplicated-subs + [Documentation] Test ID 8.3.4.5.10 + ... Test title: Create request for duplicated Subscription not creating duplicated subscriptions + ... Test objective: The objective is to test the attempt of a creation of a duplicated subscription failed and check that no new subscription is created and a link to the original subscription is returned + ... Pre-conditions: At least one subscription is available in the NFV-MANO. + ... Reference: clause 8.5.7.3.1 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: The NFV-MANO does not support the creation of duplicated subscriptions + ... Post-Conditions: The existing Subscription returned is available in the NFV-MANO + Send Post Request for Duplicated Subscription + Check HTTP Response Status Code Is 303 + Check HTTP Response Body Is Empty + Check HTTP Response Header Contains Location + Check Postcondition Subscription Resource Returned in Location Header Is Available + +Create request for duplicated Subscription creating duplicated subscriptions + [Tags] duplicated-subs + [Documentation] Test ID 8.3.4.5.11 + ... Test title: Create request for duplicated Subscription creating duplicated subscriptions + ... Test objective: The objective is to test the creation of a duplicated subscription and perform a JSON schema and content validation of the returned duplicated subscription data structure + ... Pre-conditions: At least one subscription is available in the NFV-MANO. + ... Reference: clause 8.5.7.3.1 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: The NFV-MANO supports the creation of duplicated subscriptions + ... Post-Conditions: The duplicated subscription is successfully set and it matches the issued subscription + Send Post Request for Duplicated Subscription + Check HTTP Response Status Code Is 201 + Check HTTP Response Body Json Schema Is PmSubscription + Check HTTP Response Body LogmSubscription Attributes Values Match the Issued Subscription + Check Postcondition Subscription Is Set + +PUT Subscriptions - Method not implemented + [Documentation] Test ID 8.3.4.5.12 + ... Test title: PUT Subscriptions - Method not implemented + ... Test objective: The objective is to test that PUT method is not allowed to modify subscriptions + ... Pre-conditions: none + ... Reference: clause 8.5.7.3.3 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Send Put Request for Subscriptions + Check HTTP Response Status Code Is 405 + +PATCH Subscriptions - Method not implemented + [Documentation] Test ID 8.3.4.5.13 + ... Test title: PATCH Subscriptions - Method not implemented + ... Test objective: The objective is to test that PATCH method is not allowed to update subscriptions + ... Pre-conditions: none + ... Reference: clause 8.5.7.3.4 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Send Patch Request for Subscriptions + Check HTTP Response Status Code Is 405 + +DELETE Subscriptions - Method not implemented + [Documentation] Test ID 8.3.4.5.14 + ... Test title: DELETE Subscriptions - Method not implemented + ... Test objective: The objective is to test that DELETE method is not allowed to delete subscriptions + ... Pre-conditions: none + ... Reference: clause 8.5.7.3.5 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Send Delete Request for Subscriptions + Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL009/NFVMANOLogManagement-API/environment/variables.txt b/SOL009/NFVMANOLogManagement-API/environment/variables.txt new file mode 100644 index 0000000000000000000000000000000000000000..82c8646ff8ad555bb371ee2b8a187c71c70a9587 --- /dev/null +++ b/SOL009/NFVMANOLogManagement-API/environment/variables.txt @@ -0,0 +1,66 @@ +*** Variables *** +${NFVMANOHOST} localhost +${NFVMANO_PORT} 8080 +${NFVMANO_SCHEMA} https + +${logJobId} 0b000d4f1a2b67 +${erroneousLogJobId} wrongID + + +${AUTHORIZATION} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 +${NEG_AUTHORIZATION} Bearer negativetoken +${BAD_AUTHORIZATION} Bear sometoken + +${CONTENT_TYPE} application/json +${CONTENT_TYPE_JSON} application/json +${ACCEPT_JSON} application/json +${ACCEPT} application/json +${AUTH_USAGE} 1 +${FIELD_USAGE} 1 +${NFVMANO_CHECKS_NOTIF_ENDPOINT} 1 ## If true, during subscription, the FUT performs a get to the notification endpoint + +${NFVMANO_ALLOWS_DUPLICATE_SUBS} 1 + +${apiRoot} / +${apiMajorVersion} v1 +${apiName} nfvmanologm + +${response} {} +${origResponse} {} + +${callback_port} 9091 +${callback_uri} http://172.22.1.7:${callback_port} +${callback_endpoint} /nfvmanologm/subscriptions +${filter_ok} callbackUri=${callbackUri} +${filter_ko} erroneousFilter=erroneous +${callback_endpoint_fwd} /endpoint/check +${callback_endpoint_error} /subs_404 +${sleep_interval} 20s + +${total_polling_time} 2 min +${polling_interval} 10 sec + +${notification_request} [] +${notification_response} [] + +${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar + +${alarm_filter} id +${filter_value} 50daca910b000d4f1a2b675d604257e42 +${fields} + +${reportId} 0fb4c875-e07f-46ca-a9dd-13907667a568 +${erroneousReportId} erroneousReportId +${newReportId} newReportId + +${SYNC_MODE} 1 + +${retry} 2 min +${polling} 10 sec + +${subscriptionId} 17563e75-0e14-4bd7-94b4-6bbb869c79aa +${erroneousSubscriptionId} erroneousSubscriptionId +${newSubscriptionId} newSubsciptionId + +${objectInstanceId} 4bd7-94b4-6bbb86-9c79aa +${notification_type} LogReportAvailableNotification \ No newline at end of file diff --git a/SOL009/NFVMANOLogManagement-API/jsons/compileLogRequest.json b/SOL009/NFVMANOLogManagement-API/jsons/compileLogRequest.json new file mode 100644 index 0000000000000000000000000000000000000000..526c6caa21166b321f6f3ffd652f48d640081021 --- /dev/null +++ b/SOL009/NFVMANOLogManagement-API/jsons/compileLogRequest.json @@ -0,0 +1,3 @@ +{{ + "objectInstanceId":"{objectInstanceId}" +}} \ No newline at end of file diff --git a/SOL009/NFVMANOLogManagement-API/jsons/createLoggingJobRequest.json b/SOL009/NFVMANOLogManagement-API/jsons/createLoggingJobRequest.json new file mode 100644 index 0000000000000000000000000000000000000000..ec6656b6fd5587478cc51a3177e351141fbe0aaa --- /dev/null +++ b/SOL009/NFVMANOLogManagement-API/jsons/createLoggingJobRequest.json @@ -0,0 +1,8 @@ +{{ + "objectInstanceIds":[ + "{objectInstanceId}" + ], + "jobCriteria":{{ + "loggingType":"MESSAGES" + }} +}} diff --git a/SOL009/NFVMANOLogManagement-API/jsons/subscriptions.json b/SOL009/NFVMANOLogManagement-API/jsons/subscriptions.json new file mode 100644 index 0000000000000000000000000000000000000000..b81c74461d233994167551fd344d2b2a30f9f4df --- /dev/null +++ b/SOL009/NFVMANOLogManagement-API/jsons/subscriptions.json @@ -0,0 +1,6 @@ +{ + "callbackUri": "{callback_uri}{callback_endpoint}", + "filter": { + "notificationTypes": ["ThresholdCrossedNotification"] + } +} \ No newline at end of file diff --git a/SOL009/NFVMANOLogManagement-API/schemas/LogReport.schema.json b/SOL009/NFVMANOLogManagement-API/schemas/LogReport.schema.json new file mode 100644 index 0000000000000000000000000000000000000000..3e2d3219f253052c9d87c743220694c05cf54ce6 --- /dev/null +++ b/SOL009/NFVMANOLogManagement-API/schemas/LogReport.schema.json @@ -0,0 +1,176 @@ +{ + "description": "This type represents a log report, which provides information about a compiled log and how to obtain it. It shall comply with the provisions defined in table 8.6.2.7-1.\n", + "type": "object", + "required": [ + "id", + "objectInstanceId", + "compilationTrigger", + "readyTime", + "fileFormat", + "fileLocationInfo", + "securityAndIntegrityInfo", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "objectInstanceId": { + "description": "This type represents the identifier to reference a managed object of a particular type. \n", + "type": "object", + "properties": { + "type": { + "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", + "type": "string", + "enum": [ + "MANO_ENTITY", + "MANO_SERVICE", + "MANO_SERVICE_IF", + "CONSUMED_MANO_IF", + "MANO_ENTITY_COMPONENT" + ] + }, + "objectId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "subObjectId": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } + }, + "required": [ + "type", + "objectId" + ] + }, + "compilationTrigger": { + "description": "The trigger for the compilation of the log file.\nPermitted values: - ON_DEMAND: created based on explicit request by a client. - AUTOMATIC: created according to the logging job compilation configuration.", + "type": "string", + "enum": [ + "ON_DEMAND", + "AUTOMATIC" + ] + }, + "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 compiled log file in bytes, if known.", + "type": "integer", + "format": "int32" + }, + "fileFormat": { + "description": "The encoding used by the file.", + "type": "string" + }, + "fileLocationInfo": { + "description": "Location and address information of the compiled log file. The consumer can use this information to obtain the compiled log file.", + "type": "object", + "required": [ + "protocol", + "fileEndpoint" + ], + "properties": { + "protocol": { + "description": "Protocol over which the compiled log file can be retrieved.\nPermitted values: - HTTPS: transmission over HTTP Secure (HTTPS). - SFTP: transmission over SSH file transfer protocol (SFTP). - SCP: transmission over secure copy protocol (SCP). - FTPS: transmission over file transfer protocol secure (FTPS), as specified in IETF RFC 2228 [i.11],\n using explicit mode as specified in IETF RFC 4217 [i.12]. If FTPS is supported, \"private\" protection level shall be used.\n\nHTTPS shall be supported, and other protocols may be supported.", + "type": "string", + "enum": [ + "HTTPS", + "SFTP", + "SCP", + "FTPS" + ] + }, + "fileEndpoint": { + "description": "The host name (or IP address), optionally a port number (if the host with the compile log file uses a non-standard port number as per the supported transmission protocol), a valid file directory path, and the file name of the compiled log file, or a valid URL.", + "type": "string", + "format": "URI" + } + } + }, + "securityAndIntegrityInfo": { + "description": "Security and integrity information for the compilation of the log files.", + "type": "object", + "required": [ + "algorithm", + "hash", + "logFileSignature", + "signingCertificate" + ], + "properties": { + "algorithm": { + "description": "Algorithm used to generate the hash of the compiled log file. Only SHA-256 and SHA-512 shall be used", + "type": "string" + }, + "hash": { + "description": "The hexadecimal value of the hash of the compiled log file. The hash shall be computed from the encrypted compiled log file, in case the encryption applies.", + "type": "string" + }, + "encryptionPublicKey": { + "description": "Public key used for the encryption of the compiled log file. Shall be present if the compiled log file is encrypted.", + "type": "string" + }, + "cipherAlgorithm": { + "description": "The cryptographic algorithm used for the encryption. Shall be present if the compiled log file is encrypted. Valid values are: \"AES-CBC-128\", \"AES-GCM-128\", \"AES-CBC-256\", and \"AES-GCM-256\", as specified in clause 6.5 of ETSI GS NFV-SEC 012 [14].", + "type": "string" + }, + "logFileSignature": { + "description": "Signature to the compiled log file generated with the NFV-MANO functional entity’s private key, which is used to ensure the authenticity of the compiled log file. The signature shall be applied according to the \"encryptAndSignOrder\" of the \"LoggingJobConfig\".", + "type": "string" + }, + "signingCertificate": { + "description": "X.509 certificate with the NFV-MANO functional entity’s public key used for verifying the log report and compiled log file signatures.", + "type": "string" + } + } + }, + "_links": { + "description": "Links for this resource.", + "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" + } + } + }, + "objects": { + "description": "Links to resources representing the object instances that are logged. Shall be present if the logged object instance information is accessible as a resource.", + "type": "array", + "items": { + "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/SOL009/NFVMANOLogManagement-API/schemas/LogReportAvailableNotification.schema.json b/SOL009/NFVMANOLogManagement-API/schemas/LogReportAvailableNotification.schema.json new file mode 100644 index 0000000000000000000000000000000000000000..e1d6843993256f349e9aea92378f7e4e5a715dcb --- /dev/null +++ b/SOL009/NFVMANOLogManagement-API/schemas/LogReportAvailableNotification.schema.json @@ -0,0 +1,126 @@ +{ + "description": "This notification informs the receiver that the log report of the NFV-MANO functional entity is available. It shall comply with the provisions defined in table 8.6.2.4-1. The notification shall be triggered by the NFV-MANO functional entity when log information has been collected by the logging job and the log report is available.", + "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 \"LogReportAvailableNotification\" for this notification type.", + "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": "This type represents the identifier to reference a managed object of a particular type. \n", + "type": "object", + "properties": { + "type": { + "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", + "type": "string", + "enum": [ + "MANO_ENTITY", + "MANO_SERVICE", + "MANO_SERVICE_IF", + "CONSUMED_MANO_IF", + "MANO_ENTITY_COMPONENT" + ] + }, + "objectId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "subObjectId": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } + }, + "required": [ + "type", + "objectId" + ] + }, + "_links": { + "description": "Links to resources related to this notification.", + "type": "object", + "required": [ + "subscription", + "logReports" + ], + "properties": { + "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" + } + } + }, + "objectInstance": { + "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" + } + } + }, + "LoggingJob": { + "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" + } + } + }, + "logReports": { + "description": "Link from which the available log report can be obtained. Due to the relationship of the logging job compilation and the logging information availability reporting, more than one logReport notification link can be provided.", + "type": "array", + "items": { + "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/SOL009/NFVMANOLogManagement-API/schemas/LoggingJob.schema.json b/SOL009/NFVMANOLogManagement-API/schemas/LoggingJob.schema.json new file mode 100644 index 0000000000000000000000000000000000000000..d7dd8b5d52059d378fd7c296b9a7fe96d0b1c77c --- /dev/null +++ b/SOL009/NFVMANOLogManagement-API/schemas/LoggingJob.schema.json @@ -0,0 +1,353 @@ +{ + "description": "This type represents a logging job. It shall comply with the provisions defined in table 8.6.2.6-1.", + "type": "object", + "required": [ + "id", + "objectInstanceIds", + "jobCriteria", + "jobConfig", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "objectInstanceIds": { + "description": "Identifiers of the object instance for which logging information is collected. This attribute shall contain the identifier of the instance of the object that is logged according to their type.", + "type": "array", + "items": { + "description": "This type represents the identifier to reference a managed object of a particular type. \n", + "type": "object", + "properties": { + "type": { + "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", + "type": "string", + "enum": [ + "MANO_ENTITY", + "MANO_SERVICE", + "MANO_SERVICE_IF", + "CONSUMED_MANO_IF", + "MANO_ENTITY_COMPONENT" + ] + }, + "objectId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "subObjectId": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } + }, + "required": [ + "type", + "objectId" + ] + } + }, + "jobCriteria": { + "description": "This type represents collection criteria for logging jobs. It shall comply with the provisions defined in table 8.6.3.2-1.", + "type": "object", + "required": [ + "loggingType" + ], + "properties": { + "loggingType": { + "description": "Type of logging. This defines the types of logged information to collect.\nPermitted values: - MESSAGES: logged NFV-MANO service interface messages. - SERVICES: logged messages about processes pertaining to NFV-MANO services. - SYSTEM: logged messages about the NFV-MANO functional entity’s system enabled by the provider.", + "type": "string", + "enum": [ + "MESSAGES", + "SERVICES", + "SYSTEM" + ] + }, + "messagesLogDetail": { + "description": "This type represents criteria for logging jobs to collect logged messages on NFV-MANO service interfaces. It shall comply with the provisions defined in table 8.6.3.3-1.", + "type": "object", + "required": [ + "direction" + ], + "properties": { + "direction": { + "description": "The direction of the interface messages to match.\nPermitted values: - IN: input messages into the interface. - OUT: output messages from the interface. - ALL: both input and output messages into/from the interface.", + "type": "string", + "enum": [ + "IN", + "OUT", + "ALL" + ] + }, + "matchingPatterns": { + "description": "Patterns to be matched in the interface message. If provided, only messages that match all the values provided in the sub-attributes shall be logged. An API consumer can provide more than one \"matchingPattern\" if combinations of patterns are to be considered to match diverse sets of interface messages.", + "type": "array", + "items": { + "type": "object", + "anyOf": [ + { + "required": [ + "srcIpAddress" + ] + }, + { + "required": [ + "dstIpAddress" + ] + }, + { + "required": [ + "requestMethod" + ] + }, + { + "required": [ + "requestUriPattern" + ] + }, + { + "required": [ + "responseCodes" + ] + } + ], + "properties": { + "srcIpAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "requestMethod": { + "description": "HTTP request method to be matched. To match, the HTTP request method of the message shall be the same as the value of this attribute. Valid values are specified in IETF RFC 7231. The API producer shall support this attribute.", + "type": "string" + }, + "requestUriPattern": { + "description": "Substring to be matched in the request URI. To match, the request URI shall include the value of\n this attribute as a substring. This is typically used to match messages which associate to RESTful\n resources, or to a specific API (e.g., by using the \"apiName\" of the API). The API producer shall\n support this attribute.", + "type": "string" + }, + "dstIpAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "responseCodes": { + "description": "HTTP response codes or patterns to match. A list of all valid HTTP response codes and their specification documents can be obtained from the HTTP status code registry. In addition, if supported, the following patterns may be used (case-insensitive): - \"1XX\": for matching any kind of informational response. - \"2XX\": for matching any kind of success response. - \"3XX\": for matching any kind redirection response. - \"4XX\": for matching any kind of client error response. - \"5XX\": for matching any kind of server error response.\nThe API producer shall support this attribute", + "type": "array", + "items": { + "type": "string" + } + }, + "headerField": { + "description": "Name of the header field to be matched. The header field name shall be one of the supported fields in a request message as defined in clause 4.2.2 of ETSI GS NFV-SOL 013 or in a response message as defined in clause 4.2.3 of ETSI GS NFV-SOL 013, in accordance with the \"direction\" criteria input. The API producer may support this attribute.", + "type": "string" + }, + "headerValue": { + "description": "Value in the header to be matched. To match, the value in the header field indicated by \"headerField\" shall be the same as in this attribute. Shall be provided if a \"headerField\" is provided. The API producer may support this attribute.", + "type": "string" + }, + "bodyValues": { + "description": "A list of strings to be matched in the body part of the interface message (e.g., the body of an HTTP message). If provided, only messages with text in the body part containing all the values from the list shall match the filter. In addition to a matching filter for the body of the message, a corresponding \"headerField\" filter shall also be provided, with \"headerField\" set to \"Content-Type\", to restrict matching to appropriate textual payloads such as \"application/json\" or \"text/plain\". The API producer may support this attribute", + "type": "string" + } + } + } + } + } + }, + "servicesLogDetail": { + "description": "This type represents criteria for logging jobs to collect logged messages about processes pertaining to NFV-MANO services. It shall comply with the provisions defined in table 8.6.3.4-1.", + "type": "object", + "properties": { + "logGarbageCollection": { + "description": "Indicates to collect logged information about garbage collection processes associated to NFV-MANO services.", + "type": "boolean" + } + } + }, + "systemLogDetail": { + "description": "This type represents criteria for logging jobs to collect logged system events of the NFV-MANO functional entity. It shall comply with the provisions defined in table 8.6.3.5-1.", + "type": "object", + "required": [ + "systemLogs", + "severityLevel" + ], + "properties": { + "systemLogs": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "severityLevelScheme": { + "description": "Identifies a severity level scheme. The default value is \"rfc5424\", which represents the set of values specified in the clause 6.2.1, table 2 of IETF RFC 5424. Other values may be used to signal different schemes.", + "type": "string" + }, + "severityLevel": { + "description": "The severity level, which determines the severity of the system messages to collect. The NFV-MANO functional entity shall collect system log messages, as indicated by the \"systemLogs\" attribute, with severity levels lower (i.e., more severe) or equal to the value provided by this present attribute.", + "type": "number" + } + } + } + } + }, + "jobConfig": { + "description": "This type represents configuration data for a logging job. It shall comply with the provisions defined in table 8.6.3.6-1. NOTE: The present document version does not specify the support for \"log compilation and reporting based on events\" as specified in clause 6.6.2.2 of ETSI GS NFV-IFA 031.", + "type": "object", + "required": [ + "reportingCondition", + "securityConf" + ], + "properties": { + "startTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "endTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "reportingCondition": { + "description": "Specifies the condition under which the producer will report to the consumer about the compiled log data.", + "required": [ + "reportingType" + ], + "properties": { + "reportingType": { + "description": "Specifies the type of reporting condition. Permitted values: - REPORTING_ON_COMPILATION: the producer shall notify the consumer once the compilation of the\n collected logging data into a file is completed and a new log report is available.\n- NO_REPORTING: no reporting is requested (the consumer can query the logging jobs to know about the\n availability of new log reports).", + "type": "string", + "enum": [ + "REPORTING_ON_COMPILATION", + "NO_REPORTING" + ] + }, + "minimumReportingPeriod": { + "description": "Specifies the minimum periodicity at which the producer will report to the consumer about the collected log information, in seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "compileBySizeValue": { + "description": "An indicative size threshold for compiling the collected log data, in bytes. It is used when the compilation is based on the size of the collected log data. If not present, a default value as specified with the \"defaultLogCompileBySizeValue\" configuration in the \"ManoEntityConfigurableParams\" shall be used", + "type": "integer", + "format": "int32" + }, + "compileByTimerValue": { + "description": "The periodicity threshold for compiling the filtered log, in seconds. It is used when the compilation is based on a timer (e.g., every 24 hours). If not present, a default value as specified with the \"defaultLogCompileByTimerValue\" configuration in the \"ManoEntityConfigurableParams\" shall be used", + "type": "integer", + "format": "int32" + }, + "securityConf": { + "description": "Configuration about the security aspects of the logging job.", + "type": "object", + "properties": { + "logFileEncryption": { + "description": "Information about the encryption of the compiled log files. Shall be present if the log file is requested to be encrypted.", + "required": [ + "encryptionCertificate", + "cipherAlgorithm" + ], + "type": "object", + "properties": { + "encryptionCertificate": { + "description": "X.509 certificate with the public key to use for the encryption of the compiled log file.", + "type": "string" + }, + "cipherAlgorithm": { + "description": "Cryptographic algorithm to be used for the encryption of the compiled log file. More than one algorithm can be provided from higher (lower array index) to lower (higher array index) precedence. Valid values are: \"AES-CBC-128\", \"AES-GCM-128\", \"AES-CBC-256\", and \"AES-GCM-256\", as specified in clause 6.5 of ETSI GS NFV-SEC 012", + "type": "array", + "items": { + "type": "string", + "minItems": 1 + } + }, + "encryptAndSignOrder": { + "description": "Indication about the order in signing and encrypting the compiled log file. Valid values are: \"encryptFirst\", to apply the order \"first encrypt, then sign\", and \"signFirst\" for the order \"first sign, then encrypt\". Default value is \"encryptFirst\".", + "type": "string" + } + } + }, + "logTransferSecurity": { + "description": "Information about the security measures for retrieving/accessing the compiled log files.", + "type": "object", + "properties": { + "publicKey": { + "description": "The public key of the API consumer used for the client authentication with the file server. Shall be provided if required by the type of transfer protocol. May be omitted if the key has been provided to the API producer by other means, or if it has already been provided in some previous CreateLoggingJobRequest issued by the same API consumer, whose public key has not changed.", + "type": "string" + } + } + } + } + } + } + }, + "logReports": { + "description": "Information about available log reports created by the logging job.", + "type": "array", + "items": { + "type": "object", + "required": [ + "logReportId", + "logReportLoc" + ], + "properties": { + "logReportId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "logReportLoc": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } + } + } + }, + "_links": { + "description": "Links for this resource.", + "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" + } + } + }, + "objects": { + "description": "Links to resources representing the object instances that are logged. Shall be present if the logged object instance information is accessible as a resource.", + "type": "array", + "items": { + "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/SOL009/NFVMANOLogManagement-API/schemas/LoggingJobs.schema.json b/SOL009/NFVMANOLogManagement-API/schemas/LoggingJobs.schema.json new file mode 100644 index 0000000000000000000000000000000000000000..92df600dc9b2160ffa996df5ca0e64b5a8f9ad98 --- /dev/null +++ b/SOL009/NFVMANOLogManagement-API/schemas/LoggingJobs.schema.json @@ -0,0 +1,356 @@ +{ + "type": "array", + "items": { + "description": "This type represents a logging job. It shall comply with the provisions defined in table 8.6.2.6-1.", + "type": "object", + "required": [ + "id", + "objectInstanceIds", + "jobCriteria", + "jobConfig", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "objectInstanceIds": { + "description": "Identifiers of the object instance for which logging information is collected. This attribute shall contain the identifier of the instance of the object that is logged according to their type.", + "type": "array", + "items": { + "description": "This type represents the identifier to reference a managed object of a particular type. \n", + "type": "object", + "properties": { + "type": { + "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", + "type": "string", + "enum": [ + "MANO_ENTITY", + "MANO_SERVICE", + "MANO_SERVICE_IF", + "CONSUMED_MANO_IF", + "MANO_ENTITY_COMPONENT" + ] + }, + "objectId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "subObjectId": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } + }, + "required": [ + "type", + "objectId" + ] + } + }, + "jobCriteria": { + "description": "This type represents collection criteria for logging jobs. It shall comply with the provisions defined in table 8.6.3.2-1.", + "type": "object", + "required": [ + "loggingType" + ], + "properties": { + "loggingType": { + "description": "Type of logging. This defines the types of logged information to collect.\nPermitted values: - MESSAGES: logged NFV-MANO service interface messages. - SERVICES: logged messages about processes pertaining to NFV-MANO services. - SYSTEM: logged messages about the NFV-MANO functional entity’s system enabled by the provider.", + "type": "string", + "enum": [ + "MESSAGES", + "SERVICES", + "SYSTEM" + ] + }, + "messagesLogDetail": { + "description": "This type represents criteria for logging jobs to collect logged messages on NFV-MANO service interfaces. It shall comply with the provisions defined in table 8.6.3.3-1.", + "type": "object", + "required": [ + "direction" + ], + "properties": { + "direction": { + "description": "The direction of the interface messages to match.\nPermitted values: - IN: input messages into the interface. - OUT: output messages from the interface. - ALL: both input and output messages into/from the interface.", + "type": "string", + "enum": [ + "IN", + "OUT", + "ALL" + ] + }, + "matchingPatterns": { + "description": "Patterns to be matched in the interface message. If provided, only messages that match all the values provided in the sub-attributes shall be logged. An API consumer can provide more than one \"matchingPattern\" if combinations of patterns are to be considered to match diverse sets of interface messages.", + "type": "array", + "items": { + "type": "object", + "anyOf": [ + { + "required": [ + "srcIpAddress" + ] + }, + { + "required": [ + "dstIpAddress" + ] + }, + { + "required": [ + "requestMethod" + ] + }, + { + "required": [ + "requestUriPattern" + ] + }, + { + "required": [ + "responseCodes" + ] + } + ], + "properties": { + "srcIpAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "requestMethod": { + "description": "HTTP request method to be matched. To match, the HTTP request method of the message shall be the same as the value of this attribute. Valid values are specified in IETF RFC 7231. The API producer shall support this attribute.", + "type": "string" + }, + "requestUriPattern": { + "description": "Substring to be matched in the request URI. To match, the request URI shall include the value of\n this attribute as a substring. This is typically used to match messages which associate to RESTful\n resources, or to a specific API (e.g., by using the \"apiName\" of the API). The API producer shall\n support this attribute.", + "type": "string" + }, + "dstIpAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "responseCodes": { + "description": "HTTP response codes or patterns to match. A list of all valid HTTP response codes and their specification documents can be obtained from the HTTP status code registry. In addition, if supported, the following patterns may be used (case-insensitive): - \"1XX\": for matching any kind of informational response. - \"2XX\": for matching any kind of success response. - \"3XX\": for matching any kind redirection response. - \"4XX\": for matching any kind of client error response. - \"5XX\": for matching any kind of server error response.\nThe API producer shall support this attribute", + "type": "array", + "items": { + "type": "string" + } + }, + "headerField": { + "description": "Name of the header field to be matched. The header field name shall be one of the supported fields in a request message as defined in clause 4.2.2 of ETSI GS NFV-SOL 013 or in a response message as defined in clause 4.2.3 of ETSI GS NFV-SOL 013, in accordance with the \"direction\" criteria input. The API producer may support this attribute.", + "type": "string" + }, + "headerValue": { + "description": "Value in the header to be matched. To match, the value in the header field indicated by \"headerField\" shall be the same as in this attribute. Shall be provided if a \"headerField\" is provided. The API producer may support this attribute.", + "type": "string" + }, + "bodyValues": { + "description": "A list of strings to be matched in the body part of the interface message (e.g., the body of an HTTP message). If provided, only messages with text in the body part containing all the values from the list shall match the filter. In addition to a matching filter for the body of the message, a corresponding \"headerField\" filter shall also be provided, with \"headerField\" set to \"Content-Type\", to restrict matching to appropriate textual payloads such as \"application/json\" or \"text/plain\". The API producer may support this attribute", + "type": "string" + } + } + } + } + } + }, + "servicesLogDetail": { + "description": "This type represents criteria for logging jobs to collect logged messages about processes pertaining to NFV-MANO services. It shall comply with the provisions defined in table 8.6.3.4-1.", + "type": "object", + "properties": { + "logGarbageCollection": { + "description": "Indicates to collect logged information about garbage collection processes associated to NFV-MANO services.", + "type": "boolean" + } + } + }, + "systemLogDetail": { + "description": "This type represents criteria for logging jobs to collect logged system events of the NFV-MANO functional entity. It shall comply with the provisions defined in table 8.6.3.5-1.", + "type": "object", + "required": [ + "systemLogs", + "severityLevel" + ], + "properties": { + "systemLogs": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "severityLevelScheme": { + "description": "Identifies a severity level scheme. The default value is \"rfc5424\", which represents the set of values specified in the clause 6.2.1, table 2 of IETF RFC 5424. Other values may be used to signal different schemes.", + "type": "string" + }, + "severityLevel": { + "description": "The severity level, which determines the severity of the system messages to collect. The NFV-MANO functional entity shall collect system log messages, as indicated by the \"systemLogs\" attribute, with severity levels lower (i.e., more severe) or equal to the value provided by this present attribute.", + "type": "number" + } + } + } + } + }, + "jobConfig": { + "description": "This type represents configuration data for a logging job. It shall comply with the provisions defined in table 8.6.3.6-1. NOTE: The present document version does not specify the support for \"log compilation and reporting based on events\" as specified in clause 6.6.2.2 of ETSI GS NFV-IFA 031.", + "type": "object", + "required": [ + "reportingCondition", + "securityConf" + ], + "properties": { + "startTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "endTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "reportingCondition": { + "description": "Specifies the condition under which the producer will report to the consumer about the compiled log data.", + "required": [ + "reportingType" + ], + "properties": { + "reportingType": { + "description": "Specifies the type of reporting condition. Permitted values: - REPORTING_ON_COMPILATION: the producer shall notify the consumer once the compilation of the\n collected logging data into a file is completed and a new log report is available.\n- NO_REPORTING: no reporting is requested (the consumer can query the logging jobs to know about the\n availability of new log reports).", + "type": "string", + "enum": [ + "REPORTING_ON_COMPILATION", + "NO_REPORTING" + ] + }, + "minimumReportingPeriod": { + "description": "Specifies the minimum periodicity at which the producer will report to the consumer about the collected log information, in seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "compileBySizeValue": { + "description": "An indicative size threshold for compiling the collected log data, in bytes. It is used when the compilation is based on the size of the collected log data. If not present, a default value as specified with the \"defaultLogCompileBySizeValue\" configuration in the \"ManoEntityConfigurableParams\" shall be used", + "type": "integer", + "format": "int32" + }, + "compileByTimerValue": { + "description": "The periodicity threshold for compiling the filtered log, in seconds. It is used when the compilation is based on a timer (e.g., every 24 hours). If not present, a default value as specified with the \"defaultLogCompileByTimerValue\" configuration in the \"ManoEntityConfigurableParams\" shall be used", + "type": "integer", + "format": "int32" + }, + "securityConf": { + "description": "Configuration about the security aspects of the logging job.", + "type": "object", + "properties": { + "logFileEncryption": { + "description": "Information about the encryption of the compiled log files. Shall be present if the log file is requested to be encrypted.", + "required": [ + "encryptionCertificate", + "cipherAlgorithm" + ], + "type": "object", + "properties": { + "encryptionCertificate": { + "description": "X.509 certificate with the public key to use for the encryption of the compiled log file.", + "type": "string" + }, + "cipherAlgorithm": { + "description": "Cryptographic algorithm to be used for the encryption of the compiled log file. More than one algorithm can be provided from higher (lower array index) to lower (higher array index) precedence. Valid values are: \"AES-CBC-128\", \"AES-GCM-128\", \"AES-CBC-256\", and \"AES-GCM-256\", as specified in clause 6.5 of ETSI GS NFV-SEC 012", + "type": "array", + "items": { + "type": "string", + "minItems": 1 + } + }, + "encryptAndSignOrder": { + "description": "Indication about the order in signing and encrypting the compiled log file. Valid values are: \"encryptFirst\", to apply the order \"first encrypt, then sign\", and \"signFirst\" for the order \"first sign, then encrypt\". Default value is \"encryptFirst\".", + "type": "string" + } + } + }, + "logTransferSecurity": { + "description": "Information about the security measures for retrieving/accessing the compiled log files.", + "type": "object", + "properties": { + "publicKey": { + "description": "The public key of the API consumer used for the client authentication with the file server. Shall be provided if required by the type of transfer protocol. May be omitted if the key has been provided to the API producer by other means, or if it has already been provided in some previous CreateLoggingJobRequest issued by the same API consumer, whose public key has not changed.", + "type": "string" + } + } + } + } + } + } + }, + "logReports": { + "description": "Information about available log reports created by the logging job.", + "type": "array", + "items": { + "type": "object", + "required": [ + "logReportId", + "logReportLoc" + ], + "properties": { + "logReportId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "logReportLoc": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } + } + } + }, + "_links": { + "description": "Links for this resource.", + "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" + } + } + }, + "objects": { + "description": "Links to resources representing the object instances that are logged. Shall be present if the logged object instance information is accessible as a resource.", + "type": "array", + "items": { + "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/SOL009/NFVMANOLogManagement-API/schemas/LogmSubscription.schema.json b/SOL009/NFVMANOLogManagement-API/schemas/LogmSubscription.schema.json new file mode 100644 index 0000000000000000000000000000000000000000..607b69aeab60d303c33b5527fc5e5ad89bd5b509 --- /dev/null +++ b/SOL009/NFVMANOLogManagement-API/schemas/LogmSubscription.schema.json @@ -0,0 +1,153 @@ +{ + "description": "This type represents a subscription. It shall comply with the provisions defined in table 8.6.2.3-1.", + "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 log management events. It shall comply with the provisions defined in table 8.6.3.7-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).", + "type": "object", + "properties": { + "objectInstanceFilter": { + "description": "This type represents subscription filter criteria to match NFV-MANO functional entities and their associated managed objects. It shall comply with the provisions defined in Table 4.3.2.2-1.", + "type": "object", + "anyOf": [ + { + "oneOf": [ + { + "required": [ + "manoServiceIds" + ] + }, + { + "required": [ + "manoServiceNames" + ] + } + ] + }, + { + "oneOf": [ + { + "required": [ + "manoServiceInterfaceIds" + ] + }, + { + "required": [ + "manoServiceInterfaceNames" + ] + } + ] + }, + { + "oneOf": [ + { + "required": [ + "consumedManoInterfaceIds" + ] + }, + { + "required": [ + "consumedManoInterfaceNames" + ] + } + ] + } + ], + "properties": { + "manoEntityId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "manoServiceIds": { + "description": "If present, match NFV-MANO services with an instance identifier listed in this attribute.", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } + }, + "manoServiceNames": { + "description": "If present, match NFV-MANO services with an NFV-MANO service name listed in this attribute.", + "type": "array", + "items": { + "type": "string" + } + }, + "manoServiceInterfaceIds": { + "description": "If present, match NFV-MANO functional entity produced interfaces with an instance identifier listed in this attribute.", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } + }, + "manoServiceInterfaceNames": { + "description": "If present, match NFV-MANO functional entity produced interfaces with an instance Name listed in this attribute.", + "type": "array", + "items": { + "type": "string" + } + }, + "consumedManoInterfaceIds": { + "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance identifier listed in this attribute.", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "consumedManoInterfaceNames": { + "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance Name listed in this attribute.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "notificationTypes": { + "description": "Match particular notification types. Permitted values: - LogReportAvailableNotification", + "type": "string", + "enum": [ + "LogReportAvailableNotification" + ] + } + } + }, + "callbackUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "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 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/SOL009/NFVMANOLogManagement-API/schemas/LogmSubscriptions.schema.json b/SOL009/NFVMANOLogManagement-API/schemas/LogmSubscriptions.schema.json new file mode 100644 index 0000000000000000000000000000000000000000..75c0daedd1b44e0cc764349415b0ae0f461bc293 --- /dev/null +++ b/SOL009/NFVMANOLogManagement-API/schemas/LogmSubscriptions.schema.json @@ -0,0 +1,155 @@ +{ "type": "array", + "items": { + "description": "This type represents a subscription. It shall comply with the provisions defined in table 8.6.2.3-1.", + "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 log management events. It shall comply with the provisions defined in table 8.6.3.7-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).", + "type": "object", + "properties": { + "objectInstanceFilter": { + "description": "This type represents subscription filter criteria to match NFV-MANO functional entities and their associated managed objects. It shall comply with the provisions defined in Table 4.3.2.2-1.", + "type": "object", + "anyOf": [ + { + "oneOf": [ + { + "required": [ + "manoServiceIds" + ] + }, + { + "required": [ + "manoServiceNames" + ] + } + ] + }, + { + "oneOf": [ + { + "required": [ + "manoServiceInterfaceIds" + ] + }, + { + "required": [ + "manoServiceInterfaceNames" + ] + } + ] + }, + { + "oneOf": [ + { + "required": [ + "consumedManoInterfaceIds" + ] + }, + { + "required": [ + "consumedManoInterfaceNames" + ] + } + ] + } + ], + "properties": { + "manoEntityId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "manoServiceIds": { + "description": "If present, match NFV-MANO services with an instance identifier listed in this attribute.", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } + }, + "manoServiceNames": { + "description": "If present, match NFV-MANO services with an NFV-MANO service name listed in this attribute.", + "type": "array", + "items": { + "type": "string" + } + }, + "manoServiceInterfaceIds": { + "description": "If present, match NFV-MANO functional entity produced interfaces with an instance identifier listed in this attribute.", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } + }, + "manoServiceInterfaceNames": { + "description": "If present, match NFV-MANO functional entity produced interfaces with an instance Name listed in this attribute.", + "type": "array", + "items": { + "type": "string" + } + }, + "consumedManoInterfaceIds": { + "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance identifier listed in this attribute.", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "consumedManoInterfaceNames": { + "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance Name listed in this attribute.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "notificationTypes": { + "description": "Match particular notification types. Permitted values: - LogReportAvailableNotification", + "type": "string", + "enum": [ + "LogReportAvailableNotification" + ] + } + } + }, + "callbackUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "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 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/SOL009/NFVMANOLogManagement-API/schemas/ProblemDetails.schema.json b/SOL009/NFVMANOLogManagement-API/schemas/ProblemDetails.schema.json new file mode 100644 index 0000000000000000000000000000000000000000..2af3ef9b3f8c0e1dc6bfa39a818ba45e63ca223c --- /dev/null +++ b/SOL009/NFVMANOLogManagement-API/schemas/ProblemDetails.schema.json @@ -0,0 +1 @@ +{ "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", "type": "object", "required": [ "status", "detail" ], "properties": { "type": { "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", "type": "string", "format": "URI" }, "title": { "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", "type": "string" }, "status": { "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", "type": "integer" }, "detail": { "description": "A human-readable explanation specific to this occurrence of the problem.\n", "type": "string" }, "instance": { "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