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/NFVManoConfigurationAndInformationManagement-API/ApiVersion.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/ApiVersion.robot new file mode 100644 index 0000000000000000000000000000000000000000..b9c86942f07fb90374c422033c16bb208ed0ce5d --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-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.1.13.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.1.13.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.1.13.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.1.13.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.1.13.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.1.13.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.1.13.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.1.13.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.1.13.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.1.13.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/NFVManoConfigurationAndInformationManagement-API/ChangeInterfaceStateTask.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeInterfaceStateTask.robot new file mode 100644 index 0000000000000000000000000000000000000000..4cdc1a3ac457ef5ff49c05901a12fa13728b1f3f --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeInterfaceStateTask.robot @@ -0,0 +1,84 @@ +** Settings *** +Library JSONSchemaLibrary schemas/ +Resource environment/variables.txt +Library JSONLibrary +Library OperatingSystem +Resource NFVMANOCimKeywords.robot +Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false +Library MockServerLibrary + +*** Test Cases *** +POST Change interface state task + [Documentation] Test ID: 8.3.1.7.1 + ... Test title: POST Change interface state task + ... Test objective: The objective is send put request to change the state of the NFV-MANO service interface produced by the NFV-MANO functional entity + ... Pre-conditions: none + ... Reference: clause 5.5.12.3.1 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: interface status changed + Send Post request for Change interface state task + Check HTTP Response Status Code Is 202 + Check HTTP Response Header Contains Location + Check PostCondition NFV-MANO service interface state matches the requested state + +POST Change interface state task - Conflict + [Documentation] Test ID: 8.3.1.7.2 + ... Test title: POST Change interface state task - Conflict + ... Test objective: The objective is to test that request to cchange the state of the NFV-MANO service interface produced by the NFV-MANO functional entity failed due to a conflict with the state of the NFV-MANO entity resource and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: none + ... Reference: clause 5.5.12.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 Change interface state task + Check HTTP Response Status Code Is 409 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET Change interface state task - Method not implemented + [Documentation] Test ID: 8.3.1.7.3 + ... Test title: GET Change interface state task - Method not implemented + ... Test objective: The objective is to test that GET method is not allowed to retrieve the changed state of the NFV-MANO functional entity application. + ... Pre-conditions: none + ... Reference: clause 5.5.12.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Send Get request for Change interface state task + Check HTTP Response Status Code Is 405 + +PUT Change interface state task - Conflict - Method not implemented + [Documentation] Test ID: 8.3.1.7.4 + ... Test title: PUT Change interface state task - Conflict - Method not implemented + ... Test objective: The objective is to test that PUT method is not allowed to update the changed state of the NFV-MANO functional entity application. + ... Pre-conditions: none + ... Reference: clause 5.5.12.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 Change interface state task + Check HTTP Response Status Code Is 405 + +PATCH Change interface state task - Conflict - Method not implemented + [Documentation] Test ID: 8.3.1.7.5 + ... Test title: PATCH Change interface state task - Conflict - Method not implemented + ... Test objective: The objective is to test that PATCH method is not allowed to update the changed state of the NFV-MANO functional entity application. + ... Pre-conditions: none + ... Reference: clause 5.5.12.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 Change interface state task + Check HTTP Response Status Code Is 405 + +DELETE Change interface state task - Conflict - Method not implemented + [Documentation] Test ID: 8.3.1.7.6 + ... Test title: DELETE Change interface state task - Conflict - Method not implemented + ... Test objective: The objective is to test that DELETE method is not allowed to delete the changed state of the NFV-MANO functional entity application. + ... Pre-conditions: none + ... Reference: clause 5.5.12.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 Change interface state task + Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeNFVMANOEntityStateTask.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeNFVMANOEntityStateTask.robot new file mode 100644 index 0000000000000000000000000000000000000000..020c545e9497f1726fbe6146c02fb234e6c75f5e --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeNFVMANOEntityStateTask.robot @@ -0,0 +1,83 @@ +*** Settings *** +Library JSONSchemaLibrary schemas/ +Resource environment/variables.txt +Library JSONLibrary +Library OperatingSystem +Resource NFVMANOCimKeywords.robot +Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false +Library MockServerLibrary +*** Test Cases *** +POST NFV-MANO functional entity application state change + [Documentation] Test ID: 8.3.1.2.1 + ... Test title: POST NFV-MANO functional entity application state change + ... Test objective: The objective is to request state change of the NFV-MANO functional entity application. + ... Pre-conditions: none + ... Reference: clause 5.5.7.3.1 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: entity status changed + Send Post request for NFV-MANO functional entity application state change + Check HTTP Response Status Code Is 202 + Check HTTP Response Header Contains Location + Wait for entity state change success notification and validate status + +POST NFV-MANO functional entity application state change - Conflict + [Documentation] Test ID: 8.3.1.2.2 + ... Test title: POST NFV-MANO functional entity application state change - Conflict + ... Test objective: The objective is to test that request to change the state of the NFV-MANO functional entity application fails due to a conflict with the state of the NFV-MANO entity resource and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: none + ... Reference: clause 5.5.7.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 NFV-MANO functional entity application state change + Check HTTP Response Status Code Is 409 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET NFV-MANO functional entity application state change - Method not implemented + [Documentation] Test ID: 8.3.1.2.3 + ... Test title: GET NFV-MANO functional entity application state change - Method not implemented + ... Test objective: The objective is to test that GET method is not allowed to retrieve the changed state of the NFV-MANO functional entity application. + ... Pre-conditions: none + ... Reference: clause 5.5.7.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Send Get request for NFV-MANO functional entity application state change + Check HTTP Response Status Code Is 405 + +PUT NFV-MANO functional entity application state change - Method not implemented + [Documentation] Test ID: 8.3.1.2.4 + ... Test title: PUT NFV-MANO functional entity application state change - Method not implemented + ... Test objective: The objective is to test that PUT method is not allowed to update the changed state of the NFV-MANO functional entity application. + ... Pre-conditions: none + ... Reference: clause 5.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 NFV-MANO functional entity application state change + Check HTTP Response Status Code Is 405 + +PATCH NFV-MANO functional entity application state change - Method not implemented + [Documentation] Test ID: 8.3.1.2.5 + ... Test title: PATCH NFV-MANO functional entity application state change - Method not implemented + ... Test objective: The objective is to test that PATCH method is not allowed to update the changed state of the NFV-MANO functional entity application. + ... Pre-conditions: none + ... Reference: clause 5.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 NFV-MANO functional entity application state change + Check HTTP Response Status Code Is 405 + +DELETE NFV-MANO functional entity application state change - Method not implemented + [Documentation] Test ID: 8.3.1.2.6 + ... Test title: DELETE NFV-MANO functional entity application state change - Method not implemented + ... Test objective: The objective is to test that DELETE method is not allowed to delete the changed state of the NFV-MANO functional entity application. + ... Pre-conditions: none + ... Reference: clause 5.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 NFV-MANO functional entity application state change + Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeStateOperationOccurrences.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeStateOperationOccurrences.robot new file mode 100644 index 0000000000000000000000000000000000000000..7e50d11101beb151c035fd45959167d7d05cffae --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeStateOperationOccurrences.robot @@ -0,0 +1,200 @@ +** Settings *** +Library JSONSchemaLibrary schemas/ +Resource environment/variables.txt +Library JSONLibrary +Library OperatingSystem +Resource NFVMANOCimKeywords.robot +Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false +Library MockServerLibrary + +*** Test Cases *** +POST Change State Operation Occurrences - Method not implemented + [Documentation] Test ID: 8.3.1.3.1 + ... Test title: POST Change State Operation Occurrences - Method not implemented + ... Test objective: The objective is to test that POST method is not implemeted. + ... Pre-conditions: none + ... Reference: clause 5.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 Change State Operation Occurrences + Check HTTP Response Status Code Is 405 + +GET Change State Operation Occurrences + [Documentation] Test ID: 8.3.1.3.2 + ... Test title: GET Change State Operation Occurrences + ... Test objective: The objective is to query status information about multiple change state operation occurrences, and perform the JSON schema validation of the HTTP response. + ... Pre-conditions: none + ... Reference: clause 5.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 Change State Operation Occurrences + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ChangeStateOpOccs + +GET Change State Operation Occurrences - invalid attribute-based filter + [Documentation] Test ID: 8.3.1.3.3 + ... Test title: GET Change State Operation Occurrences - invalid attribute-based filter + ... Test objective: The objective is to test that the retrieval of Change State Operation Occurrences fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: none + ... Reference: clause 5.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 Change State Operation Occurrences with invalid filter + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET Change State Operation Occurrences - invalid attribute selector + [Documentation] Test ID: 8.3.1.3.4 + ... Test title: GET Change State Operation Occurrences - invalid attribute selector + ... Test objective: The objective is to test that the retrieval of Change State Operation Occurrences fails when using invalid attribute selector, and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: none + ... Reference: clause 5.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 Change State Operation Occurrences with invalid selector + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET Change State Operation Occurrences - Bad Request Response too Big + [Documentation] Test ID: 8.3.1.3.5 + ... Test title: GET Change State Operation Occurrences - Bad Request Response too Big + ... Test objective: The objective is to test that the retrieval of Change State Operation Occurrences fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: none + ... Reference: clause 5.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 Change State Operation Occurrences + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET Change State Operation Occurrences with attribute-based filter + [Documentation] Test ID: 8.3.1.3.6 + ... Test title: GET Change State Operation Occurrences with attribute-based filter + ... Test objective: The objective is to query status information about multiple change state operation occurrences with attribute filters, and perform the JSON schema validation of the HTTP response. + ... Pre-conditions: none + ... Reference: clause 5.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 Change State Operation Occurrences with filter + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ChangeStateOpOcc + +GET Change State Operation Occurrences with "all_fields" attribute selector + [Documentation] Test ID: 8.3.1.3.7 + ... Test title: GET Change State Operation Occurrences with "all_fields" attribute selector + ... Test objective: The objective is to retrieve Change State Operation Occurrences with "all_fields" attribute selector, and perform the JSON schema validation of the HTTP response. + ... Pre-conditions: none + ... Reference: clause 5.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 Change State Operation Occurrences with all_fields attribute selector + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ChangeStateOpOcc + +GET Change State Operation Occurrences with "exclude_default" attribute selector + [Documentation] Test ID: 8.3.1.3.8 + ... Test title: GET Change State Operation Occurrence with "exclude_default" attribute selector + ... Test objective: The objective is to retrieve Change State Operation Occurrence with "exclude_default" attribute selector, and perform the JSON schema validation of the HTTP response. + ... Pre-conditions: none + ... Reference: clause 5.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 Change State Operation Occurrences with exclude_default attribute selector + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ChangeStateOpOcc + +GET Change State Operation Occurrences with "fields" attribute selector + [Documentation] Test ID: 8.3.1.3.9 + ... Test title: GET Change State Operation Occurrences with "fields" attribute selector + ... Test objective: The objective is to retrieve Change State Operation Occurrences with fields attribute selector, and perform the JSON schema validation of the HTTP response. + ... Pre-conditions: none + ... Reference: clause 5.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 Change State Operation Occurrences with fields attribute selector + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ChangeStateOpOcc + +GET Change State Operation Occurrences with "exclude_fields" attribute selector + [Documentation] Test ID: 8.3.1.3.10 + ... Test title: GET Change State Operation Occurrences with "exclude_fields" attribute selector + ... Test objective: The objective is to retrieve Change State Operation Occurrences with "exclude_fields" attribute selector, and perform the JSON schema validation of the HTTP response. + ... Pre-conditions: none + ... Reference: clause 5.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 Change State Operation Occurrences with exclude_fields attribute selector + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ChangeStateOpOcc + +GET Change State Operation Occurrences with Paged Response + [Documentation] Test ID: 8.3.1.3.11 + ... Test title: GET Change State Operation Occurrence with Paged Response + ... Test objective: The objective is to query Change State Operation Occurrence to get Paged Response. + ... Pre-conditions: none + ... Reference: clause 5.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 Change State Operation Occurrences + Check HTTP Response Status Code Is 200 + Check HTTP Response Header Contains Link + +GET Change State Operation Occurrences with "fields" and "exclude_default" attribute selector + [Documentation] Test ID: 8.3.1.3.12 + ... Test title: GET Change State Operation Occurrences with "fields" and "exclude_default" attribute selector + ... Test objective: The objective is to retrieve Change State Operation Occurrences with fields and exclude default attribute selector, and perform the JSON schema validation of the HTTP response. + ... Pre-conditions: none + ... Reference: clause 5.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 Change State Operation Occurrences with fields and exclude_default attribute selector + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ChangeStateOpOcc + +PUT Change State Operation Occurrences - Method not implemented + [Documentation] Test ID: 8.3.1.3.13 + ... Test title: PUT Change State Operation Occurrences - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemeted. + ... Pre-conditions: none + ... Reference: clause 5.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 Change State Operation Occurrences + Check HTTP Response Status Code Is 405 + +PATCH Change State Operation Occurrences - Method not implemented + [Documentation] Test ID: 8.3.1.3.14 + ... Test title: PATCH Change State Operation Occurrences - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemeted. + ... Pre-conditions: none + ... Reference: clause 5.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 Change State Operation Occurrences + Check HTTP Response Status Code Is 405 + +DELETE Change State Operation Occurrences - Method not implemented + [Documentation] Test ID: 8.3.1.3.15 + ... Test title: DELETE Change State Operation Occurrences - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemeted. + ... Pre-conditions: none + ... Reference: clause 5.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 Change State Operation Occurrences + Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualNFVMANOServiceInterface.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualNFVMANOServiceInterface.robot new file mode 100644 index 0000000000000000000000000000000000000000..3861f45cb4b1394cdad8517735ef80701ca5f3c4 --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualNFVMANOServiceInterface.robot @@ -0,0 +1,110 @@ +** Settings *** +Library JSONSchemaLibrary schemas/ +Resource environment/variables.txt +Library JSONLibrary +Library OperatingSystem +Resource NFVMANOCimKeywords.robot +Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false +Library MockServerLibrary + +*** Test Cases *** +POST Individual NFV-MANO Service Interface - Method not implemented + [Documentation] Test ID: 8.3.1.6.1 + ... Test title: POST Individual NFV-MANO Service Interface - Method not implemented + ... Test objective: The objective is to test that POST method is not implemeted. + ... Pre-conditions: none + ... Reference: clause 5.5.11.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 NFV-MANO Service Interface + Check HTTP Response Status Code Is 405 + +GET Individual NFV-MANO Service Interface + [Documentation] Test ID: 8.3.1.6.2 + ... Test title: GET Individual NFV-MANO Service Interface + ... Test objective: The objective is to query status information about an NFV-MANO service interface of the producer NFV-MANO functional entity by reading an "Individual NFV-MANO service interface" resource, and perform the JSON schema validation of the HTTP response. + ... Pre-conditions: none + ... Reference: clause 5.5.11.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get Individual NFV-MANO Service Interface + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ManoServiceInterface + +GET Individual NFV-MANO Service Interface - Not Found + [Documentation] Test ID: 8.3.1.6.3 + ... Test title: GET Individual NFV-MANO Service Interface - Not Found + ... Test objective: The objective is to test the retrieval of information about an NFV-MANO service interface of the producer NFV-MANO functional entity by reading an "Individual NFV-MANO service interface" resource fails when the resource is not present. + ... Pre-conditions: none + ... Reference: clause 5.5.11.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get Individual NFV-MANO Service Interface + Check HTTP Response Status Code Is 404 + Check HTTP Response Body Json Schema Is ProblemDetails + +PUT Individual NFV-MANO Service Interface - Method not implemented + [Documentation] Test ID: 8.3.1.6.4 + ... Test title: PUT Individual NFV-MANO Service Interface - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemeted. + ... Pre-conditions: none + ... Reference: clause 5.5.11.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 NFV-MANO Service Interface + Check HTTP Response Status Code Is 405 + +PATCH Individual NFV-MANO Service Interface + [Documentation] Test ID: 8.3.1.6.5 + ... Test title: PATCH Individual NFV-MANO Service Interface + ... Test objective: This method modifies the Individual NFV-MANO Service Interface resource, and perform the JSON schema validation of the HTTP response. + ... Pre-conditions: Individual NFV-MANO Service Interface resource is already created. + ... Reference: clause 5.5.11.3.4 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: The Individual NFV-MANO Service Interface is modified by the operation + Send Patch request for Individual NFV-MANO Service Interface + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ManoServiceInterfaceModifications + +PATCH Individual NFV-MANO Service Interface - Conflict + [Documentation] Test ID: 8.3.1.6.6 + ... Test title: PATCH Individual NFV-MANO Service Interface - Conflict + ... Test objective: The objective is to test that the modification of the Individual NFV-MANO Service Interface resource failed due to a conflict with the state of the Individual NFV-MANO Service Interface resource and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: Individual NFV-MANO Service Interface resource is already created. + ... Reference: clause 5.5.11.3.4 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: The Individual NFV-MANO Service Interface is not modified by the operation + Send Patch request for Individual NFV-MANO Service Interface + Check HTTP Response Status Code Is 409 + Check HTTP Response Body Json Schema Is ProblemDetails + +PATCH Individual NFV-MANO Service Interface - PreCondition Failed + [Documentation] Test ID: 8.3.1.6.7 + ... Test title: PATCH Individual NFV-MANO Service Interface - PreCondition Failed + ... Test objective: The objective is to test that the modification of the Individual NFV-MANO Service Interface resource failed because precondition given in an HTTP request header is not fulfilled and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: Individual NFV-MANO Service Interface resource is already created. + ... Reference: clause 5.5.11.3.4 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: The Individual NFV-MANO Service Interface is not modified by the operation + Send Patch request for Individual NFV-MANO Service Interface + Check HTTP Response Status Code Is 412 + Check HTTP Response Body Json Schema Is ProblemDetails + +DELETE Individual NFV-MANO Service Interface - Method not implemented + [Documentation] Test ID: 8.3.1.6.8 + ... Test title: DELETE Individual NFV-MANO Service Interface - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemeted. + ... Pre-conditions: none + ... Reference: clause 5.5.11.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 NFV-MANO Service Interface + Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualPeerEntity.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualPeerEntity.robot new file mode 100644 index 0000000000000000000000000000000000000000..eda38f18ef19f17b790960ad55d59de313246b3c --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualPeerEntity.robot @@ -0,0 +1,109 @@ +** Settings *** +Library JSONSchemaLibrary schemas/ +Resource environment/variables.txt +Library JSONLibrary +Library OperatingSystem +Resource NFVMANOCimKeywords.robot +Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false +Library MockServerLibrary + +*** Test Cases *** +POST Individual Peer Entity - Method not implemented + [Documentation] Test ID: 8.3.1.9.1 + ... Test title: POST Individual Peer Entity - Method not implemented + ... Test objective: The objective is to test that POST method is not implemeted. + ... Pre-conditions: none + ... Reference: clause 5.5.14.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 Peer Entity + Check HTTP Response Status Code Is 405 + +GET Individual Peer Entity + [Documentation] Test ID: 8.3.1.9.2 + ... Test title: GET Individual Peer Entity + ... Test objective: The objective is to retrieves information and configuration hold in the producer NFV-MANO functional entity with regards to a peer entity by reading an individual peer entity resource + ... Pre-conditions: none + ... Reference: clause 5.5.14.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get Individual Peer Entity + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is PeerEntity + +GET Individual Peer Entity - Not Found + [Documentation] Test ID: 8.3.1.9.3 + ... Test title: GET Individual Peer Entity - Not Found + ... Test objective: The objective is to test the retrieval of information and configuration hold in the producer NFV-MANO functional entity with regards to a peer entity by reading an individual peer entity resource fails when the resource is not present. + ... Pre-conditions: none + ... Reference: clause 5.5.14.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get Individual Peer Entity + Check HTTP Response Status Code Is 404 + +PUT Individual Peer Entity - Method not implemented + [Documentation] Test ID: 8.3.1.9.4 + ... Test title: PUT Individual Peer Entity - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemeted. + ... Pre-conditions: none + ... Reference: clause 5.5.14.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 Peer Entity + Check HTTP Response Status Code Is 405 + +PATCH Individual Peer Entity + [Documentation] Test ID: 8.3.1.9.5 + ... Test title: PATCH Individual Peer Entity + ... Test objective: This method modifies configuration and information of the producer NFV-MANO functional entity with regards to a peer functional entity by updating the corresponding "Individual peer entity" resource. + ... Pre-conditions: At least one Peer Entity resource is created + ... Reference: clause 5.5.14.3.4 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: Peer Entity Resource is modified by the operation + Send Patch request for Individual Peer Entity + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ManoServiceInterfaceModifications + +PATCH Individual Peer Entity - Conflict + [Documentation] Test ID: 8.3.1.9.6 + ... Test title: PATCH Individual Peer Entity - Conflict + ... Test objective: The objective is to test that the modification of configuration and information of the producer NFV-MANO functional entity with regards to a peer functional entity by updating the corresponding "Individual peer entity" resource failed due to a conflict with the state of the Individual Peer Entity resource and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: At least one Peer Entity resource is created + ... Reference: clause 5.5.14.3.4 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: Peer Entity Resource is not modified by the operation + Send Patch request for Individual Peer Entity + Check HTTP Response Status Code Is 409 + Check HTTP Response Body Json Schema Is ProblemDetails + +PATCH Individual Peer Entity - PreCondition Failed + [Documentation] Test ID: 8.3.1.9.7 + ... Test title: PATCH Individual Peer Entity - PreCondition Failed + ... Test objective: The objective is to test that the modification of the Individual Peer Entity resource failed because precondition given in an HTTP request header is not fulfilled and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: At least one Peer Entity resource is created + ... Reference: clause 5.5.14.3.4 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: Peer Entity Resource is not modified by the operation + Send Patch request for Individual Peer Entity + Check HTTP Response Status Code Is 412 + Check HTTP Response Body Json Schema Is ProblemDetails + +DELETE Individual Peer Entity - Method not implemented + [Documentation] Test ID: 8.3.1.9.8 + ... Test title: DELETE Individual Peer Entity - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemeted. + ... Pre-conditions: none + ... Reference: clause 5.5.14.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 Peer Entity + Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualStateChangeOperationOccurrence.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualStateChangeOperationOccurrence.robot new file mode 100644 index 0000000000000000000000000000000000000000..b2f606aa8f88578a111be92d815951e0b916cf05 --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualStateChangeOperationOccurrence.robot @@ -0,0 +1,82 @@ +** Settings *** +Library JSONSchemaLibrary schemas/ +Resource environment/variables.txt +Library JSONLibrary +Library OperatingSystem +Resource NFVMANOCimKeywords.robot +Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false +Library MockServerLibrary + +*** Test Cases *** +POST Individual Change State Operation Occurrence - Method not implemented + [Documentation] Test ID: 8.3.1.4.1 + ... Test title: POST Individual Change State Operation Occurrence - Method not implemented + ... Test objective: The objective is to test that POST method is not implemeted. + ... Pre-conditions: none + ... Reference: clause 5.5.9.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 Change State Operation Occurrence + Check HTTP Response Status Code Is 405 + +GET Individual Change State Operation Occurrence + [Documentation] Test ID: 8.3.1.4.2 + ... Test title: GET Individual Change State Operation Occurrence + ... Test objective: The objective is to query status information about Individual change state operation occurrence. + ... Pre-conditions: none + ... Reference: clause 5.5.9.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get Individual Change State Operation Occurrence + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ChangeStateOpOcc + +GET Individual Change State Operation Occurrence - Not Found + [Documentation] Test ID: 8.3.1.4.3 + ... Test title: GET Individual Change State Operation Occurrence - Not Found + ... Test objective: The objective is to test the retrieval of information about individual change state operation occurence fails when the resource is not present. + ... Pre-conditions: none + ... Reference: clause 5.5.9.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get Individual Change State Operation Occurrence + Check HTTP Response Status Code Is 404 + +PUT Individual Change State Operation Occurrence - Method not implemented + [Documentation] Test ID: 8.3.1.4.4 + ... Test title: PUT Individual Change State Operation Occurrence - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemeted. + ... Pre-conditions: none + ... Reference: clause 5.5.9.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 Change State Operation Occurrence + Check HTTP Response Status Code Is 405 + +PATCH Individual Change State Operation Occurrence - Method not implemented + [Documentation] Test ID: 8.3.1.4.5 + ... Test title: PATCH Individual Change State Operation Occurrence - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemeted. + ... Pre-conditions: none + ... Reference: clause 5.5.9.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 Change State Operation Occurrence + Check HTTP Response Status Code Is 405 + +DELETE Individual Change State Operation Occurrence - Method not implemented + [Documentation] Test ID: 8.3.1.4.6 + ... Test title: DELETE Individual Change State Operation Occurrence - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemeted. + ... Pre-conditions: none + ... Reference: clause 5.5.9.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 Change State Operation Occurrence + Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualSubscription.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualSubscription.robot new file mode 100644 index 0000000000000000000000000000000000000000..a1d37e215221f320e28cf3a6b93928dbc559272c --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualSubscription.robot @@ -0,0 +1,95 @@ +*** Settings *** +Library JSONSchemaLibrary schemas/ +Resource environment/variables.txt +Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false +Library OperatingSystem +Library JSONLibrary +Resource NFVMANOCimKeywords.robot + +*** Test Cases *** +GET Individual Subscription + [Documentation] Test ID: 8.3.1.11.1 + ... Test title: GET Individual Subscription + ... Test objective: The objective is to test the retrieval of individual subscription and perform a JSON schema and content validation of the returned subscription data structure + ... Pre-conditions: At least one subscription is available in the NFV-MANO. + ... Reference: clause 5.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 Subscription + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is CimSubscription + Check HTTP Response Body Subscription Identifier matches the requested Subscription + +GET Individual Subscription - invalid resource identifier + [Documentation] Test ID: 8.3.1.11.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 5.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 Subscription with invalid resource identifier + Check HTTP Response Status Code Is 404 + +DELETE Individual Subscription + [Documentation] Test ID: 8.3.1.11.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 5.5.5.3.5 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: The resource 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.1.11.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 5.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 Subscription with invalid resource identifier + Check HTTP Response Status Code Is 404 + +POST Individual Subscription - Method not implemented + [Documentation] Test ID: 8.3.1.11.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 5.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 Subscription + Check HTTP Response Status Code Is 405 + +PUT Individual Subscription - Method not implemented + [Documentation] Test ID: 8.3.1.11.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 5.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 Subscription + Check HTTP Response Status Code Is 405 + +PATCH Individual Subscription - Method not implemented + [Documentation] Test ID: 8.3.1.11.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 5.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 Subscription + Check HTTP Response Status Code Is 405 diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot new file mode 100644 index 0000000000000000000000000000000000000000..22ee56981b96700ebcb3c8710ac2976211b2c169 --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot @@ -0,0 +1,846 @@ +*** 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 + +Send Post request for NFV-MANO Entity + 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}/mano_entity + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET NFV-MANO entity resource + Log Trying to get a NFV-MANO entity resource + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Put request for NFV-MANO Entity + 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/mano_entity + ${origOutput}= Output response + Set Suite Variable ${origResponse} ${origOutput} + PUT ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/mano_entity + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Patch request for NFV-MANO Entity + log Trying to modify an NFV-MANO Entity + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + ${body}= Get File jsons/ManoConfigModificationRequest.json + Patch ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity ${body} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Send Delete request for NFV-MANO Entity + Log Trying to perform a DELETE (method should not be implemented) + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Post request for NFV-MANO functional entity application state change + Log Trying to perform a POST for NFV-MANO functional entity application state change + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + ${template}= Get File jsons/ChangeStateRequest.json + ${body}= Format String ${template} state=${state} stateAction=${stateAction} + POST ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/change_state + ${output}= Output response + Set Suite Variable ${response} ${output} + +Wait for entity state change success notification and validate status + Wait Until Keyword Succeeds ${retry} ${polling} Check entity state + +Check entity state + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${response['headers']['Location']} + Log Validate Status code + Integer response status 200 + ${respState} = Catenate SEPARATOR= change ${state} StateRequest + Should Be Equal As Strings response body ${respState} ${stateAction} + Log Validated + +Send Get request for NFV-MANO functional entity application state change + Log Trying to perform a GET (method should not be implemented) + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/change_state + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Put request for NFV-MANO functional entity application state change + 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/mano_entity/change_state + ${origOutput}= Output response + Set Suite Variable ${origResponse} ${origOutput} + PUT ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/mano_entity/change_state + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Patch request for NFV-MANO functional entity application state change + 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}/mano_entity/change_state + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Delete request for NFV-MANO functional entity application state change + Log Trying to perform a DELETE (method should not be implemented) + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/change_state + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Post request for Change State Operation Occurrences + 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}/change_state_ops + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get Change State Operation Occurrences + Log Query to GET information about multiple change state operation occurrences. + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Get Change State Operation Occurrences with invalid filter + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops?attribute_not_exist=some_value + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Get Change State Operation Occurrences with invalid selector + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops?fields=wrong_field + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Get Change State Operation Occurrences with filter + Log Query information about multiple change state operation occurrences with attribute filters. + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops?${filter}=${filter_value} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Get Change State Operation Occurrences with all_fields attribute selector + Log Queries information about multiple change state operation occurrences, using all_fields + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops?exclude_default + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get Change State Operation Occurrences with fields attribute selector + Log Queries information about multiple change state operation occurrences, using fields + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops?fields=${fields} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get Change State Operation Occurrences with exclude_default attribute selector + Log Queries information about multiple change state operation occurrences, using fields + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops?exclude_default + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get Change State Operation Occurrences with exclude_fields attribute selector + Log Queries information about multiple change state operation occurrences, using fields + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops?exclude_fields=${fields} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get Change State Operation Occurrences with fields and exclude_default attribute selector + Log Queries information about multiple change state operation occurrences, using fields + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops?exclude_default&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} + +Send PUT request for Change State Operation Occurrences + log Trying to perform a PUT. This method should not be implemented + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Send PATCH request for Change State Operation Occurrences + log Trying to perform a PATCH. This method should not be implemented + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Send DELETE request for Change State Operation Occurrences + log Trying to perform a DELETE. This method should not be implemented + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Send Post request for Individual Change State Operation Occurrence + 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}/change_state_ops/${changeStateOpOccId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get Individual Change State Operation Occurrence + Log Query to GET information about individual change state operation occurrences. + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops/${changeStateOpOccId} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Send Put request for Individual Change State Operation Occurrence + log Trying to perform a PUT. This method should not be implemented + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops/${changeStateOpOccId} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Send Patch request for Individual Change State Operation Occurrence + log Trying to perform a PATCH. This method should not be implemented + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops/${changeStateOpOccId} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Send Delete request for Individual Change State Operation Occurrence + log Trying to perform a DELETE. This method should not be implemented + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops/${changeStateOpOccId} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Send Post request for NFV-MANO Service Interfaces + 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}/mano_entity/mano_interfaces + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get NFV-MANO Service Interfaces + Log Query to GET information about multiple NFV-MANO service interfaces of the NFV-MANO functional entity. + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Get NFV-MANO Service Interfaces with invalid filter + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces?attribute_not_exist=some_value + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Get NFV-MANO Service Interfaces with invalid selector + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces?fields=wrong_field + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Get NFV-MANO Service Interfaces with filter + Log Query information about multiple NFV-MANO service interfaces of the NFV-MANO functional entity with attribute filters. + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces?${filter}=${filter_value} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Get NFV-MANO Service Interfaces with all_fields attribute selector + Log Queries information about multiple NFV-MANO service interfaces of the NFV-MANO functional entity, using all_fields + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces?exclude_default + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get NFV-MANO Service Interfaces with exclude_default and fields attribute selector + Log Queries information about multiple NFV-MANO service interfaces of the NFV-MANO functional entity, using all_fields + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces?exclude_default&fields=${fields} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get NFV-MANO Service Interfaces with fields attribute selector + Log Queries information about multiple NFV-MANO service interfaces of the NFV-MANO functional entity, using fields + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces?fields=${fields} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get NFV-MANO Service Interfaces with exclude_fields attribute selector + Log Queries information about multiple NFV-MANO service interfaces of the NFV-MANO functional entity, using fields + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces?exclude_fields=${fields} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send PUT request for NFV-MANO Service Interfaces + log Trying to perform a PUT. This method should not be implemented + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Send PATCH request for NFV-MANO Service Interfaces + log Trying to perform a PATCH. This method should not be implemented + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Send DELETE request for NFV-MANO Service Interfaces + log Trying to perform a DELETE. This method should not be implemented + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Send Post request for Individual NFV-MANO Service Interface + 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}/mano_entity/mano_interfaces/${manoServiceInterfaceId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get Individual NFV-MANO Service Interface + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces/${manoServiceInterfaceId} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Send Put request for Individual NFV-MANO Service Interface + log Trying to perform a PUT. This method should not be implemented + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces/${manoServiceInterfaceId} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Send Patch request for Individual NFV-MANO Service Interface + log Trying to modify an NFV-MANO Entity + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + ${body}= Get File jsons/ManoServiceInterfaceModificationRequest.json + Patch ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces/${manoServiceInterfaceId} ${body} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Send Delete request for Individual NFV-MANO Service Interface + log Trying to perform a DELETE. This method should not be implemented + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces/${manoServiceInterfaceId} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Send Post request for Change interface state task + Log Trying to perform a POST for Change interface state task + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + ${template}= Get File jsons/ChangeStateRequest.json + ${body}= Format String ${template} state=${state} stateAction=${stateAction} + POST ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces/${manoServiceInterfaceId}/change_state ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Check PostCondition NFV-MANO service interface state matches the requested state + Wait Until Keyword Succeeds ${retry} ${polling} Check interface state + +Check interface state + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${response['headers']['Location']} + Log Validate Status code + Integer response status 200 + ${respState} = Catenate SEPARATOR= change ${state} StateRequest + Should Be Equal As Strings response body ${respState} ${stateAction} + Log Validated + +Send Get request for Change interface state task + Log Trying to perform a GET (method should not be implemented) + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces/${manoServiceInterfaceId}/change_state + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Put request for Change interface state task + 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}/mano_entity/mano_interfaces/${manoServiceInterfaceId}/change_state + ${origOutput}= Output response + Set Suite Variable ${origResponse} ${origOutput} + PUT ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces/${manoServiceInterfaceId}/change_state + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Patch request for Change interface state task + 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}/mano_entity/mano_interfaces/${manoServiceInterfaceId}/change_state + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Delete request for Change interface state task + Log Trying to perform a DELETE (method should not be implemented) + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + DELETE ${apiRoot}/${apiName}/${apiMajorVersion}//mano_entity/mano_interfaces/${manoServiceInterfaceId}/change_state + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Post request for Peer Entity + Log Trying to perform a POST for Peer Entity + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + ${template}= Get File jsons/CreatePeerEntityRequest.json + ${body}= Format String ${template} peerEntityId=${peerEntityId} name=${name} type=${type} + POST ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get Peer Entity + Log Query to GET information about multiple peer entities. + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Get Peer Entity with invalid filter + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities?attribute_not_exist=some_value + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Get Peer Entity with invalid selector + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities?fields=wrong_field + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Get Peer Entity with filter + Log Query information about multiple peer entities with attribute filters. + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities?${filter}=${filter_value} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Get Peer Entity with all_fields attribute selector + Log Queries information about multiple peer entities, using all_fields + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities?exclude_default + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get Peer Entity with fields attribute selector + Log Queries information about multiple peer entities, using fields + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities?fields=${fields} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get Peer Entity with exclude_default and fields attribute selector + Log Queries information about multiple peer entities, using fields + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities?exclude_default&fields=${fields} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get Peer Entity with exclude_fields attribute selector + Log Queries information about multiple peer entities, using fields + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities?exclude_fields=${fields} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send PUT request for Peer Entity + log Trying to perform a PUT. This method should not be implemented + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Send PATCH request for Peer Entity + log Trying to perform a PATCH. This method should not be implemented + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Send DELETE request for Peer Entity + log Trying to perform a DELETE. This method should not be implemented + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Send Post request for Individual Peer Entity + 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}/peer_entities/${peerEntityId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get Individual Peer Entity + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities/${peerEntityId} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Send Put request for Individual Peer Entity + log Trying to perform a PUT. This method should not be implemented + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities/${peerEntityId} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Send Patch request for Individual Peer Entity + log Trying to modify an NFV-MANO Entity + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + ${body}= Get File jsons/PeerEntityConfigModificationRequest.json + Patch ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities/${peerEntityId} ${body} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Send Delete request for Individual Peer Entity + log Trying to perform a DELETE. This method should not be implemented + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities/${peerEntityId} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +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} + +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/CimSubscriptionRequest.json + ${body_request}= Format String ${template} callback_uri=${callback_uri} callback_endpoint=${callback_endpoint} + POST ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body_request} + ${output}= Output response + Set Suite Variable ${response} ${output} + Run Keyword If ${NFVMANO_CHECKS_NOTIF_ENDPOINT} == 1 + ... Check Notification Endpoint + +Check HTTP Response Body CimSubscription Attributes Values Match the Issued Subscription + Log Check Response matches subscription + ${template}= Get File jsons/CimSubscriptionRequest.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/CimSubscriptionRequest.json + ${body_request}= Format String ${template} callback_uri=${callback_uri} callback_endpoint=${callback_endpoint} + POST ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body_request} + ${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 CimSubscription.schema.json ${result} + Log Validated CimSubscription 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 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} + PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} + ${output}= Output response + Set Suite Variable @{response} ${output} + +Check Postcondition Peer Entity Resource is created + Log Check Postcondition Peer Entity resource + Set Headers {"Accept": "${ACCEPT_JSON}"} + Get ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities + ${output}= Output response + Set Suite Variable ${response} ${output} + Check HTTP Response Status Code Is 200 + +Check HTTP Response Header Contains Location + ${loc}= Get Value From Json ${response['headers']} $..Location + Should Not Be Empty ${loc} + +GET Peer Entity 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}/peer_entities + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET Peer Entity 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}/peer_entities + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET Peer Entity 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}/peer_entities + ${output}= Output response + Set Suite Variable ${response} ${output} diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOEntity.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOEntity.robot new file mode 100644 index 0000000000000000000000000000000000000000..97268a15bc09c28e990a222afc6c1af2bd030b40 --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOEntity.robot @@ -0,0 +1,109 @@ +*** Settings *** +Library JSONSchemaLibrary schemas/ +Resource environment/variables.txt +Library JSONLibrary +Library OperatingSystem +Resource NFVMANOCimKeywords.robot +Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false +Library MockServerLibrary + +*** Test Cases *** +POST NFV-MANO entity - Method not implemented + [Documentation] Test ID: 8.3.1.1.1 + ... Test title: POST NFV-MANO entity - Method not implemented + ... Test objective: The objective is to test that POST method is not allowed to create an NFV-MANO Entity. + ... Pre-conditions: none + ... Reference: clause 5.5.3.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 NFV-MANO Entity + Check HTTP Response Status Code Is 405 + +GET NFV-MANO entity + [Documentation] Test ID: 8.3.1.1.2 + ... Test title: Get NFV-MANO entity + ... Test objective: The objective is to test the retrieval of information about an NFV-MANO functional entity by reading the NFV-MANO entity resource and perform a JSON schema and content validation of the collected job data structure. + ... Pre-conditions: none + ... Reference: clause 5.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 NFV-MANO entity resource + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ManoEntity + +GET NFV-MANO entity - Not Found + [Documentation] Test ID: 8.3.1.1.3 + ... Test title: Get NFV-MANO entity - Not Found + ... Test objective: The objective is to test the retrieval of information about an NFV-MANO functional entity by reading the NFV-MANO entity resource fails when the resource is not present. + ... Pre-conditions: none + ... Reference: clause 5.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 NFV-MANO entity resource + Check HTTP Response Status Code Is 404 + +PUT NFV-MANO entity - Method not implemented + [Documentation] Test ID: 8.3.1.1.4 + ... Test title: PUT NFV-MANO entity - Method not implemented + ... Test objective: The objective is to test that PUT method is not allowed to update an NFV-MANO Entity. + ... Pre-conditions: none + ... Reference: clause 5.5.3.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 NFV-MANO Entity + Check HTTP Response Status Code Is 405 + +PATCH NFV-MANO entity + [Documentation] Test ID: 8.3.1.1.5 + ... Test title: PATCH NFV-MANO entity + ... Test objective: The objective is to test that PATCH method modifies the NFV-MANO entity resource and perform a JSON schema and content validation of the modified response. + ... Pre-conditions: NFV-MANO entity resource is already created. + ... Reference: clause 5.5.3.3.4 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: The NFV-MANO entity is modified by the operation + Send Patch request for NFV-MANO Entity + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ManoConfigModifications + +PATCH NFV-MANO entity - Conflict + [Documentation] Test ID: 8.3.1.1.6 + ... Test title: PATCH NFV-MANO entity - Conflict + ... Test objective: The objective is to test that the modification of the NFV-MANO entity resource failed due to a conflict with the state of the NFV-MANO entity resource and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: NFV-MANO entity resource is already created. + ... Reference: clause 5.5.3.3.4 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: The NFV-MANO entity is not modified by the operation + Send Patch request for NFV-MANO Entity + Check HTTP Response Status Code Is 409 + Check HTTP Response Body Json Schema Is ProblemDetails + +PATCH NFV-MANO entity - PreCondition Failed + [Documentation] Test ID: 8.3.1.1.7 + ... Test title: PATCH NFV-MANO entity - PreCondition Failed + ... Test objective: The objective is to test that the modification of the NFV-MANO entity resource failed because precondition given in an HTTP request header is not fulfilled and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: NFV-MANO entity resource is already created. + ... Reference: clause 5.5.3.3.4 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: The NFV-MANO entity is not modified by the operation + Send Patch request for NFV-MANO Entity + Check HTTP Response Status Code Is 412 + Check HTTP Response Body Json Schema Is ProblemDetails + +DELETE NFV-MANO entity - Method not implemented + [Documentation] Test ID: 8.3.1.1.8 + ... Test title: DELETE NFV-MANO entity - Method not implemented + ... Test objective: The objective is to test that DELETE method is not allowed to delete an NFV-MANO Entity. + ... Pre-conditions: none + ... Reference: clause 5.5.3.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 NFV-MANO Entity + Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOServiceInterfaces.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOServiceInterfaces.robot new file mode 100644 index 0000000000000000000000000000000000000000..9d0a7f2e4fa5f7ca88b447ff00848e29c7917113 --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOServiceInterfaces.robot @@ -0,0 +1,200 @@ +** Settings *** +Library JSONSchemaLibrary schemas/ +Resource environment/variables.txt +Library JSONLibrary +Library OperatingSystem +Resource NFVMANOCimKeywords.robot +Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false +Library MockServerLibrary + +*** Test Cases *** +POST NFV-MANO Service Interfaces - Method not implemented + [Documentation] Test ID: 8.3.1.5.1 + ... Test title: POST NFV-MANO Service Interfaces - Method not implemented + ... Test objective: The objective is to test that POST method is not implemeted. + ... Pre-conditions: none + ... Reference: clause 5.5.10.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 NFV-MANO Service Interfaces + Check HTTP Response Status Code Is 405 + +GET NFV-MANO Service Interfaces + [Documentation] Test ID: 8.3.1.5.2 + ... Test title: GET NFV-MANO Service Interfaces + ... Test objective: The objective is to query status information about multiple NFV-MANO service interfaces of the NFV-MANO functional entity, and perform the JSON schema validation of the HTTP response. + ... Pre-conditions: none + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get NFV-MANO Service Interfaces + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ManoServiceInterfaces + +GET NFV-MANO Service Interfaces - invalid attribute-based filter + [Documentation] Test ID: 8.3.1.5.3 + ... Test title: GET NFV-MANO Service Interfaces - invalid attribute-based filter + ... Test objective: The objective is to test that the retrieval of NFV-MANO Service Interfaces fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: none + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get NFV-MANO Service Interfaces with invalid filter + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET NFV-MANO Service Interfaces - invalid attribute selector + [Documentation] Test ID: 8.3.1.5.4 + ... Test title: GET NFV-MANO Service Interfaces - invalid attribute selector + ... Test objective: The objective is to test that the retrieval of NFV-MANO Service Interfaces fails when using invalid attribute selector, and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: none + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get NFV-MANO Service Interfaces with invalid selector + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET NFV-MANO Service Interfaces - Bad Request Response too Big + [Documentation] Test ID: 8.3.1.5.5 + ... Test title: GET NFV-MANO Service Interfaces - Bad Request Response too Big + ... Test objective: The objective is to test that the retrieval of NFV-MANO Service Interfaces fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: none + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get NFV-MANO Service Interfaces + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET NFV-MANO Service Interfaces with attribute-based filter + [Documentation] Test ID: 8.3.1.5.6 + ... Test title: GET NFV-MANO Service Interfaces with attribute-based filter + ... Test objective: The objective is to query status information about multiple NFV-MANO service interfaces of the NFV-MANO functional entities with attribute filters, and perform the JSON schema validation of the HTTP response. + ... Pre-conditions: none + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get NFV-MANO Service Interfaces with filter + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ManoServiceInterfaces + +GET NFV-MANO Service Interfaces with "all_fields" attribute selector + [Documentation] Test ID: 8.3.1.5.7 + ... Test title: GET NFV-MANO Service Interface with "all_fields" attribute selector + ... Test objective: The objective is to retrieve NFV-MANO Service Interfaces with "all_fields" attribute selector, and perform the JSON schema validation of the HTTP response. + ... Pre-conditions: none + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get NFV-MANO Service Interfaces with all_fields attribute selector + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ManoServiceInterfaces + +GET NFV-MANO Service Interfaces with "exclude_default" attribute selector + [Documentation] Test ID: 8.3.1.5.8 + ... Test title: GET NFV-MANO Service Interfaces with "exclude_default" attribute selector + ... Test objective: The objective is to retrieve NFV-MANO Service Interfaces with "exclude_default" attribute selector, and perform the JSON schema validation of the HTTP response. + ... Pre-conditions: none + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get NFV-MANO Service Interfaces with all_fields attribute selector + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ManoServiceInterfaces + +GET NFV-MANO Service Interfaces with "fields" attribute selector + [Documentation] Test ID: 8.3.1.5.9 + ... Test title: GET NFV-MANO Service Interfaces with "fields" attribute selector + ... Test objective: The objective is to retrieve NFV-MANO Service Interfaces with fields attribute selector, and perform the JSON schema validation of the HTTP response. + ... Pre-conditions: none + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get NFV-MANO Service Interfaces with fields attribute selector + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ManoServiceInterfaces + +GET NFV-MANO Service Interfaces with "exclude_fields" attribute selector + [Documentation] Test ID: 8.3.1.5.10 + ... Test title: GET NFV-MANO Service Interfaces with "exclude_fields" attribute selector + ... Test objective: The objective is to retrieve NFV-MANO Service Interfaces with "exclude_fields" attribute selector, and perform the JSON schema validation of the HTTP response. + ... Pre-conditions: none + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get NFV-MANO Service Interfaces with exclude_fields attribute selector + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ManoServiceInterfaces + +GET NFV-MANO Service Interfaces with "exclude_default" and "fields" attribute selector + [Documentation] Test ID: 8.3.1.5.11 + ... Test title: GET NFV-MANO Service Interfaces with "exclude_default" and "fields" attribute selector + ... Test objective: The objective is to retrieve NFV-MANO Service Interfaces with "exclude_default" and "fields" attribute selector, and perform the JSON schema validation of the HTTP response. + ... Pre-conditions: none + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get NFV-MANO Service Interfaces with exclude_default and fields attribute selector + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ManoServiceInterfaces + +GET NFV-MANO Service Interfaces with Paged Response + [Documentation] Test ID: 8.3.1.5.12 + ... Test title: GET NFV-MANO Service Interfaces with Paged Response + ... Test objective: The objective is to query NFV-MANO Service Interface to get Paged Response. + ... Pre-conditions: none + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get NFV-MANO Service Interfaces + Check HTTP Response Status Code Is 200 + Check HTTP Response Header Contains Link + +PUT NFV-MANO Service Interfaces - Method not implemented + [Documentation] Test ID: 8.3.1.5.13 + ... Test title: PUT NFV-MANO Service Interfaces - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemeted. + ... Pre-conditions: none + ... Reference: clause 5.5.10.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 NFV-MANO Service Interfaces + Check HTTP Response Status Code Is 405 + +PATCH NFV-MANO Service Interfaces - Method not implemented + [Documentation] Test ID: 8.3.1.5.14 + ... Test title: PATCH NFV-MANO Service Interfaces - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemeted. + ... Pre-conditions: none + ... Reference: clause 5.5.10.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 NFV-MANO Service Interfaces + Check HTTP Response Status Code Is 405 + +DELETE NFV-MANO Service Interfaces - Method not implemented + [Documentation] Test ID: 8.3.1.5.15 + ... Test title: DELETE NFV-MANO Service Interfaces - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemeted. + ... Pre-conditions: none + ... Reference: clause 5.5.10.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 NFV-MANO Service Interfaces + Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NotificationEndpoint.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NotificationEndpoint.robot new file mode 100644 index 0000000000000000000000000000000000000000..2e77ce90b10b3b1852274fe953a08d85a257c1da --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NotificationEndpoint.robot @@ -0,0 +1,112 @@ +*** 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 *** +Information Changed Notification + [Documentation] Test ID: 8.3.1.12.1 + ... Test title: Information Changed Notification + ... Test objective: The objective is to test the dispatch of Information Changed Notification when configuration or information is changed 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: A subscription for information availability notifications is available in the NFV-MANO. + ... Reference: clause 5.5.6.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 Information Changed Notification (external action) + Check Information Changed Notification Available Http POST Request Body Json Schema Is InformationChangedNotification + Check Information Changed Notification Available Http POST Request Body notificationType attribute Is InformationChangedNotification + +Change State Notification + [Documentation] Test ID: 8.3.1.12.2 + ... Test title: Change State Notification + ... Test objective: The objective is to test the dispatch of Change State Notification when state changes of the NFV-MANO functional entity and its managed objects, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. + ... Pre-conditions: A performance job is created, and a state change subscription is available in the NFV-MANO. + ... Reference: clause 5.5.6.3.1 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANOz + ... Applicability: none + ... Post-Conditions: none + Trigger the cross of Change State (external action) + Check Change State Notification Http POST Request Body Json Schema Is ChangeStateNotification + Check Change State Notification Http POST Request Body notificationType attribute Is ChangeStateNotification + + +*** Keywords *** +Trigger the availability of Information Changed Notification (external action) + #do nothing + Log do nothing + +Trigger the cross of Change State (external action) + #do nothing + Log do nothing + +Check Information Changed Notification Available 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 Information Changed Notification Available Http POST Request Body notificationType attribute Is + [Arguments] ${type} + Configure Notification Information Changed Notification 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 Change State 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 Change State Notification Http POST Request Body notificationType attribute Is + [Arguments] ${type} + Configure Notification State Crossed 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 Change State Notification Http POST Request Body changeType attribute Is + [Arguments] ${type} + #do nothing + Log do nothing + + +Configure Notification Information Changed Notification 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 State Crossed 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} diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/PeerEntities.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/PeerEntities.robot new file mode 100644 index 0000000000000000000000000000000000000000..72e72c3ed82140ff6683438bbc1cbddbe5fa285b --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/PeerEntities.robot @@ -0,0 +1,239 @@ +** Settings *** +Library JSONSchemaLibrary schemas/ +Resource environment/variables.txt +Library JSONLibrary +Library OperatingSystem +Resource NFVMANOCimKeywords.robot +Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false +Library MockServerLibrary + +*** Test Cases *** +POST Peer Entity + [Documentation] Test ID: 8.3.1.8.1 + ... Test title: POST Peer Entity + ... Test objective: The objective is to creates in the producer NFV-MANO functional entity a new peer entity resource which contains configuration and information with regards to the peer functional entity and perform the JSON schema validation of the returned job data structure. + ... Pre-conditions: none + ... Reference: clause 5.5.13.3.1 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: Peer Entity is created + Send Post request for Peer Entity + Check HTTP Response Status Code Is 201 + Check HTTP Response Body Json Schema Is PeerEntity + Check HTTP Response Header Contains Location + Check Postcondition Peer Entity Resource is created + +GET Peer Entities + [Documentation] Test ID: 8.3.1.8.2 + ... Test title: GET Peer Entities + ... Test objective: The objective is to query information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities, and perform the JSON schema validation of the returned job data structure. + ... Pre-conditions: At least one Peer Entity is already created. + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get Peer Entity + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is PeerEntities + +GET Peer Entities - invalid attribute-based filter + [Documentation] Test ID: 8.3.1.8.3 + ... Test title: GET Peer Entities - invalid attribute-based filter + ... Test objective: The objective is to test that the retrieval of information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: At least one Peer Entity is already created. + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get Peer Entity with invalid filter + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET Peer Entities - invalid attribute selector + [Documentation] Test ID: 8.3.1.8.4 + ... Test title: GET Peer Entities - invalid attribute selector + ... Test objective: The objective is to test that the retrieval of information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities fails when using invalid attribute selector, and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: At least one Peer Entity is already created. + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get Peer Entity with invalid selector + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET Peer Entities - Bad Request Response too Big + [Documentation] Test ID: 8.3.1.8.5 + ... Test title: GET Peer Entities - Bad Request Response too Big + ... Test objective: The objective is to test that the retrieval of information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: At least one Peer Entity is already created. + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get Peer Entity + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET Peer Entities with attribute-based filter + [Documentation] Test ID: 8.3.1.8.6 + ... Test title: GET Peer Entities with attribute-based filter + ... Test objective: The objective is to query information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities with attribute filters, and perform the JSON schema validation of the returned job data structure. + ... Pre-conditions: At least one Peer Entity is already created. + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get Peer Entity with filter + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is PeerEntities + +GET Peer Entities with "all_fields" attribute selector + [Documentation] Test ID: 8.3.1.8.7 + ... Test title: GET Peer Entities with "all_fields" attribute selector + ... Test objective: The objective is to retrieve information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities with "all_fields" attribute selector, and perform the JSON schema validation of the returned job data structure. + ... Pre-conditions: At least one Peer Entity is already created. + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get Peer Entity with all_fields attribute selector + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is PeerEntities + +GET Peer Entities with "exclude_default" attribute selector + [Documentation] Test ID: 8.3.1.8.8 + ... Test title: GET Peer Entities with "exclude_default" attribute selector + ... Test objective: The objective is to retrieve information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities with "exclude_default" attribute selector, and perform the JSON schema validation of the returned job data structure. + ... Pre-conditions: At least one Peer Entity is already created. + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get Peer Entity with all_fields attribute selector + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is PeerEntities + +GET Peer Entities with "fields" attribute selector + [Documentation] Test ID: 8.3.1.8.9 + ... Test title: GET Peer Entities with "fields" attribute selector + ... Test objective: The objective is to retrieve information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities with fields attribute selector, and perform the JSON schema validation of the returned job data structure. + ... Pre-conditions: At least one Peer Entity is already created. + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get Peer Entity with fields attribute selector + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is PeerEntities + +GET Peer Entities with "exclude_fields" attribute selector + [Documentation] Test ID: 8.3.1.8.10 + ... Test title: GET Peer Entities with "exclude_fields" attribute selector + ... Test objective: The objective is to retrieve information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities with "exclude_fields" attribute selector, and perform the JSON schema validation of the returned job data structure. + ... Pre-conditions: At least one Peer Entity is already created. + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get Peer Entity with exclude_fields attribute selector + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is PeerEntities + +GET Peer Entities with "exclude_default" and "fields" attribute selector + [Documentation] Test ID: 8.3.1.8.11 + ... Test title: GET Peer Entities with "exclude_default" and "fields" attribute selector + ... Test objective: The objective is to retrieve information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities with "exclude_default" and "fields" attribute selector, and perform the JSON schema validation of the returned job data structure. + ... Pre-conditions: At least one Peer Entity is already created. + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get Peer Entity with exclude_default and fields attribute selector + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is PeerEntities + +GET Peer Entity with Paged Response + [Documentation] Test ID: 8.3.1.8.12 + ... Test title: GET Peer Entity with Paged Response + ... Test objective: The objective is to query information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities to get Paged Response. + ... Pre-conditions: At least one Peer Entity is already created. + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get Peer Entity + Check HTTP Response Status Code Is 200 + Check HTTP Response Header Contains Link + +Get Peer Entity with malformed authorization token + [Documentation] Test ID: 8.3.1.8.13 + ... Test title: Get Peer Entity with malformed authorization token + ... Test objective: The objective is to test that the retrieval of information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities fails when using malformed authorization token. + ... Pre-conditions: none + ... Reference: clause 5.5.13.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 Peer Entity with malformed authorization token + Check HTTP Response Status Code Is 401 + +Get Peer Entity without authorization token + [Documentation] Test ID: 8.3.1.8.14 + ... Test title: Get Peer Entity without authorization token + ... Test objective: The objective is to test that the retrieval of information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities fails when omitting the authorization token. + ... Pre-conditions: none + ... Reference: clause 5.5.13.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 Peer Entity without authorization token + Check HTTP Response Status Code Is 401 + +GET information about multiple alarms with expired or revoked authorization token + [Documentation] Test ID: 8.3.1.8.15 + ... Test title: GET information about multiple alarms with expired or revoked authorization token + ... Test objective: The objective is to test that the retrieval of information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities fails when using expired or revoked authorization token. + ... Pre-conditions: none + ... Reference: clause 5.5.13.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 Peer Entity with expired or revoked authorization token + Check HTTP Response Status Code Is 401 + +PUT Peer Entities - Method not implemented + [Documentation] Test ID: 8.3.1.8.16 + ... Test title: PUT Peer Entities - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemeted. + ... Pre-conditions: none + ... Reference: clause 5.5.13.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 Peer Entity + Check HTTP Response Status Code Is 405 + +PATCH Peer Entities - Method not implemented + [Documentation] Test ID: 8.3.1.8.17 + ... Test title: PATCH Peer Entities - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemeted. + ... Pre-conditions: none + ... Reference: clause 5.5.13.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 Peer Entity + Check HTTP Response Status Code Is 405 + +DELETE Peer Entities - Method not implemented + [Documentation] Test ID: 8.3.1.8.18 + ... Test title: DELETE Peer Entities - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemeted. + ... Pre-conditions: none + ... Reference: clause 5.5.13.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 Peer Entity + Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/SOL009-NFVMANOConfigurationInformationManagement-API.yaml b/SOL009/NFVManoConfigurationAndInformationManagement-API/SOL009-NFVMANOConfigurationInformationManagement-API.yaml new file mode 100644 index 0000000000000000000000000000000000000000..3fed77a90f62382ea13ae6b99e6c9543031b2995 --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/SOL009-NFVMANOConfigurationInformationManagement-API.yaml @@ -0,0 +1,33445 @@ +openapi: 3.0.2 +info: + version: '1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1' + title: SOL009 - NFV-MANO Configuration and Information Management Interface + description: > + SOL009 - NFV-MANO Configuration and Information Management Interface + + IMPORTANT: Please note that this file might be not aligned to the current + version of the ETSI Group Specification it refers to and has not been + approved by the ETSI NFV ISG. In case of discrepancies the published ETSI + Group Specification takes precedence. Please report bugs to + https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + license: + name: ETSI Forge copyright notice + url: 'https://forge.etsi.org/etsi-forge-copyright-notice.txt' + contact: + name: NFV-SOL WG +externalDocs: + description: ETSI GS NFV-SOL 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 +servers: + - url: 'http://0.0.0.0/nfvmanocim/v1' + description: | + API HTTP Server + - url: 'https://0.0.0.0/nfvmanocim/v1' + description: | + API HTTPS Server +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 + /mano_entity: + get: + description: > + Retrives information about an NFV-MANO functional entity by reading the + NFV-MANO entity resource. This method shall follow the provisions + specified in the tables 5.5.3.3.2-1 and 5.5.3.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: > + 200 OK + + Shall be returned when configuration and information about the + NFV-MANO functional entity has been read successfully. The response + body shall contain a representation of the NFV-MANO functional + entity, as defined in clause 5.6.2.2. + 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 + content: + application/json: + schema: + description: | + This type represents an NFV-MANO functional entity. + type: object + required: + - id + - type + - name + - description + - provider + - softwareVersion + - manoConfigurableParams + - manoApplicationState + - _links + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + type: + description: "The enumeration ManoEntityEnumType defines the permitted values to represent NFV-MANO functional entities. It shall comply with the provisions :\n - NFVO\tThe NFV-MANO functional entity is an NFVO.\n - VNFM\tThe NFV-MANO functional entity is a VNFM.\n - VIM\tThe NFV-MANO functional entity is a VIM.\n" + type: string + enum: + - NFVO + - VNFM + - VIM + name: + description: | + Human-readable name of the NFV-MANO functional entity. + This attribute can be modified with the PATCH method. + type: string + description: + description: > + Human-readable description of the NFV-MANO functional + entity. + + This attribute can be modified with the PATCH method. + type: string + provider: + description: > + Information about the provider of the NFV-MANO functional + entity. It typically includes the name of the provider. + type: string + softwareVersion: + description: > + The version of the software of the NFV-MANO functional + entity. $ref: + "../components/SOL009_schemas.yaml#/components/schemas/Version" + manoEntityComponents: + description: "The deployed NFV-MANO functional entity components which realize the NFV-MANO functional entity. \nNOTE:\tIt is optional for the API producer to support the \"manoEntityComponents\" attribute.\n" + type: array + items: + description: > + This type represents information of a deployed component + realizing part of an NFV-MANO functional entity. It is + optional for the API producer to support this type. + type: object + properties: + id: + 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 + manoServiceIds: + description: > + References to the NFV-MANO services that depend on + the NFV-MANO functional entity component. The + identifier of the ManoService is referred. A + service may depend on multiple components. Multiple + services may depend on the same component. + 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 + required: + - id + manoServices: + description: > + Information about the NFV-MANO services provided by the + NFV-MANO functional entity. + type: array + items: + description: > + This type represents information about an NFV-MANO + service provided by the NFV-MANO functional entity. + type: object + properties: + id: + 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 + name: + description: > + Human-readable name of the NFV-MANO service. + + This attribute can be modified with the PATCH + method. + type: string + description: + description: > + Human-readable description of the NFV-MANO service. + + This attribute can be modified with the PATCH + method. + type: string + manoServiceInterfaceIds: + description: "Reference to the NFV-MANO interfaces associated to the NFV-MANO service. If cardinality is greater than one, the type of ManoServiceInterface (see clause 5.6.3.3) shall be the same. The identifier of the ManoServiceInterface is referred. \nNOTE:\tA cardinality greater than one supports having different interface versions or apiEndpoints to be used for accessing the same instance of a NFV-MANO service.\n" + 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 + minItems: 1 + _links: + description: | + Links to resources related to this resource. + type: object + properties: + manoServiceInterfaces: + description: > + Link to the "individual NFV-MANO service + interface" resources with information about the + associated interfaces to the NFV-MANO service. + 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 + minItems: 1 + required: + - manoServiceInterfaces + required: + - id + - name + - description + - manoServiceInterfaceIds + - _links + manoConfigurableParams: + description: > + # Warning: No definition found in the document + ManoConfigurableParams + manoApplicationState: + description: > + Information and current values of the NFV-MANO functional + entity’s application state. + type: object + required: + - operationalState + - administrativeState + - usageState + properties: + operationalState: + description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + - RESTARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + usageState: + description: "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n" + type: string + enum: + - IN_USE + - NOT_IN_USE + nfvoSpecificInfo: + description: > + This type represents information attributes specific to an + NFVO entity, and that can be relevant to more than one + NFV-MANO service offered by an NFVO entity. + type: object + properties: + maxOnboardedNsdNum: + description: > + Maximum number of NSDs that can be on-boarded on the + NFVO. + + NOTE: If this attribute is not present, the value of + this parameter is undefined. + type: integer + maxOnboardedVnfPkgNum: + description: > + Maximum number of VNF Packages that can be on-boarded + on the NFVO. + + NOTE: If this attribute is not present, the value of + this parameter is undefined. + type: integer + supportedVnfdFormats: + description: | + Supported VNFD data formats. + type: object + properties: + vnfdFormat: + description: | + Name of the VNFD format. + Permitted values: + - TOSCA: The VNFD follows TOSCA definition, according to ETSI + GS NFV-SOL 001 standard. + - YANG: The VNFD follows YANG definition according to ETSI + GS NFV-SOL 006 standard. + type: string + enum: + - TOSCA + - YANG + standardVersion: + description: | + A version. + type: string + required: + - vnfdFormat + - standardVersion + supportedNsdFormats: + description: | + Supported NSD data formats. + type: object + properties: + nsdFormat: + description: | + Name of the NSD format. + Permitted values: + - TOSCA: The VNFD follows TOSCA definition, according to ETSI + GS NFV-SOL 001 standard. + - YANG: The VNFD follows YANG definition according to ETSI + GS NFV-SOL 006 standard. + type: string + enum: + - TOSCA + - YANG + standardVersion: + description: | + A version. + type: string + required: + - nsdFormat + - standardVersion + required: + - supportedVnfdFormats + - supportedNsdFormats + vnfmSpecificInfo: + description: > + This type represents information attributes specific to a + VNFM entity, and that can be relevant to more than one + NFV-MANO service offered by a VNFM entity. + type: object + properties: + resoruceMgmtModeSupport: + description: | + The supported resource management modes of the VNFM. + Permitted values: + - DIRECT: The VNFM supports direct mode only. + - INDIRECT: The VNFM supports indirect mode only. + - BOTH: The VNFM supports both direct and indirect mode. + type: string + enum: + - DIRECT + - INDIRECT + - BOTH + managedVnfInstanceInfos: + description: > + The kinds of VNF instances that can be managed, e.g. + to determine the compatibility of a VNF with certain + VNFM according to the vnfmInfo attribute in the VNFD + (see table 7.1.2.2-1 in ETSI GS NFV-IFA 011). + type: array + items: + type: string + minItems: 1 + supportedVnfdFormats: + description: | + Supported VNFD data formats. + type: array + items: + type: object + properties: + vnfdFormat: + description: | + Name of the VNFD format. + Permitted values: + - TOSCA: The VNFD follows TOSCA definition, according to ETSI + GS NFV-SOL 001 standard. + - YANG: The VNFD follows YANG definition according to ETSI + GS NFV-SOL 006 standard. + type: string + enum: + - TOSCA + - YANG + standardVersion: + description: | + A version. + type: string + required: + - vnfdFormat + - standardVersion + minItems: 1 + required: + - resoruceMgmtModeSupport + - managedVnfInstanceInfos + - supportedVnfdFormats + vimSpecificInfo: + description: > + This type represents information attributes specific to a + VIM entity, and that can be relevant to more than one + NFV-MANO service offered by a VIM entity. + type: object + _links: + description: | + Links to resources related to this resource. + type: object + required: + - self + - manoServiceInterfaces + - peerEntities + - changeState + - changeStateOpOccs + 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 + manoServiceInterfaces: + 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 + peerEntities: + 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 + changeState: + 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 + changeStateOpOccs: + 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 + patch: + description: > + Modifies the NFV-MANO entity resource. Changes to the various + configuration and information attributes are applied to the NFV-MANO + functional entity, and are reflected in the representation of this + resource. This method shall follow the provisions specified in the + tables 5.5.3.3.4-1 and 5.5.3.3.4-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 + requestBody: + description: > + Parameters for the NFV-MANO configuration and information + modification, as defined in clause 5.6.2.3. The Content-Type header + shall be set to "application/merge-patch+json" according to IETF RFC + 7396. + content: + application/merge-patch+json: + schema: + description: > + This type represents attribute modifications for configuration + parameters of an NFV-MANO functional entity. + type: object + properties: + name: + description: | + New value of the "name" attribute in "ManoEntity". + type: string + description: + description: | + New value of the "description" attribute in "ManoEntity". + type: string + clockSyncs: + description: > + New content of certain entries in the "clockSyncs" attribute + array in the "ManoEntityConfigurableParams", as defined + below this table. + type: array + items: + description: > + This type represents parameters for connecting to an NTP + server. + type: object + properties: + id: + description: > + An identifier with the intention of being globally + unique. + type: string + type: + description: | + Type of clock synchronization. + Permitted values: + - NTP: For Network Time Protocol (NTP) based clock synchronization. + - OTHER: For other types of clock synchronization. + type: string + enum: + - NTP + - OTHER + ntpServerInfo: + description: > + Information for the NTP based clock synchronization. + Shall be present if type = "NTP". + type: object + properties: + ipAddress: + description: > + An IPV4 or IPV6 address. Representation: In case + of an IPV4 address, string that consists of four + decimal integers separated by dots, each integer + ranging from 0 to 255. In case of an IPV6 address, + string that consists of groups of zero to four + hexadecimal digits, separated by colons. + type: string + format: IP + hostname: + description: "Indicates the hostname of the NTP server. \nNOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n" + type: string + otherClockSyncParams: + description: > + This type represents a list of key-value pairs. The + order of the pairs in the list is not significant. In + JSON, a set of keyvalue pairs is represented as an + object. It shall comply with the provisions defined in + clause 4 of IETF RFC 8259. In the following example, a + list of key-value pairs with four keys ("aString", + "aNumber", "anArray" and "anObject") is provided to + illustrate that the values associated with different + keys can be of different type. + type: object + required: + - id + - type + clockSyncsDeleteIds: + description: > + List of identifiers entries to be deleted from the + "clockSyncs" attribute array in the + "ManoEntityConfigurableParams", as defined below this + table. + type: array + items: + description: | + An identifier with the intention of being globally unique. + type: string + defaultLogCompileBySizeValue: + description: | + Unsigned integer + type: number + defaultLogCompileByTimerValue: + description: | + Unsigned integer + type: number + manoServiceModifications: + description: > + New content of certain entries in the "manoServices" + attribute array in the "ManoEntity", as defined below this + table. + type: array + items: + type: object + properties: + id: + 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 + name: + description: "New value for the \"name\" attribute in the \"ManoService\". \nNOTE:\tAt least one of these attributes shall be provided if requesting a modification of the NFV-MANO service identified by \"id\".\n" + type: string + description: + description: "New value for the \"description\" attribute in the \"ManoService\".\nNOTE:\tAt least one of these attributes shall be provided if requesting a modification of the NFV-MANO service identified by \"id\".\n" + type: string + required: + - id + required: true + responses: + '200': + description: > + 200 OK + + Shall be returned when the modification of configuration on the + NFV-MANO functional entity has been accepted and completed. + 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 + content: + application/json: + schema: + description: > + This type represents attribute modifications that were + performed on the "NFV-MANO entity" resource of the producer + NFV-MANO functional entity. The attributes that can be + included consist of those requested to be modified explicitly + in the "ManoConfigModificationRequest" data structure. + type: object + properties: + name: + description: > + If present, this attribute signals modifications of the + "name" attribute in "ManoEntity", as defined in clause + 5.6.2.3 + type: string + description: + description: > + If present, this attribute signals modifications of the + "description" attribute in "ManoEntity", as defined in + clause 5.6.2.3. + type: string + clockSyncs: + description: > + If present, this attribute signals modifications of the + "clockSyncs" attribute in "ManoEntityConfigurableParams", + as defined in clause 5.6.2.3. + type: array + items: + description: > + This type represents parameters for connecting to an NTP + server. + type: object + properties: + id: + description: > + An identifier with the intention of being globally + unique. + type: string + type: + description: | + Type of clock synchronization. + Permitted values: + - NTP: For Network Time Protocol (NTP) based clock synchronization. + - OTHER: For other types of clock synchronization. + type: string + enum: + - NTP + - OTHER + ntpServerInfo: + description: > + Information for the NTP based clock + synchronization. Shall be present if type = "NTP". + type: object + properties: + ipAddress: + description: > + An IPV4 or IPV6 address. Representation: In case + of an IPV4 address, string that consists of four + decimal integers separated by dots, each integer + ranging from 0 to 255. In case of an IPV6 + address, string that consists of groups of zero + to four hexadecimal digits, separated by colons. + type: string + format: IP + hostname: + description: "Indicates the hostname of the NTP server. \nNOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n" + type: string + otherClockSyncParams: + description: > + This type represents a list of key-value pairs. The + order of the pairs in the list is not significant. + In JSON, a set of keyvalue pairs is represented as + an object. It shall comply with the provisions + defined in clause 4 of IETF RFC 8259. In the + following example, a list of key-value pairs with + four keys ("aString", "aNumber", "anArray" and + "anObject") is provided to illustrate that the + values associated with different keys can be of + different type. + type: object + required: + - id + - type + clockSyncsDeleteIds: + description: > + If present, this attribute signals modifications of + certain entries in "clockSyncs" attribute in + "ManoEntityConfigurableParams", as defined in clause + 5.6.2.3. + type: array + items: + description: > + An identifier with the intention of being globally + unique. + type: string + defaultLogCompileBySizeValue: + description: | + Unsigned integer + type: number + defaultLogCompileByTimerValue: + description: | + Unsigned integer + type: number + manoServiceModifications: + description: > + If present, this attribute signals modifications of the + "manoServices" attribute array in the "ManoEntity", as + defined in clause 5.6.2.3. + type: array + items: + type: object + properties: + id: + 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 + name: + description: > + If present, this attribute signals modification of + the "name" attribute in the "ManoService". + type: string + description: + description: > + If present, this attribute signals modification of + the "description" attribute in the "ManoService". + type: string + required: + - id + '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 + '409': + description: > + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be + executed currently, due to a conflict with the state of the + "NFV-MANO entity" resource. + + Typically, this is due to the fact that another configuration and + information modification is ongoing. + + The response body shall contain a ProblemDetails structure, in + which the "detail" attribute should convey more information about + the error. + headers: + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + 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 + '412': + description: > + 412 PRECONDITION FAILED + + Shall be returned upon the following error: A precondition given in + an HTTP request header is not fulfilled. + + Typically, this is due to an ETag mismatch, indicating that the + resource was modified by another entity. + + The response body should contain a ProblemDetails structure, in + which the "detail" attribute should convey more information about + the error + headers: + WWW-Authenticate: + description: > + Challenge if the 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 + '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 + /mano_entity/change_state: + post: + description: > + Requests to change the state of the NFV-MANO functional entity + application. + + This method shall follow the provisions specified in the tables + 5.5.7.3.1-1 and 5.5.7.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: Authorization + description: | + The authorization token for the request. Reference: IETF RFC 7235. + in: header + required: false + schema: + type: string + requestBody: + description: > + Parameters for the change state operation, as defined in clause + 5.6.2.8. + content: + application/json: + schema: + description: > + This type represents request parameters for changing the state + of a managed entity. + type: object + properties: + operationalStateChange: + description: "A change of operational state. Shall be present if the state change request refers to the operational state. NOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" + type: object + properties: + operationalStateAction: + description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" + type: string + enum: + - START + - STOP + - RESTART + stopType: + description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions:\n - GRACEFUL\tTo stop the managed entity immediately after accepting the request.\n - FORCEFUL\tTo stop the managed entity attempting to gracefully discharge the entity from service.\n" + type: string + enum: + - GRACEFUL + - FORCEFUL + gracefulStopTimeout: + description: "The time internal (in seconds) to wait for the entity to be taken out of service during graceful stop. \nNOTE:\tThe \"stopType\" shall only be provided when the \"operationalStateAction\" attribute is equal to \"STOP\" or \"RESTART\". The \"gracefulStopTimeout\" shall be absent when the \"stopType\" attribute is equal to \"FORCEFUL\", and may be provided otherwise.\n" + type: integer + required: + - operationalStateAction + administrativeStateChange: + description: "A change of administrative state. Shall be present if the state change request refers to the administrative state. \nNOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" + type: object + properties: + administrativeStateAction: + description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" + type: string + enum: + - LOCK + - UNLOCK + required: + - administrativeStateAction + required: true + responses: + '202': + description: > + 202 ACCEPTED + + Shall be returned when the request has been accepted for processing. + + The response body shall be empty. + + The HTTP response shall include a "Location" HTTP header that + contains the URI of the newly-created "Individual change state + operation occurrence" resource corresponding to the operation. + 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 + Location: + description: > + The resource URI of the created "Individual change state + operation occurence" resource. + schema: + type: string + format: url + minimum: 1 + maximum: 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 + '409': + description: > + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be + executed currently, due to a conflict with the state of the + resource. + + Typically, this is due to the fact that the resource is in an + incompatible state, or that another change state operation is + ongoing. + + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute shall convey more information about the + error. + headers: + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + 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 + '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 + /mano_entity/mano_interfaces: + get: + description: > + Queries information about multiple NFV-MANO service interfaces of the + NFV-MANO functional entity. This method shall follow the provisions + specified in the tables 5.5.10.3.2-1 and 5.5.10.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 ManoServiceInterface and in + data types referenced from it shall be supported by the NFV-MANO + functional entity in the 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 + 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. + + The following attributes shall be excluded from the + ManoServiceInterface structure in the response body if this + parameter is provided, or none of the parameters "all_fields," + "fields", "exclude_fields", "exclude_default" are provided: - none + 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: > + 200 OK + + Shall be returned when information about zero or more NFV-MANO + service interfaces has been queried successfully. + + The response body shall contain in an array the representations of + zero or more NFV-MANO service interfaces, as defined in clause + 5.6.2.11. + + 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 N°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: + WWW-Authenticate: + description: > + Challenge if the 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 + Link: + description: > + Reference to other resources. Link HTTP header in this response + shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL + 013. + schema: + type: string + minimum: 0 + maximum: 1 + content: + application/json: + schema: + type: array + items: + description: > + This type represents an individual NFV-MANO service + interface produced by an NFV-MANO functional entity. + type: object + properties: + id: + 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 + name: + description: > + Human-readable name of the NFV-MANO functional entity + interface. + + This attribute can be modified with the PATCH method. + type: string + type: + description: > + Type of the NFV-MANO service interface produced by the + NFV-MANO functional entity. Valid values are defined in + clause 5.6.4.3. + type: string + standardVersion: + description: | + A version. + type: string + providerSpecificApiVersion: + description: | + A version. + type: string + apiVersion: + description: | + A version. + type: string + apiEndpoint: + description: | + Exposed API endpoint of the interface. + type: object + properties: + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiName: + description: > + Indicates the interface name in an abbreviated form. + Shall be present for ETSI NFV specified RESTful + NFV-MANO APIs. The {apiName} of each interface is + defined in the standard the interface is compliant + to (see also clause 4.1 of ETSI GS NFV-SOL 013). + May be present otherwise. + type: string + apiMajorVersion: + description: > + Indicates the current major version of the API. + Shall be present for ETSI NFV specified RESTful + NFV-MANO APIs. The major version is defined in the + standard the interface is compliant to (see also + clause 4.1 of ETSI GS NFV-SOL 013). May be present + otherwise. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - apiUri + maxConcurrentIntOpNumber: + description: "Maximum number of concurrent operation requests supported on this interface. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" + type: integer + supportedOperations: + description: > + Information about supported operations of this + interface. + type: array + items: + type: object + properties: + operationName: + description: | + Name of the operation supported on the interface. + type: string + maxConcurrentOpNumber: + description: "Maximum number of concurrent requests supported by the interface operation. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" + type: integer + required: + - operationName + minItems: 1 + interfaceState: + description: | + State of the NFV-MANO service interface. + properties: + operationalState: + description: "The enumeration InterfaceOperationalStateEnumType defines values representing the operational state of an NFV-MANO service interface type of managed entity. The InterfaceOperationalStateEnumType shall comply with the provisions :\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + usageState: + description: "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n" + type: string + enum: + - IN_USE + - NOT_IN_USE + required: + - operationalState + - administrativeState + - usageState + securityInfo: + description: > + This type represents security related information of an + NFV-MANO service interface produced by an NFV-MANO + functional entity. + type: object + properties: + authType: + description: > + Type of API request authorization to be used by the + API producer. + + The support of authorization methods for the API + producer is specified in clause 8.3.6 of ETSI GS + NFV-SOL 013. + + Permitted values: + - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. + - OAUTH2: Using access token, as defined by the OAuth 2.0 specification + in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + webFingerHost: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - webFingerHost + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + authServerId: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - authServerId + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API producer when performing + the SSL or TLS negotiation with the + authorization server. Valid values of cipher + suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - providedConfiguration + - tlsCipherSuites + tlsTunnelInfo: + description: > + Information and configuration related to the use of + TLS tunnel. Shall be present if authType contains + "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: >- + List of cipher suites that shall be declared as + supported by the API producer when performing + the SSL or TLS negotiation with the API client. + Valid values of cipher suites are defined in + IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - tlsTunnelCipherSuites + required: + - authType + - oauthServerInfo + metadata: + description: > + This type represents a list of key-value pairs. The + order of the pairs in the list is not significant. In + JSON, a set of keyvalue pairs is represented as an + object. It shall comply with the provisions defined in + clause 4 of IETF RFC 8259. In the following example, a + list of key-value pairs with four keys ("aString", + "aNumber", "anArray" and "anObject") is provided to + illustrate that the values associated with different + keys can be of different type. + type: object + required: + - id + - name + - type + - standardVersion + - providerSpecificApiVersion + - apiVersion + - apiEndpoint + - supportedOperations + - interfaceState + '400': + description: | + 400 BAD REQUEST + Shall be returned upon the following errors: + - Invalid attribute-based filtering expression. + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + - Invalid attribute selector. + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + - Response too big. + If the NFV-MANO functional entity supports alternative N°1 (error) + according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, + this error response shall follow the provisions in clause 5.4.2.2 of + ETSI GS NFV-SOL 013. + 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 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + 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 + '/mano_entity/mano_interfaces/{manoServiceInterfaceId}': + parameters: + - name: manoServiceInterfaceId + in: path + description: Identifier of the MANO service interface. + required: true + schema: + description: | + An identifier with the intention of being globally unique. + type: string + get: + description: > + retrieves information about an NFV-MANO service interface of the + producer NFV-MANO functional entity by reading an "Individual NFV-MANO + service interface" resource. + + This method shall follow the provisions specified in the tables + 5.5.11.3.2-1 and 5.5.11.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: > + 200 OK + + Shall be returned when information about an individual NFV-MANO + service interface has been read successfully. + + The response body shall contain a representation of the NFV-MANO + service interface, as defined in clause 5.6.2.11. + 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 + content: + application/json: + schema: + description: > + This type represents an individual NFV-MANO service interface + produced by an NFV-MANO functional entity. + type: object + properties: + id: + 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 + name: + description: > + Human-readable name of the NFV-MANO functional entity + interface. + + This attribute can be modified with the PATCH method. + type: string + type: + description: > + Type of the NFV-MANO service interface produced by the + NFV-MANO functional entity. Valid values are defined in + clause 5.6.4.3. + type: string + standardVersion: + description: | + A version. + type: string + providerSpecificApiVersion: + description: | + A version. + type: string + apiVersion: + description: | + A version. + type: string + apiEndpoint: + description: | + Exposed API endpoint of the interface. + type: object + properties: + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiName: + description: > + Indicates the interface name in an abbreviated form. + Shall be present for ETSI NFV specified RESTful + NFV-MANO APIs. The {apiName} of each interface is + defined in the standard the interface is compliant to + (see also clause 4.1 of ETSI GS NFV-SOL 013). May be + present otherwise. + type: string + apiMajorVersion: + description: > + Indicates the current major version of the API. Shall + be present for ETSI NFV specified RESTful NFV-MANO + APIs. The major version is defined in the standard + the interface is compliant to (see also clause 4.1 of + ETSI GS NFV-SOL 013). May be present otherwise. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - apiUri + maxConcurrentIntOpNumber: + description: "Maximum number of concurrent operation requests supported on this interface. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" + type: integer + supportedOperations: + description: | + Information about supported operations of this interface. + type: array + items: + type: object + properties: + operationName: + description: | + Name of the operation supported on the interface. + type: string + maxConcurrentOpNumber: + description: "Maximum number of concurrent requests supported by the interface operation. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" + type: integer + required: + - operationName + minItems: 1 + interfaceState: + description: | + State of the NFV-MANO service interface. + properties: + operationalState: + description: "The enumeration InterfaceOperationalStateEnumType defines values representing the operational state of an NFV-MANO service interface type of managed entity. The InterfaceOperationalStateEnumType shall comply with the provisions :\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + usageState: + description: "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n" + type: string + enum: + - IN_USE + - NOT_IN_USE + required: + - operationalState + - administrativeState + - usageState + securityInfo: + description: > + This type represents security related information of an + NFV-MANO service interface produced by an NFV-MANO + functional entity. + type: object + properties: + authType: + description: > + Type of API request authorization to be used by the + API producer. + + The support of authorization methods for the API + producer is specified in clause 8.3.6 of ETSI GS + NFV-SOL 013. + + Permitted values: + - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. + - OAUTH2: Using access token, as defined by the OAuth 2.0 specification + in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + webFingerHost: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - webFingerHost + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + authServerId: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - authServerId + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API producer when performing the + SSL or TLS negotiation with the authorization + server. Valid values of cipher suites are defined + in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - providedConfiguration + - tlsCipherSuites + tlsTunnelInfo: + description: > + Information and configuration related to the use of + TLS tunnel. Shall be present if authType contains + "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: >- + List of cipher suites that shall be declared as + supported by the API producer when performing the + SSL or TLS negotiation with the API client. Valid + values of cipher suites are defined in IETF RFC + 8447. + type: array + items: + type: string + minItems: 1 + required: + - tlsTunnelCipherSuites + required: + - authType + - oauthServerInfo + metadata: + description: > + This type represents a list of key-value pairs. The order + of the pairs in the list is not significant. In JSON, a + set of keyvalue pairs is represented as an object. It + shall comply with the provisions defined in clause 4 of + IETF RFC 8259. In the following example, a list of + key-value pairs with four keys ("aString", "aNumber", + "anArray" and "anObject") is provided to illustrate that + the values associated with different keys can be of + different type. + type: object + required: + - id + - name + - type + - standardVersion + - providerSpecificApiVersion + - apiVersion + - apiEndpoint + - supportedOperations + - interfaceState + '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 + patch: + description: > + Modifies an "Individual NFV-MANO service interface" resource. + + Changes to the configurable parameters of the corresponding NFV-MANO + service interface are applied to the information managed by the + producer NFV-MANO functional entity and reflected in the representation + of this resource. + + This method shall follow the provisions specified in the tables + 5.5.11.3.4-1 and 5.5.11.3.4-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 + requestBody: + description: > + Parameters for the modification of configuration parameters of the + NFV-MANO service interface, as defined in clause 5.6.2.12. + + The Content-Type header shall be set to "application/merge-patch+json" + according to IETF RFC 7396. + content: + application/merge-patch+json: + schema: + description: > + This type represents attribute modifications for configuration + parameters of an NFV-MANO service interface of the producer + NFV-MANO functional entity. + type: object + properties: + name: + description: "New value of the \"name\" attribute in \"ManoServiceInterface\". \nNOTE:\tChanging the name does not change the corresponding standardized API name in the resource URI (refer to \"{apiName}\" defined in clause 4.1 of ETSI GS NFV-SOL 013).\n" + type: string + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + securityInfo: + description: > + This type represents security related information of an + NFV-MANO service interface produced by an NFV-MANO + functional entity. + type: object + properties: + authType: + description: > + Type of API request authorization to be used by the API + producer. + + The support of authorization methods for the API + producer is specified in clause 8.3.6 of ETSI GS + NFV-SOL 013. + + Permitted values: + - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. + - OAUTH2: Using access token, as defined by the OAuth 2.0 specification + in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + webFingerHost: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - webFingerHost + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + authServerId: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - authServerId + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API producer when performing the + SSL or TLS negotiation with the authorization + server. Valid values of cipher suites are defined + in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - providedConfiguration + - tlsCipherSuites + tlsTunnelInfo: + description: > + Information and configuration related to the use of TLS + tunnel. Shall be present if authType contains + "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: >- + List of cipher suites that shall be declared as + supported by the API producer when performing the + SSL or TLS negotiation with the API client. Valid + values of cipher suites are defined in IETF RFC + 8447. + type: array + items: + type: string + minItems: 1 + required: + - tlsTunnelCipherSuites + required: + - authType + - oauthServerInfo + metadata: + description: > + This type represents a list of key-value pairs. The order of + the pairs in the list is not significant. In JSON, a set of + keyvalue pairs is represented as an object. It shall comply + with the provisions defined in clause 4 of IETF RFC 8259. In + the following example, a list of key-value pairs with four + keys ("aString", "aNumber", "anArray" and "anObject") is + provided to illustrate that the values associated with + different keys can be of different type. + type: object + required: true + responses: + '200': + description: > + 200 OK + + Shall be returned when the request has been accepted and completed. + + The response body shall contain a representation of the attribute + modifications for the "Individual NFV-MANO service interface" + resource, as defined in clause 5.6.2.13. + 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 + content: + application/json: + schema: + description: > + This type represents attribute modifications that were + performed on an Individual NFV-MANO service interface" + resource. The attributes that can be included consist of + those requested to be modified explicitly in the + "ManoServiceInterfaceModificationRequest" data structure. If + applicable, additional attributes of the + "ManoServiceInterface" data structure that were modified + implicitly shall also be provided. + type: object + properties: + name: + description: > + If present, this attribute signals modifications of the + "name" attribute in "ManoServiceInterface", as defined in + clause 5.6.2.11. + type: string + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + securityInfo: + description: > + This type represents security related information of an + NFV-MANO service interface produced by an NFV-MANO + functional entity. + type: object + properties: + authType: + description: > + Type of API request authorization to be used by the + API producer. + + The support of authorization methods for the API + producer is specified in clause 8.3.6 of ETSI GS + NFV-SOL 013. + + Permitted values: + - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. + - OAUTH2: Using access token, as defined by the OAuth 2.0 specification + in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + webFingerHost: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - webFingerHost + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + authServerId: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - authServerId + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API producer when performing the + SSL or TLS negotiation with the authorization + server. Valid values of cipher suites are defined + in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - providedConfiguration + - tlsCipherSuites + tlsTunnelInfo: + description: > + Information and configuration related to the use of + TLS tunnel. Shall be present if authType contains + "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: >- + List of cipher suites that shall be declared as + supported by the API producer when performing the + SSL or TLS negotiation with the API client. Valid + values of cipher suites are defined in IETF RFC + 8447. + type: array + items: + type: string + minItems: 1 + required: + - tlsTunnelCipherSuites + required: + - authType + - oauthServerInfo + metadata: + description: > + This type represents a list of key-value pairs. The order + of the pairs in the list is not significant. In JSON, a + set of keyvalue pairs is represented as an object. It + shall comply with the provisions defined in clause 4 of + IETF RFC 8259. In the following example, a list of + key-value pairs with four keys ("aString", "aNumber", + "anArray" and "anObject") is provided to illustrate that + the values associated with different keys can be of + different type. + type: object + '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 + '409': + description: > + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be + executed currently, due to a conflict with the state of the + "Individual NFV-MANO service interface" resource. + + Typically, this is due to the fact that another operation is + ongoing. + + The response body shall contain a ProblemDetails structure, in + which the "detail" attribute should convey more information about + the error. + headers: + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + 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 + '412': + description: > + 412 PRECONDITION FAILED + + Shall be returned upon the following error: A precondition given in + an HTTP request header is not fulfilled. + + Typically, this is due to an ETag mismatch, indicating that the + resource was modified by another entity. + + The response body should contain a ProblemDetails structure, in + which the "detail" attribute should convey more information about + the error. + headers: + WWW-Authenticate: + description: > + Challenge if the 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 + '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 + '/mano_entity/mano_interfaces/{manoServiceInterfaceId}/change_state': + parameters: + - name: manoServiceInterfaceId + in: path + description: Identifier of the MANO service interface. + required: true + schema: + description: | + An identifier with the intention of being globally unique. + type: string + post: + description: > + Requests to change the state of the NFV-MANO service interface produced + by the NFV-MANO functional entity. + + This method shall follow the provisions specified in the tables + 5.5.12.3.1-1 and 5.5.12.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: Authorization + description: | + The authorization token for the request. Reference: IETF RFC 7235. + in: header + required: false + schema: + type: string + requestBody: + description: > + Parameters for the change state operation, as defined in clause + 5.6.2.8. + content: + application/json: + schema: + description: > + This type represents request parameters for changing the state + of a managed entity. + type: object + properties: + operationalStateChange: + description: "A change of operational state. Shall be present if the state change request refers to the operational state. NOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" + type: object + properties: + operationalStateAction: + description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" + type: string + enum: + - START + - STOP + - RESTART + stopType: + description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions:\n - GRACEFUL\tTo stop the managed entity immediately after accepting the request.\n - FORCEFUL\tTo stop the managed entity attempting to gracefully discharge the entity from service.\n" + type: string + enum: + - GRACEFUL + - FORCEFUL + gracefulStopTimeout: + description: "The time internal (in seconds) to wait for the entity to be taken out of service during graceful stop. \nNOTE:\tThe \"stopType\" shall only be provided when the \"operationalStateAction\" attribute is equal to \"STOP\" or \"RESTART\". The \"gracefulStopTimeout\" shall be absent when the \"stopType\" attribute is equal to \"FORCEFUL\", and may be provided otherwise.\n" + type: integer + required: + - operationalStateAction + administrativeStateChange: + description: "A change of administrative state. Shall be present if the state change request refers to the administrative state. \nNOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" + type: object + properties: + administrativeStateAction: + description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" + type: string + enum: + - LOCK + - UNLOCK + required: + - administrativeStateAction + required: true + responses: + '202': + description: > + 202 ACCEPTED + + Shall be returned when the request has been accepted for + processing. + + The response body shall be empty. + + The HTTP response shall include a “Location” HTTP header that + contains the URI of the newly-created "Individual change state + operation occurrence" resource corresponding to the operation. + 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 + Location: + description: > + The resource URI of the created "Individual change state + operation occurence" resource. + schema: + type: string + format: url + minimum: 1 + maximum: 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 + '409': + description: > + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be + executed currently, due to a conflict with the state of the + resource. + + Typically, this is due to the fact that the resource is in an + incompatible state, or that another change state operation is + ongoing. + + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute shall convey more information about the + error. + headers: + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + 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 + '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 + /subscriptions: + post: + description: > + Creates a new subscription. + + This method shall follow the provisions specified in the tables + 5.5.4.3.1-1 and 5.5.4.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: 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, as defined in clause + 5.6.2.5-1. + content: + application/json: + schema: + description: > + This type represents a subscription request related to + notifications about NFV-MANO configuration and information + management changes. + type: object + properties: + filter: + description: > + This type represents a subscription filter related to + notifications about NFV-MANO configuration and information + management. + type: object + properties: + manoEntitySubscriptionFilter: + description: > + This type represents subscription filter criteria to + match NFV-MANO functional entities and their associated + managed objects. + type: object + properties: + manoEntityId: + description: > + An identifier with the intention of being globally + unique. + type: string + manoServiceIds: + description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" + 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. + + The attributes "manoServiceIds" and + "manoServiceNames" are alternatives to reference to + NFV-MANO services in a filter. They should not be + used together in the same filter instance, but one + alternative should be chosen. + type: array + items: + type: string + manoServiceInterfaceIds: + description: > + If present, match NFV-MANO functional entity + produced interfaces with an instance identifier + listed in this attribute. + + The attributes "manoServiceInterfaceIds" and + "manoServiceInterfaceNames" are alternatives to + reference to NFV-MANO functional entity produced + interfaces in a filter. They should not be used both + in the same filter instance, but one alternative + should be chosen. + type: array + items: + description: > + An identifier 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. + + The attributes "manoServiceInterfaceIds" and + "manoServiceInterfaceNames" are alternatives to + reference to NFV-MANO functional entity produced + interfaces in a filter. They should not be used both + in the same filter instance, but one alternative + should be chosen. + type: array + items: + type: string + consumedManoInterfaceIds: + description: > + If present, match NFV-MANO functional entity + consumed interfaces with an instance identifier + listed in this attribute. + + The attributes "consumedManoInterfaceIds" and + "consumedManoInterfaceNames" are alternatives to + reference to NFV-MANO functional entity consumed + interfaces in a filter. They should not be used both + in the same filter instance, but one alternative + should be chosen. + type: array + items: + description: > + An identifier with the intention of being globally + unique. + type: string + consumedManoInterfaceNames: + description: > + If present, match NFV-MANO functional entity + consumed interfaces with an instance Name listed in + this attribute. + + The attributes "consumedManoInterfaceIds" and + "consumedManoInterfaceNames" are alternatives to + reference to NFV-MANO functional entity consumed + interfaces in a filter. They should not be used both + in the same filter instance, but one alternative + should be chosen. + type: array + items: + type: string + notificationTypes: + description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" + type: array + items: + type: string + enum: + - InformationChangedNotification + - ChangeStateNotification + 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 + required: + - callbackUri + required: true + responses: + '201': + description: > + 201 CREATED + + Shall be returned when the subscription has been created + successfully. + + The response body shall contain a representation of the created + "Individual subscription" resource. + + The HTTP response shall include a "Location" HTTP header that + points to the created "Individual subscription" resource. + headers: + WWW-Authenticate: + description: > + Challenge if the 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 resource URI of the created "Individual subscription" + resource. + schema: + type: string + format: url + minimum: 1 + maximum: 1 + content: + application/json: + schema: + description: > + This type represents a subscription related to notifications + about NFV-MANO configuration and information management + changes + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + filter: + description: > + This type represents a subscription filter related to + notifications about NFV-MANO configuration and + information management. + type: object + properties: + manoEntitySubscriptionFilter: + description: > + This type represents subscription filter criteria to + match NFV-MANO functional entities and their + associated managed objects. + type: object + properties: + manoEntityId: + description: > + An identifier with the intention of being globally + unique. + type: string + manoServiceIds: + description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" + 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. + + The attributes "manoServiceIds" and + "manoServiceNames" are alternatives to reference + to NFV-MANO services in a filter. They should not + be used together in the same filter instance, but + one alternative should be chosen. + type: array + items: + type: string + manoServiceInterfaceIds: + description: > + If present, match NFV-MANO functional entity + produced interfaces with an instance identifier + listed in this attribute. + + The attributes "manoServiceInterfaceIds" and + "manoServiceInterfaceNames" are alternatives to + reference to NFV-MANO functional entity produced + interfaces in a filter. They should not be used + both in the same filter instance, but one + alternative should be chosen. + type: array + items: + description: > + An identifier 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. + + The attributes "manoServiceInterfaceIds" and + "manoServiceInterfaceNames" are alternatives to + reference to NFV-MANO functional entity produced + interfaces in a filter. They should not be used + both in the same filter instance, but one + alternative should be chosen. + type: array + items: + type: string + consumedManoInterfaceIds: + description: > + If present, match NFV-MANO functional entity + consumed interfaces with an instance identifier + listed in this attribute. + + The attributes "consumedManoInterfaceIds" and + "consumedManoInterfaceNames" are alternatives to + reference to NFV-MANO functional entity consumed + interfaces in a filter. They should not be used + both in the same filter instance, but one + alternative should be chosen. + type: array + items: + description: > + An identifier with the intention of being + globally unique. + type: string + consumedManoInterfaceNames: + description: > + If present, match NFV-MANO functional entity + consumed interfaces with an instance Name listed + in this attribute. + + The attributes "consumedManoInterfaceIds" and + "consumedManoInterfaceNames" are alternatives to + reference to NFV-MANO functional entity consumed + interfaces in a filter. They should not be used + both in the same filter instance, but one + alternative should be chosen. + type: array + items: + type: string + notificationTypes: + description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" + type: array + items: + type: string + enum: + - InformationChangedNotification + - ChangeStateNotification + callbackUri: + description: | + String formatted according to IETF RFC 3986. + type: string + _links: + description: | + Links to resources related to this resource. + type: object + 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 + required: + - self + required: + - id + - callbackUri + - _links + '303': + description: > + 303 SEE OTHER + + SShall be returned when a subscription with the same callbackURI + and the same filter already exists and the policy of 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: + WWW-Authenticate: + description: > + Challenge if the 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 resource URI of the created "Individual subscription" + resource. + schema: + type: string + format: url + minimum: 1 + maximum: 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 + '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: > + queries the list of active subscriptions of the API consumer that + invokes the method. It can be used, e.g., for resynchronization after + error situations. + + This method shall follow the provisions specified in the tables + 5.5.4.3.2-1 and 5.5.4.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 CimSubscription and in data + types referenced from it shall be supported by the NFV-MANO + functional entity in the 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: > + 200 OK + + 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 NFV-MANO + configuration and information management subscriptions as defined + in clause 5.6.2.6. + + 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 N°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: + WWW-Authenticate: + description: > + Challenge if the 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 + Link: + description: > + Reference to other resources. Link HTTP header in this response + shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL + 013. + schema: + type: string + minimum: 0 + maximum: 1 + content: + application/json: + schema: + type: array + items: + description: > + This type represents a subscription related to notifications + about NFV-MANO configuration and information management + changes + type: object + properties: + id: + description: > + An identifier with the intention of being globally + unique. + type: string + filter: + description: > + This type represents a subscription filter related to + notifications about NFV-MANO configuration and + information management. + type: object + properties: + manoEntitySubscriptionFilter: + description: > + This type represents subscription filter criteria to + match NFV-MANO functional entities and their + associated managed objects. + type: object + properties: + manoEntityId: + description: > + An identifier with the intention of being + globally unique. + type: string + manoServiceIds: + description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" + 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. + + The attributes "manoServiceIds" and + "manoServiceNames" are alternatives to + reference to NFV-MANO services in a filter. They + should not be used together in the same filter + instance, but one alternative should be chosen. + type: array + items: + type: string + manoServiceInterfaceIds: + description: > + If present, match NFV-MANO functional entity + produced interfaces with an instance identifier + listed in this attribute. + + The attributes "manoServiceInterfaceIds" and + "manoServiceInterfaceNames" are alternatives to + reference to NFV-MANO functional entity + produced interfaces in a filter. They should + not be used both in the same filter instance, + but one alternative should be chosen. + type: array + items: + description: > + An identifier 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. + + The attributes "manoServiceInterfaceIds" and + "manoServiceInterfaceNames" are alternatives to + reference to NFV-MANO functional entity + produced interfaces in a filter. They should + not be used both in the same filter instance, + but one alternative should be chosen. + type: array + items: + type: string + consumedManoInterfaceIds: + description: > + If present, match NFV-MANO functional entity + consumed interfaces with an instance identifier + listed in this attribute. + + The attributes "consumedManoInterfaceIds" and + "consumedManoInterfaceNames" are alternatives + to reference to NFV-MANO functional entity + consumed interfaces in a filter. They should + not be used both in the same filter instance, + but one alternative should be chosen. + type: array + items: + description: > + An identifier with the intention of being + globally unique. + type: string + consumedManoInterfaceNames: + description: > + If present, match NFV-MANO functional entity + consumed interfaces with an instance Name + listed in this attribute. + + The attributes "consumedManoInterfaceIds" and + "consumedManoInterfaceNames" are alternatives + to reference to NFV-MANO functional entity + consumed interfaces in a filter. They should + not be used both in the same filter instance, + but one alternative should be chosen. + type: array + items: + type: string + notificationTypes: + description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" + type: array + items: + type: string + enum: + - InformationChangedNotification + - ChangeStateNotification + callbackUri: + description: | + String formatted according to IETF RFC 3986. + type: string + _links: + description: | + Links to resources related to this resource. + type: object + 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 + required: + - self + required: + - id + - callbackUri + - _links + '400': + description: | + 400 BAD REQUEST + Shall be returned upon the following errors: + - Invalid attribute-based filtering expression. + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + - Response too big. + If the NFV-MANO functional entity supports alternative N°1 (error) + according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, + this error response shall follow the provisions in clause 5.4.2.2 of + ETSI GS NFV-SOL 013. + 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 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + 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 + '/subscriptions/{subscriptionId}': + 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: > + Retrieves information about a subscription by reading an "Individual + subscription" resource. + + This method shall follow the provisions specified in the tables + 5.5.5.3.2-1 and 5.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: > + 200 OK + + Shall be returned when information about an individual subscription + has been read successfully. + + The response body shall contain a representation of the "Individual + subscription" resource. + 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 + content: + application/json: + schema: + description: > + This type represents a subscription related to notifications + about NFV-MANO configuration and information management + changes + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + filter: + description: > + This type represents a subscription filter related to + notifications about NFV-MANO configuration and + information management. + type: object + properties: + manoEntitySubscriptionFilter: + description: > + This type represents subscription filter criteria to + match NFV-MANO functional entities and their + associated managed objects. + type: object + properties: + manoEntityId: + description: > + An identifier with the intention of being globally + unique. + type: string + manoServiceIds: + description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" + 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. + + The attributes "manoServiceIds" and + "manoServiceNames" are alternatives to reference + to NFV-MANO services in a filter. They should not + be used together in the same filter instance, but + one alternative should be chosen. + type: array + items: + type: string + manoServiceInterfaceIds: + description: > + If present, match NFV-MANO functional entity + produced interfaces with an instance identifier + listed in this attribute. + + The attributes "manoServiceInterfaceIds" and + "manoServiceInterfaceNames" are alternatives to + reference to NFV-MANO functional entity produced + interfaces in a filter. They should not be used + both in the same filter instance, but one + alternative should be chosen. + type: array + items: + description: > + An identifier 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. + + The attributes "manoServiceInterfaceIds" and + "manoServiceInterfaceNames" are alternatives to + reference to NFV-MANO functional entity produced + interfaces in a filter. They should not be used + both in the same filter instance, but one + alternative should be chosen. + type: array + items: + type: string + consumedManoInterfaceIds: + description: > + If present, match NFV-MANO functional entity + consumed interfaces with an instance identifier + listed in this attribute. + + The attributes "consumedManoInterfaceIds" and + "consumedManoInterfaceNames" are alternatives to + reference to NFV-MANO functional entity consumed + interfaces in a filter. They should not be used + both in the same filter instance, but one + alternative should be chosen. + type: array + items: + description: > + An identifier with the intention of being + globally unique. + type: string + consumedManoInterfaceNames: + description: > + If present, match NFV-MANO functional entity + consumed interfaces with an instance Name listed + in this attribute. + + The attributes "consumedManoInterfaceIds" and + "consumedManoInterfaceNames" are alternatives to + reference to NFV-MANO functional entity consumed + interfaces in a filter. They should not be used + both in the same filter instance, but one + alternative should be chosen. + type: array + items: + type: string + notificationTypes: + description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" + type: array + items: + type: string + enum: + - InformationChangedNotification + - ChangeStateNotification + callbackUri: + description: | + String formatted according to IETF RFC 3986. + type: string + _links: + description: | + Links to resources related to this resource. + type: object + 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 + required: + - self + required: + - id + - callbackUri + - _links + '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: > + Terminates an individual subscription. + + This method shall follow the provisions specified in the tables + 5.5.5.3.5-1 and 5.5.5.3.5-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: > + 204 NO CONTENT + + Shall be returned when the "Individual subscription" resource 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 + /change_state_ops: + get: + description: > + The API consumer can use the GET method to query status information + about multiple change state operation occurrences. + + This method shall follow the provisions specified in the tables + 5.5.8.3.2-1 and 5.5.8.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 ChangeStateOpOcc and in data + types referenced from it shall be supported by the NFV-MANO + functional entity in the 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 + 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. + + The following attributes shall be excluded from the + ChangeStateOpOcc structure in the response body if this parameter + is provided, or none of the parameters "all_fields," "fields", + "exclude_fields", "exclude_default" are provided: - none + 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: > + 200 OK + + Shall be returned when status information for zero or more "change + state operation occurrences" has been queried successfully. + + The response body shall contain in an array the status information + about zero or more "Individual change state operation occurrences", + as defined in clause 5.6.2.9. + + 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 N°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: + WWW-Authenticate: + description: > + Challenge if the 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 + Link: + description: > + Reference to other resources. Link HTTP header in this response + shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL + 013. + schema: + type: string + minimum: 0 + maximum: 1 + content: + application/json: + schema: + type: array + items: + description: | + This type represents a Change state operation occurrence. + type: object + properties: + id: + description: > + An identifier with the intention of being globally + unique. + type: string + operationState: + description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n" + type: string + enum: + - PROCESSING + - COMPLETED + - FAILED + stateEnteredTime: + description: > + Date-time stamp. Representation: String formatted + according to IETF RFC 3339. + type: string + format: date-time + startTime: + description: > + Date-time stamp. Representation: String formatted + according to IETF RFC 3339. + type: string + format: date-time + managedObjectRef: + 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 + changeOperationalStateRequest: + description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" + type: string + enum: + - START + - STOP + - RESTART + changeAdministrativeStateRequest: + description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" + type: string + enum: + - LOCK + - UNLOCK + operationParams: + description: > + Input parameters of the change state operation. This + attribute shall be formatted according to the request + data type of the related change state operation. + + The following mapping between operationType and the data + type of this attribute shall apply: + - CHANGE_STATE: ChangeStateRequest + + This attribute shall be present if this data type is + returned in a response to reading an individual + resource, and may be present according to the chosen + attribute selector parameter if this data type is + returned in a response to a query of a container + resource. + required: + - id + - operationState + - stateEnteredTime + - startTime + - managedObjectRef + '400': + description: | + 400 BAD REQUEST + Shall be returned upon the following errors: + - Invalid attribute-based filtering expression. + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + - Invalid attribute selector. + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + - Response too big. + If the NFV-MANO functional entity supports alternative N°1 (error) + according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, + this error response shall follow the provisions in clause 5.4.2.2 of + ETSI GS NFV-SOL 013. + 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 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + 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 + '/change_state_ops/{changeStateOpOccId}': + parameters: + - name: changeStateOpOccId + in: path + description: Identifier of the change state operation occurrence + required: true + schema: + description: | + An identifier with the intention of being globally unique. + type: string + get: + description: > + The API consumer can use the GET method to retrieve status information + about a change state operation occurrence by reading an "Individual + change state operation occurrence" resource. + + This method shall follow the provisions specified in the tables + 5.5.9.3.2-1 and 5.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: + '200': + description: > + 200 OK + + Shall be returned when information about an "Individual change + state operation occurrence" resource has been read successfully. + + The response body shall contain status information about a change + state operation occurrence, as defined in clause 5.6.2.9. + 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 + content: + application/json: + schema: + description: | + This type represents a Change state operation occurrence. + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + operationState: + description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n" + type: string + enum: + - PROCESSING + - COMPLETED + - FAILED + stateEnteredTime: + description: > + Date-time stamp. Representation: String formatted + according to IETF RFC 3339. + type: string + format: date-time + startTime: + description: > + Date-time stamp. Representation: String formatted + according to IETF RFC 3339. + type: string + format: date-time + managedObjectRef: + 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 + changeOperationalStateRequest: + description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" + type: string + enum: + - START + - STOP + - RESTART + changeAdministrativeStateRequest: + description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" + type: string + enum: + - LOCK + - UNLOCK + operationParams: + description: > + Input parameters of the change state operation. This + attribute shall be formatted according to the request + data type of the related change state operation. + + The following mapping between operationType and the data + type of this attribute shall apply: + - CHANGE_STATE: ChangeStateRequest + + This attribute shall be present if this data type is + returned in a response to reading an individual resource, + and may be present according to the chosen attribute + selector parameter if this data type is returned in a + response to a query of a container resource. + required: + - id + - operationState + - stateEnteredTime + - startTime + - managedObjectRef + '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 + /peer_entities: + post: + description: > + Creates in the producer NFV-MANO functional entity a new peer entity + resource which contains configuration and information with regards to + the peer functional entity. + + This method shall follow the provisions specified in the tables + 5.5.13.3.1-1 and 5.5.13.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: Authorization + description: | + The authorization token for the request. Reference: IETF RFC 7235. + in: header + required: false + schema: + type: string + requestBody: + description: | + The peer entity creation parameters, as defined in clause 5.6.2.14. + content: + application/json: + schema: + description: > + This type represents request parameters for the creation of a + new peer entity resource. + type: object + properties: + peerEntityId: + description: | + An identifier with the intention of being globally unique. + type: string + name: + description: | + Human-readable name of the peer functional entity. + type: string + type: + description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" + type: string + enum: + - NFVO + - VNFM + - VIM + - WIM + - EM + - OSS + description: + description: | + Human-readable description of the peer functional entity. + type: string + consumedManoInterfaces: + description: > + Information of the interface consumed by the NFV-MANO + functional entity from the peer functional entity. + type: array + items: + description: > + This type represents an interface consumed by the producer + NFV MANO functional entity from another peer functional + entity. + type: object + properties: + id: + description: > + An identifier with the intention of being globally + unique. + type: string + name: + description: | + Human-readable name of the NFV-MANO interface. + type: string + type: + description: > + Type of the NFV-MANO service interface consumed by the + NFV-MANO functional entity. Valid values are defined + in clause 5.6.4.3. + type: string + standardVersion: + description: | + A version. + type: string + apiVersion: + description: | + A version. + type: string + apiEndpoint: + description: > + Consumable API endpoint of the interface. It provides + the information relevant about the protocol, host and + port, and path where the interface API can be + accessed. + type: object + properties: + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiName: + description: > + Indicates the interface name in an abbreviated + form. Shall be present for ETSI NFV specified + RESTful NFV-MANO APIs. The {apiName} of each + interface is defined in the standard the interface + is compliant to (see also clause 4.1 of ETSI GS + NFV-SOL 013). May be present otherwise. + type: string + apiMajorVersion: + description: > + Indicates the current major version of the API. + Shall be present for ETSI NFV specified RESTful + NFV-MANO APIs. The major version is defined in + the standard the interface is compliant to (see + also clause 4.1 of ETSI GS NFV-SOL 013). May be + present otherwise. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - apiUri + securityInfo: + description: > + This type represents security related information for + accessing an NFV-MANO service interface produced by + an NFV-MANO functional entity. + type: object + required: + - authType + - oauthServerInfo + properties: + authType: + description: > + Type of API request authorization to be used by + the API consumer accessing the API. + + The support of authorization methods for the API + consumer is specified in clause 8.3.6 of ETSI GS + NFV-SOL 013. + + Permitted values: - TLS_TUNNEL: Using TLS tunnel, + as defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: + Using access token, as defined by the OAuth 2.0 + specification in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - webFingerHost + properties: + webFingerHost: + description: > + Server where the WebFinger service is + hosted. When used, the request to the + WebFinger resource shall conform as + specified in clause 5.1.3 of ETSI GS + NFV-SEC 022. + type: string + format: uri + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - authServerId + properties: + authServerId: + description: > + Authorization server identifier as defined + in ETSI GS NFV-SEC 022. + type: string + format: uri + tlsCipherSuites: + description: > + List of cipher suites that shall be declared + as supported by the API consumer when + performing the SSL or TLS negotiation with the + authorization server. Valid values of cipher + suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + tlsTunnelInfo: + description: > + Information and configuration related to the use + of TLS tunnel. Shall be present if authType + contains "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: > + List of cipher suites that shall be declared + as supported by the API consumer when + performing the SSL or TLS negotiation with the + API producer. Valid values of cipher suites + are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - id + - name + - type + - standardVersion + - apiVersion + - apiEndpoint + peerEntityState: + description: | + Current values of the state of the peer functional entity. + type: object + properties: + operationalState: + description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + - RESTARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + required: + - operationalState + - administrativeState + required: + - peerEntityId + - name + - type + required: true + responses: + '201': + description: > + 201 CREATED + + Shall be returned when a new "Individual peer entity" resource has + been created successfully. + + The response body shall contain a representation of the created + resource with regards to a peer entity, as defined in clause + 5.6.2.15. + + The HTTP response shall include a “Location” HTTP header that + points to the created "Individual peer entity" resource. + 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 + Location: + description: > + The resource URI of the created "Individual peer entity" + resource. + schema: + type: string + format: url + minimum: 1 + maximum: 1 + content: + application/json: + schema: + description: | + This type represents an individual peer entity. + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + peerEntityId: + description: | + An identifier with the intention of being globally unique. + type: string + name: + description: | + Human-readable name of the peer functional entity. + This attribute can be modified with the PATCH method. + type: string + type: + description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" + type: string + enum: + - NFVO + - VNFM + - VIM + - WIM + - EM + - OSS + description: + description: | + Human-readable description of the peer functional entity. + This attribute can be modified with the PATCH method. + type: string + consumedManoInterfaces: + description: > + Information of the interface consumed by the NFV-MANO + functional entity from the peer functional entity. + + This attribute can be modified with the PATCH method. + type: array + items: + description: > + This type represents an interface consumed by the + producer NFV MANO functional entity from another peer + functional entity. + type: object + properties: + id: + description: > + An identifier with the intention of being globally + unique. + type: string + name: + description: | + Human-readable name of the NFV-MANO interface. + type: string + type: + description: > + Type of the NFV-MANO service interface consumed by + the NFV-MANO functional entity. Valid values are + defined in clause 5.6.4.3. + type: string + standardVersion: + description: | + A version. + type: string + apiVersion: + description: | + A version. + type: string + apiEndpoint: + description: > + Consumable API endpoint of the interface. It + provides the information relevant about the + protocol, host and port, and path where the + interface API can be accessed. + type: object + properties: + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiName: + description: > + Indicates the interface name in an abbreviated + form. Shall be present for ETSI NFV specified + RESTful NFV-MANO APIs. The {apiName} of each + interface is defined in the standard the + interface is compliant to (see also clause 4.1 + of ETSI GS NFV-SOL 013). May be present + otherwise. + type: string + apiMajorVersion: + description: > + Indicates the current major version of the API. + Shall be present for ETSI NFV specified RESTful + NFV-MANO APIs. The major version is defined in + the standard the interface is compliant to (see + also clause 4.1 of ETSI GS NFV-SOL 013). May be + present otherwise. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - apiUri + securityInfo: + description: > + This type represents security related information + for accessing an NFV-MANO service interface + produced by an NFV-MANO functional entity. + type: object + required: + - authType + - oauthServerInfo + properties: + authType: + description: > + Type of API request authorization to be used by + the API consumer accessing the API. + + The support of authorization methods for the API + consumer is specified in clause 8.3.6 of ETSI + GS NFV-SOL 013. + + Permitted values: - TLS_TUNNEL: Using TLS + tunnel, as defined by TLS 1.2 in IETF RFC 5246. + - OAUTH2: Using access token, as defined by the + OAuth 2.0 specification in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - webFingerHost + properties: + webFingerHost: + description: > + Server where the WebFinger service is + hosted. When used, the request to the + WebFinger resource shall conform as + specified in clause 5.1.3 of ETSI GS + NFV-SEC 022. + type: string + format: uri + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - authServerId + properties: + authServerId: + description: > + Authorization server identifier as + defined in ETSI GS NFV-SEC 022. + type: string + format: uri + tlsCipherSuites: + description: > + List of cipher suites that shall be declared + as supported by the API consumer when + performing the SSL or TLS negotiation with + the authorization server. Valid values of + cipher suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + tlsTunnelInfo: + description: > + Information and configuration related to the use + of TLS tunnel. Shall be present if authType + contains "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: > + List of cipher suites that shall be declared + as supported by the API consumer when + performing the SSL or TLS negotiation with + the API producer. Valid values of cipher + suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - id + - name + - type + - standardVersion + - apiVersion + - apiEndpoint + peerEntityState: + description: > + State of the peer functional entity as provided by the API + consumer when creating the resource or when updating it + with the PATCH method. + type: object + properties: + operationalState: + description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + - RESTARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + required: + - operationalState + - administrativeState + required: + - id + - peerEntityId + - name + - type + - peerEntityState + '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: > + Queries information and configuration in the producer NFV-MANO + functional entity with regards to multiple peer entities. + + This method shall follow the provisions specified in the tables + 5.5.13.3.2-1 and 5.5.13.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 PeerEntity and in data types + referenced from it shall be supported by the NFV-MANO functional + entity in the 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 + 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. + + The following attributes shall be excluded from the PeerEntity + structure in the response body if this parameter is provided, or + none of the parameters "all_fields," "fields", "exclude_fields", + "exclude_default" are provided: - none + 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: > + 200 OK + + Shall be returned when information about zero or more peer entities + has been queried successfully. + + The response body shall contain in an array the resource + representations of zero or more peer entities, as defined in clause + 5.6.2.15. + + 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 N°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: + WWW-Authenticate: + description: > + Challenge if the 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 + Link: + description: > + Reference to other resources. Link HTTP header in this response + shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL + 013. + schema: + type: string + minimum: 0 + maximum: 1 + content: + application/json: + schema: + type: array + items: + description: | + This type represents an individual peer entity. + type: object + properties: + id: + description: > + An identifier with the intention of being globally + unique. + type: string + peerEntityId: + description: > + An identifier with the intention of being globally + unique. + type: string + name: + description: | + Human-readable name of the peer functional entity. + This attribute can be modified with the PATCH method. + type: string + type: + description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" + type: string + enum: + - NFVO + - VNFM + - VIM + - WIM + - EM + - OSS + description: + description: > + Human-readable description of the peer functional + entity. + + This attribute can be modified with the PATCH method. + type: string + consumedManoInterfaces: + description: > + Information of the interface consumed by the NFV-MANO + functional entity from the peer functional entity. + + This attribute can be modified with the PATCH method. + type: array + items: + description: > + This type represents an interface consumed by the + producer NFV MANO functional entity from another peer + functional entity. + type: object + properties: + id: + description: > + An identifier with the intention of being globally + unique. + type: string + name: + description: | + Human-readable name of the NFV-MANO interface. + type: string + type: + description: > + Type of the NFV-MANO service interface consumed by + the NFV-MANO functional entity. Valid values are + defined in clause 5.6.4.3. + type: string + standardVersion: + description: | + A version. + type: string + apiVersion: + description: | + A version. + type: string + apiEndpoint: + description: > + Consumable API endpoint of the interface. It + provides the information relevant about the + protocol, host and port, and path where the + interface API can be accessed. + type: object + properties: + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiName: + description: > + Indicates the interface name in an abbreviated + form. Shall be present for ETSI NFV specified + RESTful NFV-MANO APIs. The {apiName} of each + interface is defined in the standard the + interface is compliant to (see also clause + 4.1 of ETSI GS NFV-SOL 013). May be present + otherwise. + type: string + apiMajorVersion: + description: > + Indicates the current major version of the + API. Shall be present for ETSI NFV specified + RESTful NFV-MANO APIs. The major version is + defined in the standard the interface is + compliant to (see also clause 4.1 of ETSI GS + NFV-SOL 013). May be present otherwise. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - apiUri + securityInfo: + description: > + This type represents security related information + for accessing an NFV-MANO service interface + produced by an NFV-MANO functional entity. + type: object + required: + - authType + - oauthServerInfo + properties: + authType: + description: > + Type of API request authorization to be used + by the API consumer accessing the API. + + The support of authorization methods for the + API consumer is specified in clause 8.3.6 of + ETSI GS NFV-SOL 013. + + Permitted values: - TLS_TUNNEL: Using TLS + tunnel, as defined by TLS 1.2 in IETF RFC + 5246. - OAUTH2: Using access token, as defined + by the OAuth 2.0 specification in IETF RFC + 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - webFingerHost + properties: + webFingerHost: + description: > + Server where the WebFinger service is + hosted. When used, the request to the + WebFinger resource shall conform as + specified in clause 5.1.3 of ETSI GS + NFV-SEC 022. + type: string + format: uri + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - authServerId + properties: + authServerId: + description: > + Authorization server identifier as + defined in ETSI GS NFV-SEC 022. + type: string + format: uri + tlsCipherSuites: + description: > + List of cipher suites that shall be + declared as supported by the API consumer + when performing the SSL or TLS + negotiation with the authorization server. + Valid values of cipher suites are defined + in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + tlsTunnelInfo: + description: > + Information and configuration related to the + use of TLS tunnel. Shall be present if + authType contains "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: > + List of cipher suites that shall be + declared as supported by the API consumer + when performing the SSL or TLS negotiation + with the API producer. Valid values of + cipher suites are defined in IETF RFC + 8447. + type: array + items: + type: string + minItems: 1 + required: + - id + - name + - type + - standardVersion + - apiVersion + - apiEndpoint + peerEntityState: + description: > + State of the peer functional entity as provided by the + API consumer when creating the resource or when + updating it with the PATCH method. + type: object + properties: + operationalState: + description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + - RESTARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + required: + - operationalState + - administrativeState + required: + - id + - peerEntityId + - name + - type + - peerEntityState + '400': + description: | + 400 BAD REQUEST + Shall be returned upon the following errors: + - Invalid attribute-based filtering expression. + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + - Invalid attribute selector. + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + - Response too big. + If the NFV-MANO functional entity supports alternative N°1 (error) + according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, + this error response shall follow the provisions in clause 5.4.2.2 of + ETSI GS NFV-SOL 013. + 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 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure + from IETF RFC 7807 [19] is reproduced inthis structure. + Compared to the general framework defined in IETF RFC 7807 + [19], the "status" and "detail" attributes are mandated to be + included by the present document, to ensure that the response + contains additional textual information about an error. IETF + RFC 7807 [19] foresees extensibility of the "ProblemDetails" + type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to + define additional attributes that provide more information + about the error. The description column only provides some + explanation of the meaning to Facilitate understanding of the + design. For a full description, see IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that + identifies the problem type. It is encouraged that the URI + provides human-readable documentation for the problem + (e.g. using HTML) when dereferenced. When this member is + not present, its value is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It + should not change from occurrence to occurrence of the + problem, except for purposes of localization. If type is + given and other than "about:blank", this attribute shall + also be provided. A short, human-readable summary of the + problem type. It SHOULD NOT change from occurrence to + occurrence of the problem, except for purposes of + localization (e.g., using proactive content negotiation; + see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by + the origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence + of the problem. + type: string + 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 + '/peer_entities/{peerEntityId}': + parameters: + - name: peerEntityId + in: path + description: Identifier of the peer entity + required: true + schema: + description: | + An identifier with the intention of being globally unique. + type: string + get: + description: > + Retrieves information and configuration hold in the producer NFV-MANO + functional entity with regards to a peer entity by reading an + individual peer entity resource. + + This method shall follow the provisions specified in the tables + 5.5.14.3.2-1 and 5.5.14.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: > + 200 OK + + Shall be returned when information about an individual peer + functional entity has been read successfully. + + The response body shall contain a resource representation of the + peer functional entity, as defined in clause 5.6.2.15. + 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 + content: + application/json: + schema: + description: | + This type represents an individual peer entity. + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + peerEntityId: + description: | + An identifier with the intention of being globally unique. + type: string + name: + description: | + Human-readable name of the peer functional entity. + This attribute can be modified with the PATCH method. + type: string + type: + description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" + type: string + enum: + - NFVO + - VNFM + - VIM + - WIM + - EM + - OSS + description: + description: | + Human-readable description of the peer functional entity. + This attribute can be modified with the PATCH method. + type: string + consumedManoInterfaces: + description: > + Information of the interface consumed by the NFV-MANO + functional entity from the peer functional entity. + + This attribute can be modified with the PATCH method. + type: array + items: + description: > + This type represents an interface consumed by the + producer NFV MANO functional entity from another peer + functional entity. + type: object + properties: + id: + description: > + An identifier with the intention of being globally + unique. + type: string + name: + description: | + Human-readable name of the NFV-MANO interface. + type: string + type: + description: > + Type of the NFV-MANO service interface consumed by + the NFV-MANO functional entity. Valid values are + defined in clause 5.6.4.3. + type: string + standardVersion: + description: | + A version. + type: string + apiVersion: + description: | + A version. + type: string + apiEndpoint: + description: > + Consumable API endpoint of the interface. It + provides the information relevant about the + protocol, host and port, and path where the + interface API can be accessed. + type: object + properties: + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiName: + description: > + Indicates the interface name in an abbreviated + form. Shall be present for ETSI NFV specified + RESTful NFV-MANO APIs. The {apiName} of each + interface is defined in the standard the + interface is compliant to (see also clause 4.1 + of ETSI GS NFV-SOL 013). May be present + otherwise. + type: string + apiMajorVersion: + description: > + Indicates the current major version of the API. + Shall be present for ETSI NFV specified RESTful + NFV-MANO APIs. The major version is defined in + the standard the interface is compliant to (see + also clause 4.1 of ETSI GS NFV-SOL 013). May be + present otherwise. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - apiUri + securityInfo: + description: > + This type represents security related information + for accessing an NFV-MANO service interface + produced by an NFV-MANO functional entity. + type: object + required: + - authType + - oauthServerInfo + properties: + authType: + description: > + Type of API request authorization to be used by + the API consumer accessing the API. + + The support of authorization methods for the API + consumer is specified in clause 8.3.6 of ETSI + GS NFV-SOL 013. + + Permitted values: - TLS_TUNNEL: Using TLS + tunnel, as defined by TLS 1.2 in IETF RFC 5246. + - OAUTH2: Using access token, as defined by the + OAuth 2.0 specification in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - webFingerHost + properties: + webFingerHost: + description: > + Server where the WebFinger service is + hosted. When used, the request to the + WebFinger resource shall conform as + specified in clause 5.1.3 of ETSI GS + NFV-SEC 022. + type: string + format: uri + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - authServerId + properties: + authServerId: + description: > + Authorization server identifier as + defined in ETSI GS NFV-SEC 022. + type: string + format: uri + tlsCipherSuites: + description: > + List of cipher suites that shall be declared + as supported by the API consumer when + performing the SSL or TLS negotiation with + the authorization server. Valid values of + cipher suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + tlsTunnelInfo: + description: > + Information and configuration related to the use + of TLS tunnel. Shall be present if authType + contains "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: > + List of cipher suites that shall be declared + as supported by the API consumer when + performing the SSL or TLS negotiation with + the API producer. Valid values of cipher + suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - id + - name + - type + - standardVersion + - apiVersion + - apiEndpoint + peerEntityState: + description: > + State of the peer functional entity as provided by the API + consumer when creating the resource or when updating it + with the PATCH method. + type: object + properties: + operationalState: + description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + - RESTARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + required: + - operationalState + - administrativeState + required: + - id + - peerEntityId + - name + - type + - peerEntityState + '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 + patch: + description: > + Modifies configuration and information of the producer NFV-MANO + functional entity with regards to a peer functional entity by updating + the corresponding "Individual peer entity" resource. + + Changes to the configurable parameters of the corresponding peer entity + are applied to the information managed by the producer NFV-MANO + functional entity and reflected in the representation of this resource. + + This method shall follow the provisions specified in the tables + 5.5.14.3.4-1 and 5.5.14.3.4-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 + requestBody: + description: > + Parameters for the modification of configuration parameters of the + peer functional entity, as defined in clause 5.6.2.16 + + The Content-Type header shall be set to + "application/merge-patch+json" according to IETF RFC 7396. + content: + application/merge-patch+json: + schema: + description: > + This type represents attribute modifications for configuration + parameters of a peer entity. + type: object + properties: + name: + description: | + New value of the "name" attribute in "PeerEntity". + type: string + description: + description: > + New value of the "description" attribute in "PeerEntity", or + "null" to remove the attribute. + type: string + consumedManoInterfaces: + description: "New content of certain entries in the \"consumedManoInterfaces\" attribute array in the \"PeerEntity\", as defined below this table. \nNOTE:\tDue to the security sensitive information contained within the attribute (refer to \"securityInfo\" within the \"ConsumedManoInterfaceInfo\"), based on access control policies, the API consumer might have read only, write only, read/write, or no access at all to the attribute’s value. In case the API consumer is not allowed to modify the value of the security sensitive attribute, and the modification request includes new attribute values, the whole modification request shall be rejected, and proper error information returned.\n" + type: array + items: + description: > + This type represents an interface consumed by the producer + NFV MANO functional entity from another peer functional + entity. + type: object + properties: + id: + description: > + An identifier with the intention of being globally + unique. + type: string + name: + description: | + Human-readable name of the NFV-MANO interface. + type: string + type: + description: > + Type of the NFV-MANO service interface consumed by the + NFV-MANO functional entity. Valid values are defined + in clause 5.6.4.3. + type: string + standardVersion: + description: | + A version. + type: string + apiVersion: + description: | + A version. + type: string + apiEndpoint: + description: > + Consumable API endpoint of the interface. It provides + the information relevant about the protocol, host and + port, and path where the interface API can be + accessed. + type: object + properties: + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiName: + description: > + Indicates the interface name in an abbreviated + form. Shall be present for ETSI NFV specified + RESTful NFV-MANO APIs. The {apiName} of each + interface is defined in the standard the interface + is compliant to (see also clause 4.1 of ETSI GS + NFV-SOL 013). May be present otherwise. + type: string + apiMajorVersion: + description: > + Indicates the current major version of the API. + Shall be present for ETSI NFV specified RESTful + NFV-MANO APIs. The major version is defined in + the standard the interface is compliant to (see + also clause 4.1 of ETSI GS NFV-SOL 013). May be + present otherwise. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - apiUri + securityInfo: + description: > + This type represents security related information for + accessing an NFV-MANO service interface produced by + an NFV-MANO functional entity. + type: object + required: + - authType + - oauthServerInfo + properties: + authType: + description: > + Type of API request authorization to be used by + the API consumer accessing the API. + + The support of authorization methods for the API + consumer is specified in clause 8.3.6 of ETSI GS + NFV-SOL 013. + + Permitted values: - TLS_TUNNEL: Using TLS tunnel, + as defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: + Using access token, as defined by the OAuth 2.0 + specification in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - webFingerHost + properties: + webFingerHost: + description: > + Server where the WebFinger service is + hosted. When used, the request to the + WebFinger resource shall conform as + specified in clause 5.1.3 of ETSI GS + NFV-SEC 022. + type: string + format: uri + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - authServerId + properties: + authServerId: + description: > + Authorization server identifier as defined + in ETSI GS NFV-SEC 022. + type: string + format: uri + tlsCipherSuites: + description: > + List of cipher suites that shall be declared + as supported by the API consumer when + performing the SSL or TLS negotiation with the + authorization server. Valid values of cipher + suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + tlsTunnelInfo: + description: > + Information and configuration related to the use + of TLS tunnel. Shall be present if authType + contains "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: > + List of cipher suites that shall be declared + as supported by the API consumer when + performing the SSL or TLS negotiation with the + API producer. Valid values of cipher suites + are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - id + - name + - type + - standardVersion + - apiVersion + - apiEndpoint + consumedManoInterfaceDeleteIds: + description: > + List of identifiers entries to be deleted from the + "consumedManoInterfaces" attribute array in the " + PeerEntity ", as defined below this table. + type: array + items: + description: | + An identifier with the intention of being globally unique. + type: string + operationalState: + description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + - RESTARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + required: true + responses: + '200': + description: > + 200 OK + + Shall be returned when the request has been accepted and completed. + + The response body shall contain a representation of the attribute + modifications for the "Individual peer entity" resource, as defined + in clause 5.6.2.17. + 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 + content: + application/json: + schema: + description: > + This type represents attribute modifications that were + performed on an "Individual peer entity" resource. The + attributes that can be included consist of those requested to + be modified explicitly in the + "PeerEntityConfigModificationRequest" data structure. If + applicable, additional attributes of the "PeerEntity" data + structure that were modified implicitly shall also be + provided. + type: object + properties: + name: + description: > + If present, this attribute signals modifications of the + "name" attribute in "PeerEntity", as defined in clause + 5.6.2.15. + type: string + description: + description: > + If present, this attribute signals modifications of the + "description" attribute in "PeerEntity", as defined in + clause 5.6.2.15. + type: string + consumedManoInterfaces: + description: "If present, this attribute signals modifications of certain entries in \"consumedManoInterfaces\" attribute in \"PeerEntity\", as defined in clause 5.6.2.15. \nNOTE:\tDue to the security sensitive information contained within the attribute (refer to \"securityInfo\" within the \"ConsumedManoInterfaceInfo\"), based on access control policies, the API consumer might have read only, write only, read/write, or no access at all to the attribute’s value. In case the API consumer is not allowed to read the value of the security sensitive attribute, the attribute shall be omitted when the information is to be provided in a response message.\n" + type: array + items: + description: > + This type represents an interface consumed by the + producer NFV MANO functional entity from another peer + functional entity. + type: object + properties: + id: + description: > + An identifier with the intention of being globally + unique. + type: string + name: + description: | + Human-readable name of the NFV-MANO interface. + type: string + type: + description: > + Type of the NFV-MANO service interface consumed by + the NFV-MANO functional entity. Valid values are + defined in clause 5.6.4.3. + type: string + standardVersion: + description: | + A version. + type: string + apiVersion: + description: | + A version. + type: string + apiEndpoint: + description: > + Consumable API endpoint of the interface. It + provides the information relevant about the + protocol, host and port, and path where the + interface API can be accessed. + type: object + properties: + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiName: + description: > + Indicates the interface name in an abbreviated + form. Shall be present for ETSI NFV specified + RESTful NFV-MANO APIs. The {apiName} of each + interface is defined in the standard the + interface is compliant to (see also clause 4.1 + of ETSI GS NFV-SOL 013). May be present + otherwise. + type: string + apiMajorVersion: + description: > + Indicates the current major version of the API. + Shall be present for ETSI NFV specified RESTful + NFV-MANO APIs. The major version is defined in + the standard the interface is compliant to (see + also clause 4.1 of ETSI GS NFV-SOL 013). May be + present otherwise. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - apiUri + securityInfo: + description: > + This type represents security related information + for accessing an NFV-MANO service interface + produced by an NFV-MANO functional entity. + type: object + required: + - authType + - oauthServerInfo + properties: + authType: + description: > + Type of API request authorization to be used by + the API consumer accessing the API. + + The support of authorization methods for the API + consumer is specified in clause 8.3.6 of ETSI + GS NFV-SOL 013. + + Permitted values: - TLS_TUNNEL: Using TLS + tunnel, as defined by TLS 1.2 in IETF RFC 5246. + - OAUTH2: Using access token, as defined by the + OAuth 2.0 specification in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - webFingerHost + properties: + webFingerHost: + description: > + Server where the WebFinger service is + hosted. When used, the request to the + WebFinger resource shall conform as + specified in clause 5.1.3 of ETSI GS + NFV-SEC 022. + type: string + format: uri + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - authServerId + properties: + authServerId: + description: > + Authorization server identifier as + defined in ETSI GS NFV-SEC 022. + type: string + format: uri + tlsCipherSuites: + description: > + List of cipher suites that shall be declared + as supported by the API consumer when + performing the SSL or TLS negotiation with + the authorization server. Valid values of + cipher suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + tlsTunnelInfo: + description: > + Information and configuration related to the use + of TLS tunnel. Shall be present if authType + contains "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: > + List of cipher suites that shall be declared + as supported by the API consumer when + performing the SSL or TLS negotiation with + the API producer. Valid values of cipher + suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - id + - name + - type + - standardVersion + - apiVersion + - apiEndpoint + consumedManoInterfaceDeleteIds: + description: > + If present, this attribute signals the deletions of + certain entries in the "consumedManoInterfaces" attribute + in "PeerEntity", as defined in clause 5.6.2.15. + type: array + items: + description: > + An identifier with the intention of being globally + unique. + type: string + operationalState: + description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + - RESTARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + '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 + '409': + description: > + 409 CONFLICT. + + Shall be returned upon the following error: The operation cannot be + executed currently, due to a conflict with the state of the + "Individual peer entity" resource. + + Typically, this is due to the fact that another operation is + ongoing. + + The response body shall contain a ProblemDetails structure, in + which the "detail" attribute should convey more information about + the error. + headers: + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + 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 + '412': + description: > + 412 PRECONDITION FAILED + + Shall be returned upon the following error: A precondition given in + an HTTP request header is not fulfilled. + + Typically, this is due to an ETag mismatch, indicating that the + resource was modified by another entity. + + The response body should contain a ProblemDetails structure, in + which the "detail" attribute should convey more information about + the error. + headers: + WWW-Authenticate: + description: > + Challenge if the 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 + '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: > + Ddeletes an individual peer entity resource. By deleting such a + resource in the producer NFV-MANO functional entity representing a peer + NFV-MANO entity, the configuration and information with regards to such + peer entity is deleted. Consequently, the peering relationship between + the producer NFV-MANO functional entity and the peer entity is + terminated, i.e., the producer NFV-MANO functional entity does not have + the necessary information to communicate/interact with the peer entity. + + This method shall follow the provisions specified in the tables + 5.5.14.3.5-1 and 5.5.14.3.5-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: > + 204 NO CONTENT + + Shall be returned when the "Individual peer entity" resource 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 + '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 + '409': + description: > + 409 CONFLICT. + + Shall be returned upon the following error: The operation cannot be + executed currently, due to a conflict with the state of the + "Individual peer entity" resource. + + Typically, this is due to the fact that another operation is + ongoing. + + The response body shall contain a ProblemDetails structure, in + which the "detail" attribute should convey more information about + the error. + headers: + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + 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 + '412': + description: > + 412 PRECONDITION FAILED + + Shall be returned upon the following error: A precondition given in + an HTTP request header is not fulfilled. + + Typically, this is due to an ETag mismatch, indicating that the + resource was modified by another entity. + + The response body should contain a ProblemDetails structure, in + which the "detail" attribute should convey more information about + the error. + headers: + WWW-Authenticate: + description: > + Challenge if the 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 + '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: + schemas: + ManoEntity: + description: | + This type represents an NFV-MANO functional entity. + type: object + required: + - id + - type + - name + - description + - provider + - softwareVersion + - manoConfigurableParams + - manoApplicationState + - _links + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + type: + description: "The enumeration ManoEntityEnumType defines the permitted values to represent NFV-MANO functional entities. It shall comply with the provisions :\n - NFVO\tThe NFV-MANO functional entity is an NFVO.\n - VNFM\tThe NFV-MANO functional entity is a VNFM.\n - VIM\tThe NFV-MANO functional entity is a VIM.\n" + type: string + enum: + - NFVO + - VNFM + - VIM + name: + description: | + Human-readable name of the NFV-MANO functional entity. + This attribute can be modified with the PATCH method. + type: string + description: + description: | + Human-readable description of the NFV-MANO functional entity. + This attribute can be modified with the PATCH method. + type: string + provider: + description: > + Information about the provider of the NFV-MANO functional entity. + It typically includes the name of the provider. + type: string + softwareVersion: + description: > + The version of the software of the NFV-MANO functional entity. $ref: + "../components/SOL009_schemas.yaml#/components/schemas/Version" + manoEntityComponents: + description: "The deployed NFV-MANO functional entity components which realize the NFV-MANO functional entity. \nNOTE:\tIt is optional for the API producer to support the \"manoEntityComponents\" attribute.\n" + type: array + items: + description: > + This type represents information of a deployed component realizing + part of an NFV-MANO functional entity. It is optional for the API + producer to support this type. + type: object + properties: + id: + 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 + manoServiceIds: + description: > + References to the NFV-MANO services that depend on the + NFV-MANO functional entity component. The identifier of the + ManoService is referred. A service may depend on multiple + components. Multiple services may depend on the same + component. + 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 + required: + - id + manoServices: + description: > + Information about the NFV-MANO services provided by the NFV-MANO + functional entity. + type: array + items: + description: > + This type represents information about an NFV-MANO service + provided by the NFV-MANO functional entity. + type: object + properties: + id: + 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 + name: + description: | + Human-readable name of the NFV-MANO service. + This attribute can be modified with the PATCH method. + type: string + description: + description: | + Human-readable description of the NFV-MANO service. + This attribute can be modified with the PATCH method. + type: string + manoServiceInterfaceIds: + description: "Reference to the NFV-MANO interfaces associated to the NFV-MANO service. If cardinality is greater than one, the type of ManoServiceInterface (see clause 5.6.3.3) shall be the same. The identifier of the ManoServiceInterface is referred. \nNOTE:\tA cardinality greater than one supports having different interface versions or apiEndpoints to be used for accessing the same instance of a NFV-MANO service.\n" + 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 + minItems: 1 + _links: + description: | + Links to resources related to this resource. + type: object + properties: + manoServiceInterfaces: + description: > + Link to the "individual NFV-MANO service interface" + resources with information about the associated + interfaces to the NFV-MANO service. + 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 + minItems: 1 + required: + - manoServiceInterfaces + required: + - id + - name + - description + - manoServiceInterfaceIds + - _links + manoConfigurableParams: + description: > + # Warning: No definition found in the document + ManoConfigurableParams + manoApplicationState: + description: > + Information and current values of the NFV-MANO functional entity’s + application state. + type: object + required: + - operationalState + - administrativeState + - usageState + properties: + operationalState: + description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + - RESTARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + usageState: + description: "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n" + type: string + enum: + - IN_USE + - NOT_IN_USE + nfvoSpecificInfo: + description: > + This type represents information attributes specific to an NFVO + entity, and that can be relevant to more than one NFV-MANO service + offered by an NFVO entity. + type: object + properties: + maxOnboardedNsdNum: + description: > + Maximum number of NSDs that can be on-boarded on the NFVO. + + NOTE: If this attribute is not present, the value of this + parameter is undefined. + type: integer + maxOnboardedVnfPkgNum: + description: > + Maximum number of VNF Packages that can be on-boarded on the + NFVO. + + NOTE: If this attribute is not present, the value of this + parameter is undefined. + type: integer + supportedVnfdFormats: + description: | + Supported VNFD data formats. + type: object + properties: + vnfdFormat: + description: | + Name of the VNFD format. + Permitted values: + - TOSCA: The VNFD follows TOSCA definition, according to ETSI + GS NFV-SOL 001 standard. + - YANG: The VNFD follows YANG definition according to ETSI + GS NFV-SOL 006 standard. + type: string + enum: + - TOSCA + - YANG + standardVersion: + description: | + A version. + type: string + required: + - vnfdFormat + - standardVersion + supportedNsdFormats: + description: | + Supported NSD data formats. + type: object + properties: + nsdFormat: + description: | + Name of the NSD format. + Permitted values: + - TOSCA: The VNFD follows TOSCA definition, according to ETSI + GS NFV-SOL 001 standard. + - YANG: The VNFD follows YANG definition according to ETSI + GS NFV-SOL 006 standard. + type: string + enum: + - TOSCA + - YANG + standardVersion: + description: | + A version. + type: string + required: + - nsdFormat + - standardVersion + required: + - supportedVnfdFormats + - supportedNsdFormats + vnfmSpecificInfo: + description: > + This type represents information attributes specific to a VNFM + entity, and that can be relevant to more than one NFV-MANO service + offered by a VNFM entity. + type: object + properties: + resoruceMgmtModeSupport: + description: | + The supported resource management modes of the VNFM. + Permitted values: + - DIRECT: The VNFM supports direct mode only. + - INDIRECT: The VNFM supports indirect mode only. + - BOTH: The VNFM supports both direct and indirect mode. + type: string + enum: + - DIRECT + - INDIRECT + - BOTH + managedVnfInstanceInfos: + description: > + The kinds of VNF instances that can be managed, e.g. to + determine the compatibility of a VNF with certain VNFM + according to the vnfmInfo attribute in the VNFD (see table + 7.1.2.2-1 in ETSI GS NFV-IFA 011). + type: array + items: + type: string + minItems: 1 + supportedVnfdFormats: + description: | + Supported VNFD data formats. + type: array + items: + type: object + properties: + vnfdFormat: + description: | + Name of the VNFD format. + Permitted values: + - TOSCA: The VNFD follows TOSCA definition, according to ETSI + GS NFV-SOL 001 standard. + - YANG: The VNFD follows YANG definition according to ETSI + GS NFV-SOL 006 standard. + type: string + enum: + - TOSCA + - YANG + standardVersion: + description: | + A version. + type: string + required: + - vnfdFormat + - standardVersion + minItems: 1 + required: + - resoruceMgmtModeSupport + - managedVnfInstanceInfos + - supportedVnfdFormats + vimSpecificInfo: + description: > + This type represents information attributes specific to a VIM + entity, and that can be relevant to more than one NFV-MANO service + offered by a VIM entity. + type: object + _links: + description: | + Links to resources related to this resource. + type: object + required: + - self + - manoServiceInterfaces + - peerEntities + - changeState + - changeStateOpOccs + 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 + manoServiceInterfaces: + 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 + peerEntities: + 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 + changeState: + 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 + changeStateOpOccs: + 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 + ManoConfigModificationRequest: + description: > + This type represents attribute modifications for configuration + parameters of an NFV-MANO functional entity. + type: object + properties: + name: + description: | + New value of the "name" attribute in "ManoEntity". + type: string + description: + description: | + New value of the "description" attribute in "ManoEntity". + type: string + clockSyncs: + description: > + New content of certain entries in the "clockSyncs" attribute array + in the "ManoEntityConfigurableParams", as defined below this + table. + type: array + items: + description: | + This type represents parameters for connecting to an NTP server. + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + type: + description: | + Type of clock synchronization. + Permitted values: + - NTP: For Network Time Protocol (NTP) based clock synchronization. + - OTHER: For other types of clock synchronization. + type: string + enum: + - NTP + - OTHER + ntpServerInfo: + description: > + Information for the NTP based clock synchronization. Shall be + present if type = "NTP". + type: object + properties: + ipAddress: + description: > + An IPV4 or IPV6 address. Representation: In case of an + IPV4 address, string that consists of four decimal + integers separated by dots, each integer ranging from 0 to + 255. In case of an IPV6 address, string that consists of + groups of zero to four hexadecimal digits, separated by + colons. + type: string + format: IP + hostname: + description: "Indicates the hostname of the NTP server. \nNOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n" + type: string + otherClockSyncParams: + description: > + This type represents a list of key-value pairs. The order of + the pairs in the list is not significant. In JSON, a set of + keyvalue pairs is represented as an object. It shall comply + with the provisions defined in clause 4 of IETF RFC 8259. In + the following example, a list of key-value pairs with four + keys ("aString", "aNumber", "anArray" and "anObject") is + provided to illustrate that the values associated with + different keys can be of different type. + type: object + required: + - id + - type + clockSyncsDeleteIds: + description: > + List of identifiers entries to be deleted from the "clockSyncs" + attribute array in the "ManoEntityConfigurableParams", as defined + below this table. + type: array + items: + description: | + An identifier with the intention of being globally unique. + type: string + defaultLogCompileBySizeValue: + description: | + Unsigned integer + type: number + defaultLogCompileByTimerValue: + description: | + Unsigned integer + type: number + manoServiceModifications: + description: > + New content of certain entries in the "manoServices" attribute + array in the "ManoEntity", as defined below this table. + type: array + items: + type: object + properties: + id: + 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 + name: + description: "New value for the \"name\" attribute in the \"ManoService\". \nNOTE:\tAt least one of these attributes shall be provided if requesting a modification of the NFV-MANO service identified by \"id\".\n" + type: string + description: + description: "New value for the \"description\" attribute in the \"ManoService\".\nNOTE:\tAt least one of these attributes shall be provided if requesting a modification of the NFV-MANO service identified by \"id\".\n" + type: string + required: + - id + ManoConfigModifications: + description: > + This type represents attribute modifications that were performed on the + "NFV-MANO entity" resource of the producer NFV-MANO functional entity. + The attributes that can be included consist of those requested to be + modified explicitly in the "ManoConfigModificationRequest" data + structure. + type: object + properties: + name: + description: > + If present, this attribute signals modifications of the "name" + attribute in "ManoEntity", as defined in clause 5.6.2.3 + type: string + description: + description: > + If present, this attribute signals modifications of the + "description" attribute in "ManoEntity", as defined in clause + 5.6.2.3. + type: string + clockSyncs: + description: > + If present, this attribute signals modifications of the + "clockSyncs" attribute in "ManoEntityConfigurableParams", as + defined in clause 5.6.2.3. + type: array + items: + description: | + This type represents parameters for connecting to an NTP server. + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + type: + description: | + Type of clock synchronization. + Permitted values: + - NTP: For Network Time Protocol (NTP) based clock synchronization. + - OTHER: For other types of clock synchronization. + type: string + enum: + - NTP + - OTHER + ntpServerInfo: + description: > + Information for the NTP based clock synchronization. Shall be + present if type = "NTP". + type: object + properties: + ipAddress: + description: > + An IPV4 or IPV6 address. Representation: In case of an + IPV4 address, string that consists of four decimal + integers separated by dots, each integer ranging from 0 to + 255. In case of an IPV6 address, string that consists of + groups of zero to four hexadecimal digits, separated by + colons. + type: string + format: IP + hostname: + description: "Indicates the hostname of the NTP server. \nNOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n" + type: string + otherClockSyncParams: + description: > + This type represents a list of key-value pairs. The order of + the pairs in the list is not significant. In JSON, a set of + keyvalue pairs is represented as an object. It shall comply + with the provisions defined in clause 4 of IETF RFC 8259. In + the following example, a list of key-value pairs with four + keys ("aString", "aNumber", "anArray" and "anObject") is + provided to illustrate that the values associated with + different keys can be of different type. + type: object + required: + - id + - type + clockSyncsDeleteIds: + description: > + If present, this attribute signals modifications of certain entries + in "clockSyncs" attribute in "ManoEntityConfigurableParams", as + defined in clause 5.6.2.3. + type: array + items: + description: | + An identifier with the intention of being globally unique. + type: string + defaultLogCompileBySizeValue: + description: | + Unsigned integer + type: number + defaultLogCompileByTimerValue: + description: | + Unsigned integer + type: number + manoServiceModifications: + description: > + If present, this attribute signals modifications of the + "manoServices" attribute array in the "ManoEntity", as defined in + clause 5.6.2.3. + type: array + items: + type: object + properties: + id: + 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 + name: + description: > + If present, this attribute signals modification of the "name" + attribute in the "ManoService". + type: string + description: + description: > + If present, this attribute signals modification of the + "description" attribute in the "ManoService". + type: string + required: + - id + CimSubscriptionRequest: + description: > + This type represents a subscription request related to notifications + about NFV-MANO configuration and information management changes. + type: object + properties: + filter: + description: > + This type represents a subscription filter related to notifications + about NFV-MANO configuration and information management. + type: object + properties: + manoEntitySubscriptionFilter: + description: > + This type represents subscription filter criteria to match + NFV-MANO functional entities and their associated managed + objects. + type: object + properties: + manoEntityId: + description: | + An identifier with the intention of being globally unique. + type: string + manoServiceIds: + description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" + 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. + + The attributes "manoServiceIds" and "manoServiceNames" are + alternatives to reference to NFV-MANO services in a filter. + They should not be used together in the same filter + instance, but one alternative should be chosen. + type: array + items: + type: string + manoServiceInterfaceIds: + description: > + If present, match NFV-MANO functional entity produced + interfaces with an instance identifier listed in this + attribute. + + The attributes "manoServiceInterfaceIds" and + "manoServiceInterfaceNames" are alternatives to reference + to NFV-MANO functional entity produced interfaces in a + filter. They should not be used both in the same filter + instance, but one alternative should be chosen. + type: array + items: + description: > + An identifier 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. + + The attributes "manoServiceInterfaceIds" and + "manoServiceInterfaceNames" are alternatives to reference + to NFV-MANO functional entity produced interfaces in a + filter. They should not be used both in the same filter + instance, but one alternative should be chosen. + type: array + items: + type: string + consumedManoInterfaceIds: + description: > + If present, match NFV-MANO functional entity consumed + interfaces with an instance identifier listed in this + attribute. + + The attributes "consumedManoInterfaceIds" and + "consumedManoInterfaceNames" are alternatives to reference + to NFV-MANO functional entity consumed interfaces in a + filter. They should not be used both in the same filter + instance, but one alternative should be chosen. + type: array + items: + description: | + An identifier with the intention of being globally unique. + type: string + consumedManoInterfaceNames: + description: > + If present, match NFV-MANO functional entity consumed + interfaces with an instance Name listed in this attribute. + + The attributes "consumedManoInterfaceIds" and + "consumedManoInterfaceNames" are alternatives to reference + to NFV-MANO functional entity consumed interfaces in a + filter. They should not be used both in the same filter + instance, but one alternative should be chosen. + type: array + items: + type: string + notificationTypes: + description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" + type: array + items: + type: string + enum: + - InformationChangedNotification + - ChangeStateNotification + 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 + required: + - callbackUri + CimSubscription: + description: > + This type represents a subscription related to notifications about + NFV-MANO configuration and information management changes + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + filter: + description: > + This type represents a subscription filter related to notifications + about NFV-MANO configuration and information management. + type: object + properties: + manoEntitySubscriptionFilter: + description: > + This type represents subscription filter criteria to match + NFV-MANO functional entities and their associated managed + objects. + type: object + properties: + manoEntityId: + description: | + An identifier with the intention of being globally unique. + type: string + manoServiceIds: + description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" + 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. + + The attributes "manoServiceIds" and "manoServiceNames" are + alternatives to reference to NFV-MANO services in a filter. + They should not be used together in the same filter + instance, but one alternative should be chosen. + type: array + items: + type: string + manoServiceInterfaceIds: + description: > + If present, match NFV-MANO functional entity produced + interfaces with an instance identifier listed in this + attribute. + + The attributes "manoServiceInterfaceIds" and + "manoServiceInterfaceNames" are alternatives to reference + to NFV-MANO functional entity produced interfaces in a + filter. They should not be used both in the same filter + instance, but one alternative should be chosen. + type: array + items: + description: > + An identifier 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. + + The attributes "manoServiceInterfaceIds" and + "manoServiceInterfaceNames" are alternatives to reference + to NFV-MANO functional entity produced interfaces in a + filter. They should not be used both in the same filter + instance, but one alternative should be chosen. + type: array + items: + type: string + consumedManoInterfaceIds: + description: > + If present, match NFV-MANO functional entity consumed + interfaces with an instance identifier listed in this + attribute. + + The attributes "consumedManoInterfaceIds" and + "consumedManoInterfaceNames" are alternatives to reference + to NFV-MANO functional entity consumed interfaces in a + filter. They should not be used both in the same filter + instance, but one alternative should be chosen. + type: array + items: + description: | + An identifier with the intention of being globally unique. + type: string + consumedManoInterfaceNames: + description: > + If present, match NFV-MANO functional entity consumed + interfaces with an instance Name listed in this attribute. + + The attributes "consumedManoInterfaceIds" and + "consumedManoInterfaceNames" are alternatives to reference + to NFV-MANO functional entity consumed interfaces in a + filter. They should not be used both in the same filter + instance, but one alternative should be chosen. + type: array + items: + type: string + notificationTypes: + description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" + type: array + items: + type: string + enum: + - InformationChangedNotification + - ChangeStateNotification + callbackUri: + description: | + String formatted according to IETF RFC 3986. + type: string + _links: + description: | + Links to resources related to this resource. + type: object + 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 + required: + - self + required: + - id + - callbackUri + - _links + ChangeStateRequest: + description: > + This type represents request parameters for changing the state of a + managed entity. + type: object + properties: + operationalStateChange: + description: "A change of operational state. Shall be present if the state change request refers to the operational state. NOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" + type: object + properties: + operationalStateAction: + description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" + type: string + enum: + - START + - STOP + - RESTART + stopType: + description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions:\n - GRACEFUL\tTo stop the managed entity immediately after accepting the request.\n - FORCEFUL\tTo stop the managed entity attempting to gracefully discharge the entity from service.\n" + type: string + enum: + - GRACEFUL + - FORCEFUL + gracefulStopTimeout: + description: "The time internal (in seconds) to wait for the entity to be taken out of service during graceful stop. \nNOTE:\tThe \"stopType\" shall only be provided when the \"operationalStateAction\" attribute is equal to \"STOP\" or \"RESTART\". The \"gracefulStopTimeout\" shall be absent when the \"stopType\" attribute is equal to \"FORCEFUL\", and may be provided otherwise.\n" + type: integer + required: + - operationalStateAction + administrativeStateChange: + description: "A change of administrative state. Shall be present if the state change request refers to the administrative state. \nNOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" + type: object + properties: + administrativeStateAction: + description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" + type: string + enum: + - LOCK + - UNLOCK + required: + - administrativeStateAction + ChangeStateOpOcc: + description: | + This type represents a Change state operation occurrence. + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + operationState: + description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n" + type: string + enum: + - PROCESSING + - COMPLETED + - FAILED + stateEnteredTime: + description: > + Date-time stamp. Representation: String formatted according to IETF + RFC 3339. + type: string + format: date-time + startTime: + description: > + Date-time stamp. Representation: String formatted according to IETF + RFC 3339. + type: string + format: date-time + managedObjectRef: + 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 + changeOperationalStateRequest: + description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" + type: string + enum: + - START + - STOP + - RESTART + changeAdministrativeStateRequest: + description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" + type: string + enum: + - LOCK + - UNLOCK + operationParams: + description: > + Input parameters of the change state operation. This attribute shall + be formatted according to the request data type of the related + change state operation. + + The following mapping between operationType and the data type of + this attribute shall apply: + - CHANGE_STATE: ChangeStateRequest + + This attribute shall be present if this data type is returned in a + response to reading an individual resource, and may be present + according to the chosen attribute selector parameter if this data + type is returned in a response to a query of a container resource. + required: + - id + - operationState + - stateEnteredTime + - startTime + - managedObjectRef + ManoServiceInterface: + description: > + This type represents an individual NFV-MANO service interface produced + by an NFV-MANO functional entity. + type: object + properties: + id: + 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 + name: + description: | + Human-readable name of the NFV-MANO functional entity interface. + This attribute can be modified with the PATCH method. + type: string + type: + description: > + Type of the NFV-MANO service interface produced by the NFV-MANO + functional entity. Valid values are defined in clause 5.6.4.3. + type: string + standardVersion: + description: | + A version. + type: string + providerSpecificApiVersion: + description: | + A version. + type: string + apiVersion: + description: | + A version. + type: string + apiEndpoint: + description: | + Exposed API endpoint of the interface. + type: object + properties: + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiName: + description: > + Indicates the interface name in an abbreviated form. Shall be + present for ETSI NFV specified RESTful NFV-MANO APIs. The + {apiName} of each interface is defined in the standard the + interface is compliant to (see also clause 4.1 of ETSI GS + NFV-SOL 013). May be present otherwise. + type: string + apiMajorVersion: + description: > + Indicates the current major version of the API. Shall be present + for ETSI NFV specified RESTful NFV-MANO APIs. The major version + is defined in the standard the interface is compliant to (see + also clause 4.1 of ETSI GS NFV-SOL 013). May be present + otherwise. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - apiUri + maxConcurrentIntOpNumber: + description: "Maximum number of concurrent operation requests supported on this interface. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" + type: integer + supportedOperations: + description: | + Information about supported operations of this interface. + type: array + items: + type: object + properties: + operationName: + description: | + Name of the operation supported on the interface. + type: string + maxConcurrentOpNumber: + description: "Maximum number of concurrent requests supported by the interface operation. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" + type: integer + required: + - operationName + minItems: 1 + interfaceState: + description: | + State of the NFV-MANO service interface. + properties: + operationalState: + description: "The enumeration InterfaceOperationalStateEnumType defines values representing the operational state of an NFV-MANO service interface type of managed entity. The InterfaceOperationalStateEnumType shall comply with the provisions :\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + usageState: + description: "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n" + type: string + enum: + - IN_USE + - NOT_IN_USE + required: + - operationalState + - administrativeState + - usageState + securityInfo: + description: > + This type represents security related information of an NFV-MANO + service interface produced by an NFV-MANO functional entity. + type: object + properties: + authType: + description: > + Type of API request authorization to be used by the API + producer. + + The support of authorization methods for the API producer is + specified in clause 8.3.6 of ETSI GS NFV-SOL 013. + + Permitted values: + - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. + - OAUTH2: Using access token, as defined by the OAuth 2.0 specification + in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: | + OAuth 2.0 authorization server information and configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + webFingerHost: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - webFingerHost + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + authServerId: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - authServerId + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as supported by + the API producer when performing the SSL or TLS negotiation + with the authorization server. Valid values of cipher + suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - providedConfiguration + - tlsCipherSuites + tlsTunnelInfo: + description: > + Information and configuration related to the use of TLS tunnel. + Shall be present if authType contains "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: >- + List of cipher suites that shall be declared as supported by + the API producer when performing the SSL or TLS negotiation + with the API client. Valid values of cipher suites are + defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - tlsTunnelCipherSuites + required: + - authType + - oauthServerInfo + metadata: + description: > + This type represents a list of key-value pairs. The order of the + pairs in the list is not significant. In JSON, a set of keyvalue + pairs is represented as an object. It shall comply with the + provisions defined in clause 4 of IETF RFC 8259. In the following + example, a list of key-value pairs with four keys ("aString", + "aNumber", "anArray" and "anObject") is provided to illustrate that + the values associated with different keys can be of different type. + type: object + required: + - id + - name + - type + - standardVersion + - providerSpecificApiVersion + - apiVersion + - apiEndpoint + - supportedOperations + - interfaceState + ManoServiceInterfaceModificationRequest: + description: > + This type represents attribute modifications for configuration + parameters of an NFV-MANO service interface of the producer NFV-MANO + functional entity. + type: object + properties: + name: + description: "New value of the \"name\" attribute in \"ManoServiceInterface\". \nNOTE:\tChanging the name does not change the corresponding standardized API name in the resource URI (refer to \"{apiName}\" defined in clause 4.1 of ETSI GS NFV-SOL 013).\n" + type: string + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + securityInfo: + description: > + This type represents security related information of an NFV-MANO + service interface produced by an NFV-MANO functional entity. + type: object + properties: + authType: + description: > + Type of API request authorization to be used by the API + producer. + + The support of authorization methods for the API producer is + specified in clause 8.3.6 of ETSI GS NFV-SOL 013. + + Permitted values: + - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. + - OAUTH2: Using access token, as defined by the OAuth 2.0 specification + in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: | + OAuth 2.0 authorization server information and configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + webFingerHost: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - webFingerHost + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + authServerId: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - authServerId + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as supported by + the API producer when performing the SSL or TLS negotiation + with the authorization server. Valid values of cipher + suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - providedConfiguration + - tlsCipherSuites + tlsTunnelInfo: + description: > + Information and configuration related to the use of TLS tunnel. + Shall be present if authType contains "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: >- + List of cipher suites that shall be declared as supported by + the API producer when performing the SSL or TLS negotiation + with the API client. Valid values of cipher suites are + defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - tlsTunnelCipherSuites + required: + - authType + - oauthServerInfo + metadata: + description: > + This type represents a list of key-value pairs. The order of the + pairs in the list is not significant. In JSON, a set of keyvalue + pairs is represented as an object. It shall comply with the + provisions defined in clause 4 of IETF RFC 8259. In the following + example, a list of key-value pairs with four keys ("aString", + "aNumber", "anArray" and "anObject") is provided to illustrate that + the values associated with different keys can be of different type. + type: object + ManoServiceInterfaceModifications: + description: > + This type represents attribute modifications that were performed on an + Individual NFV-MANO service interface" resource. The attributes that + can be included consist of those requested to be modified explicitly in + the "ManoServiceInterfaceModificationRequest" data structure. If + applicable, additional attributes of the "ManoServiceInterface" data + structure that were modified implicitly shall also be provided. + type: object + properties: + name: + description: > + If present, this attribute signals modifications of the "name" + attribute in "ManoServiceInterface", as defined in clause 5.6.2.11. + type: string + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + securityInfo: + description: > + This type represents security related information of an NFV-MANO + service interface produced by an NFV-MANO functional entity. + type: object + properties: + authType: + description: > + Type of API request authorization to be used by the API + producer. + + The support of authorization methods for the API producer is + specified in clause 8.3.6 of ETSI GS NFV-SOL 013. + + Permitted values: + - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. + - OAUTH2: Using access token, as defined by the OAuth 2.0 specification + in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: | + OAuth 2.0 authorization server information and configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + webFingerHost: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - webFingerHost + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + authServerId: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - authServerId + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as supported by + the API producer when performing the SSL or TLS negotiation + with the authorization server. Valid values of cipher + suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - providedConfiguration + - tlsCipherSuites + tlsTunnelInfo: + description: > + Information and configuration related to the use of TLS tunnel. + Shall be present if authType contains "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: >- + List of cipher suites that shall be declared as supported by + the API producer when performing the SSL or TLS negotiation + with the API client. Valid values of cipher suites are + defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - tlsTunnelCipherSuites + required: + - authType + - oauthServerInfo + metadata: + description: > + This type represents a list of key-value pairs. The order of the + pairs in the list is not significant. In JSON, a set of keyvalue + pairs is represented as an object. It shall comply with the + provisions defined in clause 4 of IETF RFC 8259. In the following + example, a list of key-value pairs with four keys ("aString", + "aNumber", "anArray" and "anObject") is provided to illustrate that + the values associated with different keys can be of different type. + type: object + CreatePeerEntityRequest: + description: > + This type represents request parameters for the creation of a new peer + entity resource. + type: object + properties: + peerEntityId: + description: | + An identifier with the intention of being globally unique. + type: string + name: + description: | + Human-readable name of the peer functional entity. + type: string + type: + description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" + type: string + enum: + - NFVO + - VNFM + - VIM + - WIM + - EM + - OSS + description: + description: | + Human-readable description of the peer functional entity. + type: string + consumedManoInterfaces: + description: > + Information of the interface consumed by the NFV-MANO functional + entity from the peer functional entity. + type: array + items: + description: > + This type represents an interface consumed by the producer NFV + MANO functional entity from another peer functional entity. + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + name: + description: | + Human-readable name of the NFV-MANO interface. + type: string + type: + description: > + Type of the NFV-MANO service interface consumed by the + NFV-MANO functional entity. Valid values are defined in + clause 5.6.4.3. + type: string + standardVersion: + description: | + A version. + type: string + apiVersion: + description: | + A version. + type: string + apiEndpoint: + description: > + Consumable API endpoint of the interface. It provides the + information relevant about the protocol, host and port, and + path where the interface API can be accessed. + type: object + properties: + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiName: + description: > + Indicates the interface name in an abbreviated form. Shall + be present for ETSI NFV specified RESTful NFV-MANO APIs. + The {apiName} of each interface is defined in the + standard the interface is compliant to (see also clause + 4.1 of ETSI GS NFV-SOL 013). May be present otherwise. + type: string + apiMajorVersion: + description: > + Indicates the current major version of the API. Shall be + present for ETSI NFV specified RESTful NFV-MANO APIs. The + major version is defined in the standard the interface is + compliant to (see also clause 4.1 of ETSI GS NFV-SOL + 013). May be present otherwise. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - apiUri + securityInfo: + description: > + This type represents security related information for + accessing an NFV-MANO service interface produced by an + NFV-MANO functional entity. + type: object + required: + - authType + - oauthServerInfo + properties: + authType: + description: > + Type of API request authorization to be used by the API + consumer accessing the API. + + The support of authorization methods for the API consumer + is specified in clause 8.3.6 of ETSI GS NFV-SOL 013. + + Permitted values: - TLS_TUNNEL: Using TLS tunnel, as + defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using + access token, as defined by the OAuth 2.0 specification + in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - webFingerHost + properties: + webFingerHost: + description: > + Server where the WebFinger service is hosted. When + used, the request to the WebFinger resource shall + conform as specified in clause 5.1.3 of ETSI GS + NFV-SEC 022. + type: string + format: uri + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - authServerId + properties: + authServerId: + description: > + Authorization server identifier as defined in ETSI + GS NFV-SEC 022. + type: string + format: uri + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API consumer when performing the SSL + or TLS negotiation with the authorization server. + Valid values of cipher suites are defined in IETF RFC + 8447. + type: array + items: + type: string + minItems: 1 + tlsTunnelInfo: + description: > + Information and configuration related to the use of TLS + tunnel. Shall be present if authType contains + "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API consumer when performing the SSL + or TLS negotiation with the API producer. Valid + values of cipher suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - id + - name + - type + - standardVersion + - apiVersion + - apiEndpoint + peerEntityState: + description: | + Current values of the state of the peer functional entity. + type: object + properties: + operationalState: + description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + - RESTARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + required: + - operationalState + - administrativeState + required: + - peerEntityId + - name + - type + PeerEntity: + description: | + This type represents an individual peer entity. + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + peerEntityId: + description: | + An identifier with the intention of being globally unique. + type: string + name: + description: | + Human-readable name of the peer functional entity. + This attribute can be modified with the PATCH method. + type: string + type: + description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" + type: string + enum: + - NFVO + - VNFM + - VIM + - WIM + - EM + - OSS + description: + description: | + Human-readable description of the peer functional entity. + This attribute can be modified with the PATCH method. + type: string + consumedManoInterfaces: + description: > + Information of the interface consumed by the NFV-MANO functional + entity from the peer functional entity. + + This attribute can be modified with the PATCH method. + type: array + items: + description: > + This type represents an interface consumed by the producer NFV + MANO functional entity from another peer functional entity. + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + name: + description: | + Human-readable name of the NFV-MANO interface. + type: string + type: + description: > + Type of the NFV-MANO service interface consumed by the + NFV-MANO functional entity. Valid values are defined in + clause 5.6.4.3. + type: string + standardVersion: + description: | + A version. + type: string + apiVersion: + description: | + A version. + type: string + apiEndpoint: + description: > + Consumable API endpoint of the interface. It provides the + information relevant about the protocol, host and port, and + path where the interface API can be accessed. + type: object + properties: + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiName: + description: > + Indicates the interface name in an abbreviated form. Shall + be present for ETSI NFV specified RESTful NFV-MANO APIs. + The {apiName} of each interface is defined in the + standard the interface is compliant to (see also clause + 4.1 of ETSI GS NFV-SOL 013). May be present otherwise. + type: string + apiMajorVersion: + description: > + Indicates the current major version of the API. Shall be + present for ETSI NFV specified RESTful NFV-MANO APIs. The + major version is defined in the standard the interface is + compliant to (see also clause 4.1 of ETSI GS NFV-SOL + 013). May be present otherwise. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - apiUri + securityInfo: + description: > + This type represents security related information for + accessing an NFV-MANO service interface produced by an + NFV-MANO functional entity. + type: object + required: + - authType + - oauthServerInfo + properties: + authType: + description: > + Type of API request authorization to be used by the API + consumer accessing the API. + + The support of authorization methods for the API consumer + is specified in clause 8.3.6 of ETSI GS NFV-SOL 013. + + Permitted values: - TLS_TUNNEL: Using TLS tunnel, as + defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using + access token, as defined by the OAuth 2.0 specification + in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - webFingerHost + properties: + webFingerHost: + description: > + Server where the WebFinger service is hosted. When + used, the request to the WebFinger resource shall + conform as specified in clause 5.1.3 of ETSI GS + NFV-SEC 022. + type: string + format: uri + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - authServerId + properties: + authServerId: + description: > + Authorization server identifier as defined in ETSI + GS NFV-SEC 022. + type: string + format: uri + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API consumer when performing the SSL + or TLS negotiation with the authorization server. + Valid values of cipher suites are defined in IETF RFC + 8447. + type: array + items: + type: string + minItems: 1 + tlsTunnelInfo: + description: > + Information and configuration related to the use of TLS + tunnel. Shall be present if authType contains + "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API consumer when performing the SSL + or TLS negotiation with the API producer. Valid + values of cipher suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - id + - name + - type + - standardVersion + - apiVersion + - apiEndpoint + peerEntityState: + description: > + State of the peer functional entity as provided by the API consumer + when creating the resource or when updating it with the PATCH + method. + type: object + properties: + operationalState: + description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + - RESTARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + required: + - operationalState + - administrativeState + required: + - id + - peerEntityId + - name + - type + - peerEntityState + PeerEntityConfigModificationRequest: + description: > + This type represents attribute modifications for configuration + parameters of a peer entity. + type: object + properties: + name: + description: | + New value of the "name" attribute in "PeerEntity". + type: string + description: + description: > + New value of the "description" attribute in "PeerEntity", or "null" + to remove the attribute. + type: string + consumedManoInterfaces: + description: "New content of certain entries in the \"consumedManoInterfaces\" attribute array in the \"PeerEntity\", as defined below this table. \nNOTE:\tDue to the security sensitive information contained within the attribute (refer to \"securityInfo\" within the \"ConsumedManoInterfaceInfo\"), based on access control policies, the API consumer might have read only, write only, read/write, or no access at all to the attribute’s value. In case the API consumer is not allowed to modify the value of the security sensitive attribute, and the modification request includes new attribute values, the whole modification request shall be rejected, and proper error information returned.\n" + type: array + items: + description: > + This type represents an interface consumed by the producer NFV + MANO functional entity from another peer functional entity. + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + name: + description: | + Human-readable name of the NFV-MANO interface. + type: string + type: + description: > + Type of the NFV-MANO service interface consumed by the + NFV-MANO functional entity. Valid values are defined in + clause 5.6.4.3. + type: string + standardVersion: + description: | + A version. + type: string + apiVersion: + description: | + A version. + type: string + apiEndpoint: + description: > + Consumable API endpoint of the interface. It provides the + information relevant about the protocol, host and port, and + path where the interface API can be accessed. + type: object + properties: + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiName: + description: > + Indicates the interface name in an abbreviated form. Shall + be present for ETSI NFV specified RESTful NFV-MANO APIs. + The {apiName} of each interface is defined in the + standard the interface is compliant to (see also clause + 4.1 of ETSI GS NFV-SOL 013). May be present otherwise. + type: string + apiMajorVersion: + description: > + Indicates the current major version of the API. Shall be + present for ETSI NFV specified RESTful NFV-MANO APIs. The + major version is defined in the standard the interface is + compliant to (see also clause 4.1 of ETSI GS NFV-SOL + 013). May be present otherwise. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - apiUri + securityInfo: + description: > + This type represents security related information for + accessing an NFV-MANO service interface produced by an + NFV-MANO functional entity. + type: object + required: + - authType + - oauthServerInfo + properties: + authType: + description: > + Type of API request authorization to be used by the API + consumer accessing the API. + + The support of authorization methods for the API consumer + is specified in clause 8.3.6 of ETSI GS NFV-SOL 013. + + Permitted values: - TLS_TUNNEL: Using TLS tunnel, as + defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using + access token, as defined by the OAuth 2.0 specification + in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - webFingerHost + properties: + webFingerHost: + description: > + Server where the WebFinger service is hosted. When + used, the request to the WebFinger resource shall + conform as specified in clause 5.1.3 of ETSI GS + NFV-SEC 022. + type: string + format: uri + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - authServerId + properties: + authServerId: + description: > + Authorization server identifier as defined in ETSI + GS NFV-SEC 022. + type: string + format: uri + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API consumer when performing the SSL + or TLS negotiation with the authorization server. + Valid values of cipher suites are defined in IETF RFC + 8447. + type: array + items: + type: string + minItems: 1 + tlsTunnelInfo: + description: > + Information and configuration related to the use of TLS + tunnel. Shall be present if authType contains + "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API consumer when performing the SSL + or TLS negotiation with the API producer. Valid + values of cipher suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - id + - name + - type + - standardVersion + - apiVersion + - apiEndpoint + consumedManoInterfaceDeleteIds: + description: > + List of identifiers entries to be deleted from the + "consumedManoInterfaces" attribute array in the " PeerEntity ", as + defined below this table. + type: array + items: + description: | + An identifier with the intention of being globally unique. + type: string + operationalState: + description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + - RESTARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + PeerEntityConfigModifications: + description: > + This type represents attribute modifications that were performed on an + "Individual peer entity" resource. The attributes that can be included + consist of those requested to be modified explicitly in the + "PeerEntityConfigModificationRequest" data structure. If applicable, + additional attributes of the "PeerEntity" data structure that were + modified implicitly shall also be provided. + type: object + properties: + name: + description: > + If present, this attribute signals modifications of the "name" + attribute in "PeerEntity", as defined in clause 5.6.2.15. + type: string + description: + description: > + If present, this attribute signals modifications of the + "description" attribute in "PeerEntity", as defined in clause + 5.6.2.15. + type: string + consumedManoInterfaces: + description: "If present, this attribute signals modifications of certain entries in \"consumedManoInterfaces\" attribute in \"PeerEntity\", as defined in clause 5.6.2.15. \nNOTE:\tDue to the security sensitive information contained within the attribute (refer to \"securityInfo\" within the \"ConsumedManoInterfaceInfo\"), based on access control policies, the API consumer might have read only, write only, read/write, or no access at all to the attribute’s value. In case the API consumer is not allowed to read the value of the security sensitive attribute, the attribute shall be omitted when the information is to be provided in a response message.\n" + type: array + items: + description: > + This type represents an interface consumed by the producer NFV + MANO functional entity from another peer functional entity. + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + name: + description: | + Human-readable name of the NFV-MANO interface. + type: string + type: + description: > + Type of the NFV-MANO service interface consumed by the + NFV-MANO functional entity. Valid values are defined in + clause 5.6.4.3. + type: string + standardVersion: + description: | + A version. + type: string + apiVersion: + description: | + A version. + type: string + apiEndpoint: + description: > + Consumable API endpoint of the interface. It provides the + information relevant about the protocol, host and port, and + path where the interface API can be accessed. + type: object + properties: + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiName: + description: > + Indicates the interface name in an abbreviated form. Shall + be present for ETSI NFV specified RESTful NFV-MANO APIs. + The {apiName} of each interface is defined in the + standard the interface is compliant to (see also clause + 4.1 of ETSI GS NFV-SOL 013). May be present otherwise. + type: string + apiMajorVersion: + description: > + Indicates the current major version of the API. Shall be + present for ETSI NFV specified RESTful NFV-MANO APIs. The + major version is defined in the standard the interface is + compliant to (see also clause 4.1 of ETSI GS NFV-SOL + 013). May be present otherwise. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - apiUri + securityInfo: + description: > + This type represents security related information for + accessing an NFV-MANO service interface produced by an + NFV-MANO functional entity. + type: object + required: + - authType + - oauthServerInfo + properties: + authType: + description: > + Type of API request authorization to be used by the API + consumer accessing the API. + + The support of authorization methods for the API consumer + is specified in clause 8.3.6 of ETSI GS NFV-SOL 013. + + Permitted values: - TLS_TUNNEL: Using TLS tunnel, as + defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using + access token, as defined by the OAuth 2.0 specification + in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - webFingerHost + properties: + webFingerHost: + description: > + Server where the WebFinger service is hosted. When + used, the request to the WebFinger resource shall + conform as specified in clause 5.1.3 of ETSI GS + NFV-SEC 022. + type: string + format: uri + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - authServerId + properties: + authServerId: + description: > + Authorization server identifier as defined in ETSI + GS NFV-SEC 022. + type: string + format: uri + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API consumer when performing the SSL + or TLS negotiation with the authorization server. + Valid values of cipher suites are defined in IETF RFC + 8447. + type: array + items: + type: string + minItems: 1 + tlsTunnelInfo: + description: > + Information and configuration related to the use of TLS + tunnel. Shall be present if authType contains + "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API consumer when performing the SSL + or TLS negotiation with the API producer. Valid + values of cipher suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - id + - name + - type + - standardVersion + - apiVersion + - apiEndpoint + consumedManoInterfaceDeleteIds: + description: > + If present, this attribute signals the deletions of certain entries + in the "consumedManoInterfaces" attribute in "PeerEntity", as + defined in clause 5.6.2.15. + type: array + items: + description: | + An identifier with the intention of being globally unique. + type: string + operationalState: + description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + - RESTARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + ManoConfigurableParams: + description: | + # Warning: No definition found in the document ManoConfigurableParams + ManoEntityComponent: + description: > + This type represents information of a deployed component realizing part + of an NFV-MANO functional entity. It is optional for the API producer + to support this type. + type: object + properties: + id: + 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 + manoServiceIds: + description: > + References to the NFV-MANO services that depend on the NFV-MANO + functional entity component. The identifier of the ManoService is + referred. A service may depend on multiple components. Multiple + services may depend on the same component. + 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 + required: + - id + ManoService: + description: > + This type represents information about an NFV-MANO service provided by + the NFV-MANO functional entity. + type: object + properties: + id: + 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 + name: + description: | + Human-readable name of the NFV-MANO service. + This attribute can be modified with the PATCH method. + type: string + description: + description: | + Human-readable description of the NFV-MANO service. + This attribute can be modified with the PATCH method. + type: string + manoServiceInterfaceIds: + description: "Reference to the NFV-MANO interfaces associated to the NFV-MANO service. If cardinality is greater than one, the type of ManoServiceInterface (see clause 5.6.3.3) shall be the same. The identifier of the ManoServiceInterface is referred. \nNOTE:\tA cardinality greater than one supports having different interface versions or apiEndpoints to be used for accessing the same instance of a NFV-MANO service.\n" + 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 + minItems: 1 + _links: + description: | + Links to resources related to this resource. + type: object + properties: + manoServiceInterfaces: + description: > + Link to the "individual NFV-MANO service interface" resources + with information about the associated interfaces to the + NFV-MANO service. + 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 + minItems: 1 + required: + - manoServiceInterfaces + required: + - id + - name + - description + - manoServiceInterfaceIds + - _links + NfvoSpecificInfo: + description: > + This type represents information attributes specific to an NFVO entity, + and that can be relevant to more than one NFV-MANO service offered by + an NFVO entity. + type: object + properties: + maxOnboardedNsdNum: + description: > + Maximum number of NSDs that can be on-boarded on the NFVO. + + NOTE: If this attribute is not present, the value of this parameter + is undefined. + type: integer + maxOnboardedVnfPkgNum: + description: > + Maximum number of VNF Packages that can be on-boarded on the NFVO. + + NOTE: If this attribute is not present, the value of this parameter + is undefined. + type: integer + supportedVnfdFormats: + description: | + Supported VNFD data formats. + type: object + properties: + vnfdFormat: + description: | + Name of the VNFD format. + Permitted values: + - TOSCA: The VNFD follows TOSCA definition, according to ETSI + GS NFV-SOL 001 standard. + - YANG: The VNFD follows YANG definition according to ETSI + GS NFV-SOL 006 standard. + type: string + enum: + - TOSCA + - YANG + standardVersion: + description: | + A version. + type: string + required: + - vnfdFormat + - standardVersion + supportedNsdFormats: + description: | + Supported NSD data formats. + type: object + properties: + nsdFormat: + description: | + Name of the NSD format. + Permitted values: + - TOSCA: The VNFD follows TOSCA definition, according to ETSI + GS NFV-SOL 001 standard. + - YANG: The VNFD follows YANG definition according to ETSI + GS NFV-SOL 006 standard. + type: string + enum: + - TOSCA + - YANG + standardVersion: + description: | + A version. + type: string + required: + - nsdFormat + - standardVersion + required: + - supportedVnfdFormats + - supportedNsdFormats + VnfmSpecificInfo: + description: > + This type represents information attributes specific to a VNFM entity, + and that can be relevant to more than one NFV-MANO service offered by a + VNFM entity. + type: object + properties: + resoruceMgmtModeSupport: + description: | + The supported resource management modes of the VNFM. + Permitted values: + - DIRECT: The VNFM supports direct mode only. + - INDIRECT: The VNFM supports indirect mode only. + - BOTH: The VNFM supports both direct and indirect mode. + type: string + enum: + - DIRECT + - INDIRECT + - BOTH + managedVnfInstanceInfos: + description: > + The kinds of VNF instances that can be managed, e.g. to determine + the compatibility of a VNF with certain VNFM according to the + vnfmInfo attribute in the VNFD (see table 7.1.2.2-1 in ETSI GS + NFV-IFA 011). + type: array + items: + type: string + minItems: 1 + supportedVnfdFormats: + description: | + Supported VNFD data formats. + type: array + items: + type: object + properties: + vnfdFormat: + description: | + Name of the VNFD format. + Permitted values: + - TOSCA: The VNFD follows TOSCA definition, according to ETSI + GS NFV-SOL 001 standard. + - YANG: The VNFD follows YANG definition according to ETSI + GS NFV-SOL 006 standard. + type: string + enum: + - TOSCA + - YANG + standardVersion: + description: | + A version. + type: string + required: + - vnfdFormat + - standardVersion + minItems: 1 + required: + - resoruceMgmtModeSupport + - managedVnfInstanceInfos + - supportedVnfdFormats + VimSpecificInfo: + description: > + This type represents information attributes specific to a VIM entity, + and that can be relevant to more than one NFV-MANO service offered by a + VIM entity. + type: object + ManoEntityConfigurableParams: + description: > + This type represents list of parameters that can be configured on the + NFV MANO functional entity. + type: object + properties: + clockSyncs: + description: >- + Properties of the clock synchronization to be used by the NFV-MANO + functional entity. + type: array + items: + description: | + This type represents parameters for connecting to an NTP server. + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + type: + description: | + Type of clock synchronization. + Permitted values: + - NTP: For Network Time Protocol (NTP) based clock synchronization. + - OTHER: For other types of clock synchronization. + type: string + enum: + - NTP + - OTHER + ntpServerInfo: + description: > + Information for the NTP based clock synchronization. Shall be + present if type = "NTP". + type: object + properties: + ipAddress: + description: > + An IPV4 or IPV6 address. Representation: In case of an + IPV4 address, string that consists of four decimal + integers separated by dots, each integer ranging from 0 to + 255. In case of an IPV6 address, string that consists of + groups of zero to four hexadecimal digits, separated by + colons. + type: string + format: IP + hostname: + description: "Indicates the hostname of the NTP server. \nNOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n" + type: string + otherClockSyncParams: + description: > + This type represents a list of key-value pairs. The order of + the pairs in the list is not significant. In JSON, a set of + keyvalue pairs is represented as an object. It shall comply + with the provisions defined in clause 4 of IETF RFC 8259. In + the following example, a list of key-value pairs with four + keys ("aString", "aNumber", "anArray" and "anObject") is + provided to illustrate that the values associated with + different keys can be of different type. + type: object + required: + - id + - type + minItems: 1 + defaultLogCompileBySizeValue: + description: | + Unsigned integer + type: number + defaultLogCompileByTimerValue: + description: | + Unsigned integer + type: number + required: + - clockSyncs + - defaultLogCompileBySizeValue + - defaultLogCompileByTimerValue + ConsumedManoInterfaceInfo: + description: > + This type represents an interface consumed by the producer NFV MANO + functional entity from another peer functional entity. + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + name: + description: | + Human-readable name of the NFV-MANO interface. + type: string + type: + description: > + Type of the NFV-MANO service interface consumed by the NFV-MANO + functional entity. Valid values are defined in clause 5.6.4.3. + type: string + standardVersion: + description: | + A version. + type: string + apiVersion: + description: | + A version. + type: string + apiEndpoint: + description: > + Consumable API endpoint of the interface. It provides the + information relevant about the protocol, host and port, and path + where the interface API can be accessed. + type: object + properties: + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiName: + description: > + Indicates the interface name in an abbreviated form. Shall be + present for ETSI NFV specified RESTful NFV-MANO APIs. The + {apiName} of each interface is defined in the standard the + interface is compliant to (see also clause 4.1 of ETSI GS + NFV-SOL 013). May be present otherwise. + type: string + apiMajorVersion: + description: > + Indicates the current major version of the API. Shall be present + for ETSI NFV specified RESTful NFV-MANO APIs. The major version + is defined in the standard the interface is compliant to (see + also clause 4.1 of ETSI GS NFV-SOL 013). May be present + otherwise. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - apiUri + securityInfo: + description: > + This type represents security related information for accessing an + NFV-MANO service interface produced by an NFV-MANO functional + entity. + type: object + required: + - authType + - oauthServerInfo + properties: + authType: + description: > + Type of API request authorization to be used by the API consumer + accessing the API. + + The support of authorization methods for the API consumer is + specified in clause 8.3.6 of ETSI GS NFV-SOL 013. + + Permitted values: - TLS_TUNNEL: Using TLS tunnel, as defined by + TLS 1.2 in IETF RFC 5246. - OAUTH2: Using access token, as + defined by the OAuth 2.0 specification in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: | + OAuth 2.0 authorization server information and configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - webFingerHost + properties: + webFingerHost: + description: > + Server where the WebFinger service is hosted. When used, + the request to the WebFinger resource shall conform as + specified in clause 5.1.3 of ETSI GS NFV-SEC 022. + type: string + format: uri + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - authServerId + properties: + authServerId: + description: > + Authorization server identifier as defined in ETSI GS + NFV-SEC 022. + type: string + format: uri + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as supported by + the API consumer when performing the SSL or TLS negotiation + with the authorization server. Valid values of cipher + suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + tlsTunnelInfo: + description: > + Information and configuration related to the use of TLS tunnel. + Shall be present if authType contains "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: > + List of cipher suites that shall be declared as supported by + the API consumer when performing the SSL or TLS negotiation + with the API producer. Valid values of cipher suites are + defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - id + - name + - type + - standardVersion + - apiVersion + - apiEndpoint + CimNotificationsFilter: + description: > + This type represents a subscription filter related to notifications + about NFV-MANO configuration and information management. + type: object + properties: + manoEntitySubscriptionFilter: + description: > + This type represents subscription filter criteria to match NFV-MANO + functional entities and their associated managed objects. + type: object + properties: + manoEntityId: + description: | + An identifier with the intention of being globally unique. + type: string + manoServiceIds: + description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" + 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. + + The attributes "manoServiceIds" and "manoServiceNames" are + alternatives to reference to NFV-MANO services in a filter. + They should not be used together in the same filter instance, + but one alternative should be chosen. + type: array + items: + type: string + manoServiceInterfaceIds: + description: > + If present, match NFV-MANO functional entity produced interfaces + with an instance identifier listed in this attribute. + + The attributes "manoServiceInterfaceIds" and + "manoServiceInterfaceNames" are alternatives to reference to + NFV-MANO functional entity produced interfaces in a filter. + They should not be used both in the same filter instance, but + one alternative should be chosen. + type: array + items: + description: > + An identifier 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. + + The attributes "manoServiceInterfaceIds" and + "manoServiceInterfaceNames" are alternatives to reference to + NFV-MANO functional entity produced interfaces in a filter. + They should not be used both in the same filter instance, but + one alternative should be chosen. + type: array + items: + type: string + consumedManoInterfaceIds: + description: > + If present, match NFV-MANO functional entity consumed interfaces + with an instance identifier listed in this attribute. + + The attributes "consumedManoInterfaceIds" and + "consumedManoInterfaceNames" are alternatives to reference to + NFV-MANO functional entity consumed interfaces in a filter. + They should not be used both in the same filter instance, but + one alternative should be chosen. + type: array + items: + description: | + An identifier with the intention of being globally unique. + type: string + consumedManoInterfaceNames: + description: > + If present, match NFV-MANO functional entity consumed interfaces + with an instance Name listed in this attribute. + + The attributes "consumedManoInterfaceIds" and + "consumedManoInterfaceNames" are alternatives to reference to + NFV-MANO functional entity consumed interfaces in a filter. + They should not be used both in the same filter instance, but + one alternative should be chosen. + type: array + items: + type: string + notificationTypes: + description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" + type: array + items: + type: string + enum: + - InformationChangedNotification + - ChangeStateNotification + ClockSyncInfo: + description: | + This type represents parameters for connecting to an NTP server. + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + type: + description: | + Type of clock synchronization. + Permitted values: + - NTP: For Network Time Protocol (NTP) based clock synchronization. + - OTHER: For other types of clock synchronization. + type: string + enum: + - NTP + - OTHER + ntpServerInfo: + description: > + Information for the NTP based clock synchronization. Shall be + present if type = "NTP". + type: object + properties: + ipAddress: + description: > + An IPV4 or IPV6 address. Representation: In case of an IPV4 + address, string that consists of four decimal integers separated + by dots, each integer ranging from 0 to 255. In case of an IPV6 + address, string that consists of groups of zero to four + hexadecimal digits, separated by colons. + type: string + format: IP + hostname: + description: "Indicates the hostname of the NTP server. \nNOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n" + type: string + otherClockSyncParams: + description: > + This type represents a list of key-value pairs. The order of the + pairs in the list is not significant. In JSON, a set of keyvalue + pairs is represented as an object. It shall comply with the + provisions defined in clause 4 of IETF RFC 8259. In the following + example, a list of key-value pairs with four keys ("aString", + "aNumber", "anArray" and "anObject") is provided to illustrate that + the values associated with different keys can be of different type. + type: object + required: + - id + - type + ServerInterfaceSecurityInfo: + description: > + This type represents security related information of an NFV-MANO + service interface produced by an NFV-MANO functional entity. + type: object + properties: + authType: + description: > + Type of API request authorization to be used by the API producer. + + The support of authorization methods for the API producer is + specified in clause 8.3.6 of ETSI GS NFV-SOL 013. + + Permitted values: + - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. + - OAUTH2: Using access token, as defined by the OAuth 2.0 specification + in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: | + OAuth 2.0 authorization server information and configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + webFingerHost: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - webFingerHost + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + authServerId: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - authServerId + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as supported by + the API producer when performing the SSL or TLS negotiation + with the authorization server. Valid values of cipher suites + are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - providedConfiguration + - tlsCipherSuites + tlsTunnelInfo: + description: > + Information and configuration related to the use of TLS tunnel. + Shall be present if authType contains "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: >- + List of cipher suites that shall be declared as supported by the + API producer when performing the SSL or TLS negotiation with the + API client. Valid values of cipher suites are defined in IETF + RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - tlsTunnelCipherSuites + required: + - authType + - oauthServerInfo + ClientInterfaceSecurityInfo: + description: > + This type represents security related information for accessing an + NFV-MANO service interface produced by an NFV-MANO functional entity. + type: object + required: + - authType + - oauthServerInfo + properties: + authType: + description: > + Type of API request authorization to be used by the API consumer + accessing the API. + + The support of authorization methods for the API consumer is + specified in clause 8.3.6 of ETSI GS NFV-SOL 013. + + Permitted values: - TLS_TUNNEL: Using TLS tunnel, as defined by TLS + 1.2 in IETF RFC 5246. - OAUTH2: Using access token, as defined by + the OAuth 2.0 specification in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: | + OAuth 2.0 authorization server information and configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - webFingerHost + properties: + webFingerHost: + description: > + Server where the WebFinger service is hosted. When used, the + request to the WebFinger resource shall conform as + specified in clause 5.1.3 of ETSI GS NFV-SEC 022. + type: string + format: uri + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - authServerId + properties: + authServerId: + description: > + Authorization server identifier as defined in ETSI GS + NFV-SEC 022. + type: string + format: uri + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as supported by the + API consumer when performing the SSL or TLS negotiation with + the authorization server. Valid values of cipher suites are + defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + tlsTunnelInfo: + description: > + Information and configuration related to the use of TLS tunnel. + Shall be present if authType contains "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: > + List of cipher suites that shall be declared as supported by the + API consumer when performing the SSL or TLS negotiation with + the API producer. Valid values of cipher suites are defined in + IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + ManoServiceInterfaceTypeShortName: + description: "For the RESTful NFV-MANO APIs, valid values are all values for \"apiName\" as defined in ETSI GS NFV-SOL 002, ETSI GS NFV-SOL 003, and ETSI GS NFV-SOL 005.\nFor the NFV-MANO service interfaces for which no API is specified by ETSI NFV, valid values are defined in table 5.6.4.3-1.\nNOTE:\tThe table is expected to be updated, by removing the corresponding listed entries, once the interfaces are specified as a RESTful NFV-MANO API. \n" + type: string + UsageStateEnumType: + description: "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n" + type: string + enum: + - IN_USE + - NOT_IN_USE + ChangeOperationalStateEnumType: + description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" + type: string + enum: + - START + - STOP + - RESTART + ChangeAdministrativeStateEnumType: + description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" + type: string + enum: + - LOCK + - UNLOCK + InterfaceOperationalStateEnumType: + description: "The enumeration InterfaceOperationalStateEnumType defines values representing the operational state of an NFV-MANO service interface type of managed entity. The InterfaceOperationalStateEnumType shall comply with the provisions :\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + StopEnumType: + description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions:\n - GRACEFUL\tTo stop the managed entity immediately after accepting the request.\n - FORCEFUL\tTo stop the managed entity attempting to gracefully discharge the entity from service.\n" + type: string + enum: + - GRACEFUL + - FORCEFUL + ManoEntityEnumType: + description: "The enumeration ManoEntityEnumType defines the permitted values to represent NFV-MANO functional entities. It shall comply with the provisions :\n - NFVO\tThe NFV-MANO functional entity is an NFVO.\n - VNFM\tThe NFV-MANO functional entity is a VNFM.\n - VIM\tThe NFV-MANO functional entity is a VIM.\n" + type: string + enum: + - NFVO + - VNFM + - VIM + PeerEntityEnumType: + description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" + type: string + enum: + - NFVO + - VNFM + - VIM + - WIM + - EM + - OSS + parameters: + filter.ManoServiceInterface: + 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 ManoServiceInterface and in data + types referenced from it shall be supported by the NFV-MANO functional + entity in the expression. + in: query + required: false + schema: + type: string + filter.CimSubscription: + 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 CimSubscription and in data + types referenced from it shall be supported by the NFV-MANO functional + entity in the expression. + in: query + required: false + schema: + type: string + filter.ChangeStateOpOcc: + 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 ChangeStateOpOcc and in data + types referenced from it shall be supported by the NFV-MANO functional + entity in the expression. + in: query + required: false + schema: + type: string + filter.PeerEntity: + 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 PeerEntity and in data types + referenced from it shall be supported by the NFV-MANO functional entity + in the expression. + in: query + required: false + schema: + type: string + exclude_default.ManoServiceInterface: + name: exclude_default + description: > + Indicates to exclude the following complex attributes from the + response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The + NFV-MANO functional entity shall support this parameter. + + The following attributes shall be excluded from the + ManoServiceInterface structure in the response body if this parameter + is provided, or none of the parameters "all_fields," "fields", + "exclude_fields", "exclude_default" are provided: - none + in: query + required: false + schema: + type: string + exclude_default.CimSubscription: + name: exclude_default + description: > + Indicates to exclude the following complex attributes from the + response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The + NFV-MANO functional entity shall support this parameter. + + The following attributes shall be excluded from the CimSubscription + structure in the response body if this parameter is provided, or none + of the parameters "all_fields," "fields", "exclude_fields", + "exclude_default" are provided: - none + in: query + required: false + schema: + type: string + exclude_default.ChangeStateOpOcc: + name: exclude_default + description: > + Indicates to exclude the following complex attributes from the + response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The + NFV-MANO functional entity shall support this parameter. + + The following attributes shall be excluded from the ChangeStateOpOcc + structure in the response body if this parameter is provided, or none + of the parameters "all_fields," "fields", "exclude_fields", + "exclude_default" are provided: - none + in: query + required: false + schema: + type: string + exclude_default.PeerEntity: + name: exclude_default + description: > + Indicates to exclude the following complex attributes from the + response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The + NFV-MANO functional entity shall support this parameter. + + The following attributes shall be excluded from the PeerEntity + structure in the response body if this parameter is provided, or none + of the parameters "all_fields," "fields", "exclude_fields", + "exclude_default" are provided: - none + in: query + required: false + schema: + type: string + manoServiceInterfaceId: + name: manoServiceInterfaceId + in: path + description: Identifier of the MANO service interface. + 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 + changeStateOpOccId: + name: changeStateOpOccId + in: path + description: Identifier of the change state operation occurrence + required: true + schema: + description: | + An identifier with the intention of being globally unique. + type: string + peerEntityId: + name: peerEntityId + in: path + description: Identifier of the peer entity + required: true + schema: + description: | + An identifier with the intention of being globally unique. + type: string + requestBodies: + ModifyManoEntityRequest: + description: > + Parameters for the NFV-MANO configuration and information modification, + as defined in clause 5.6.2.3. The Content-Type header shall be set to + "application/merge-patch+json" according to IETF RFC 7396. + content: + application/merge-patch+json: + schema: + description: > + This type represents attribute modifications for configuration + parameters of an NFV-MANO functional entity. + type: object + properties: + name: + description: | + New value of the "name" attribute in "ManoEntity". + type: string + description: + description: | + New value of the "description" attribute in "ManoEntity". + type: string + clockSyncs: + description: > + New content of certain entries in the "clockSyncs" attribute + array in the "ManoEntityConfigurableParams", as defined below + this table. + type: array + items: + description: > + This type represents parameters for connecting to an NTP + server. + type: object + properties: + id: + description: > + An identifier with the intention of being globally + unique. + type: string + type: + description: | + Type of clock synchronization. + Permitted values: + - NTP: For Network Time Protocol (NTP) based clock synchronization. + - OTHER: For other types of clock synchronization. + type: string + enum: + - NTP + - OTHER + ntpServerInfo: + description: > + Information for the NTP based clock synchronization. + Shall be present if type = "NTP". + type: object + properties: + ipAddress: + description: > + An IPV4 or IPV6 address. Representation: In case of + an IPV4 address, string that consists of four + decimal integers separated by dots, each integer + ranging from 0 to 255. In case of an IPV6 address, + string that consists of groups of zero to four + hexadecimal digits, separated by colons. + type: string + format: IP + hostname: + description: "Indicates the hostname of the NTP server. \nNOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n" + type: string + otherClockSyncParams: + description: > + This type represents a list of key-value pairs. The + order of the pairs in the list is not significant. In + JSON, a set of keyvalue pairs is represented as an + object. It shall comply with the provisions defined in + clause 4 of IETF RFC 8259. In the following example, a + list of key-value pairs with four keys ("aString", + "aNumber", "anArray" and "anObject") is provided to + illustrate that the values associated with different + keys can be of different type. + type: object + required: + - id + - type + clockSyncsDeleteIds: + description: > + List of identifiers entries to be deleted from the + "clockSyncs" attribute array in the + "ManoEntityConfigurableParams", as defined below this table. + type: array + items: + description: | + An identifier with the intention of being globally unique. + type: string + defaultLogCompileBySizeValue: + description: | + Unsigned integer + type: number + defaultLogCompileByTimerValue: + description: | + Unsigned integer + type: number + manoServiceModifications: + description: > + New content of certain entries in the "manoServices" attribute + array in the "ManoEntity", as defined below this table. + type: array + items: + type: object + properties: + id: + 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 + name: + description: "New value for the \"name\" attribute in the \"ManoService\". \nNOTE:\tAt least one of these attributes shall be provided if requesting a modification of the NFV-MANO service identified by \"id\".\n" + type: string + description: + description: "New value for the \"description\" attribute in the \"ManoService\".\nNOTE:\tAt least one of these attributes shall be provided if requesting a modification of the NFV-MANO service identified by \"id\".\n" + type: string + required: + - id + required: true + ChangeManoEntityStateRequest: + description: | + Parameters for the change state operation, as defined in clause 5.6.2.8. + content: + application/json: + schema: + description: > + This type represents request parameters for changing the state of + a managed entity. + type: object + properties: + operationalStateChange: + description: "A change of operational state. Shall be present if the state change request refers to the operational state. NOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" + type: object + properties: + operationalStateAction: + description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" + type: string + enum: + - START + - STOP + - RESTART + stopType: + description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions:\n - GRACEFUL\tTo stop the managed entity immediately after accepting the request.\n - FORCEFUL\tTo stop the managed entity attempting to gracefully discharge the entity from service.\n" + type: string + enum: + - GRACEFUL + - FORCEFUL + gracefulStopTimeout: + description: "The time internal (in seconds) to wait for the entity to be taken out of service during graceful stop. \nNOTE:\tThe \"stopType\" shall only be provided when the \"operationalStateAction\" attribute is equal to \"STOP\" or \"RESTART\". The \"gracefulStopTimeout\" shall be absent when the \"stopType\" attribute is equal to \"FORCEFUL\", and may be provided otherwise.\n" + type: integer + required: + - operationalStateAction + administrativeStateChange: + description: "A change of administrative state. Shall be present if the state change request refers to the administrative state. \nNOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" + type: object + properties: + administrativeStateAction: + description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" + type: string + enum: + - LOCK + - UNLOCK + required: + - administrativeStateAction + required: true + ModifyManoEnityInterfaceRequest: + description: > + Parameters for the modification of configuration parameters of the + NFV-MANO service interface, as defined in clause 5.6.2.12. + + The Content-Type header shall be set to "application/merge-patch+json" + according to IETF RFC 7396. + content: + application/merge-patch+json: + schema: + description: > + This type represents attribute modifications for configuration + parameters of an NFV-MANO service interface of the producer + NFV-MANO functional entity. + type: object + properties: + name: + description: "New value of the \"name\" attribute in \"ManoServiceInterface\". \nNOTE:\tChanging the name does not change the corresponding standardized API name in the resource URI (refer to \"{apiName}\" defined in clause 4.1 of ETSI GS NFV-SOL 013).\n" + type: string + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + securityInfo: + description: > + This type represents security related information of an + NFV-MANO service interface produced by an NFV-MANO functional + entity. + type: object + properties: + authType: + description: > + Type of API request authorization to be used by the API + producer. + + The support of authorization methods for the API producer + is specified in clause 8.3.6 of ETSI GS NFV-SOL 013. + + Permitted values: + - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. + - OAUTH2: Using access token, as defined by the OAuth 2.0 specification + in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + webFingerHost: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - webFingerHost + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + authServerId: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - authServerId + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API producer when performing the SSL + or TLS negotiation with the authorization server. + Valid values of cipher suites are defined in IETF RFC + 8447. + type: array + items: + type: string + minItems: 1 + required: + - providedConfiguration + - tlsCipherSuites + tlsTunnelInfo: + description: > + Information and configuration related to the use of TLS + tunnel. Shall be present if authType contains + "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: >- + List of cipher suites that shall be declared as + supported by the API producer when performing the SSL + or TLS negotiation with the API client. Valid values + of cipher suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - tlsTunnelCipherSuites + required: + - authType + - oauthServerInfo + metadata: + description: > + This type represents a list of key-value pairs. The order of + the pairs in the list is not significant. In JSON, a set of + keyvalue pairs is represented as an object. It shall comply + with the provisions defined in clause 4 of IETF RFC 8259. In + the following example, a list of key-value pairs with four + keys ("aString", "aNumber", "anArray" and "anObject") is + provided to illustrate that the values associated with + different keys can be of different type. + type: object + required: true + ChangeManoEntityInterfaceStateRequest: + description: > + Parameters for the change state operation, as defined in clause + 5.6.2.8. + content: + application/json: + schema: + description: > + This type represents request parameters for changing the state of + a managed entity. + type: object + properties: + operationalStateChange: + description: "A change of operational state. Shall be present if the state change request refers to the operational state. NOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" + type: object + properties: + operationalStateAction: + description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" + type: string + enum: + - START + - STOP + - RESTART + stopType: + description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions:\n - GRACEFUL\tTo stop the managed entity immediately after accepting the request.\n - FORCEFUL\tTo stop the managed entity attempting to gracefully discharge the entity from service.\n" + type: string + enum: + - GRACEFUL + - FORCEFUL + gracefulStopTimeout: + description: "The time internal (in seconds) to wait for the entity to be taken out of service during graceful stop. \nNOTE:\tThe \"stopType\" shall only be provided when the \"operationalStateAction\" attribute is equal to \"STOP\" or \"RESTART\". The \"gracefulStopTimeout\" shall be absent when the \"stopType\" attribute is equal to \"FORCEFUL\", and may be provided otherwise.\n" + type: integer + required: + - operationalStateAction + administrativeStateChange: + description: "A change of administrative state. Shall be present if the state change request refers to the administrative state. \nNOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" + type: object + properties: + administrativeStateAction: + description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" + type: string + enum: + - LOCK + - UNLOCK + required: + - administrativeStateAction + required: true + CimSubscriptionRequest: + description: > + Details of the subscription to be created, as defined in clause + 5.6.2.5-1. + content: + application/json: + schema: + description: > + This type represents a subscription request related to + notifications about NFV-MANO configuration and information + management changes. + type: object + properties: + filter: + description: > + This type represents a subscription filter related to + notifications about NFV-MANO configuration and information + management. + type: object + properties: + manoEntitySubscriptionFilter: + description: > + This type represents subscription filter criteria to match + NFV-MANO functional entities and their associated managed + objects. + type: object + properties: + manoEntityId: + description: > + An identifier with the intention of being globally + unique. + type: string + manoServiceIds: + description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" + 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. + + The attributes "manoServiceIds" and "manoServiceNames" + are alternatives to reference to NFV-MANO services in + a filter. They should not be used together in the + same filter instance, but one alternative should be + chosen. + type: array + items: + type: string + manoServiceInterfaceIds: + description: > + If present, match NFV-MANO functional entity produced + interfaces with an instance identifier listed in this + attribute. + + The attributes "manoServiceInterfaceIds" and + "manoServiceInterfaceNames" are alternatives to + reference to NFV-MANO functional entity produced + interfaces in a filter. They should not be used both + in the same filter instance, but one alternative + should be chosen. + type: array + items: + description: > + An identifier 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. + + The attributes "manoServiceInterfaceIds" and + "manoServiceInterfaceNames" are alternatives to + reference to NFV-MANO functional entity produced + interfaces in a filter. They should not be used both + in the same filter instance, but one alternative + should be chosen. + type: array + items: + type: string + consumedManoInterfaceIds: + description: > + If present, match NFV-MANO functional entity consumed + interfaces with an instance identifier listed in this + attribute. + + The attributes "consumedManoInterfaceIds" and + "consumedManoInterfaceNames" are alternatives to + reference to NFV-MANO functional entity consumed + interfaces in a filter. They should not be used both + in the same filter instance, but one alternative + should be chosen. + type: array + items: + description: > + An identifier with the intention of being globally + unique. + type: string + consumedManoInterfaceNames: + description: > + If present, match NFV-MANO functional entity consumed + interfaces with an instance Name listed in this + attribute. + + The attributes "consumedManoInterfaceIds" and + "consumedManoInterfaceNames" are alternatives to + reference to NFV-MANO functional entity consumed + interfaces in a filter. They should not be used both + in the same filter instance, but one alternative + should be chosen. + type: array + items: + type: string + notificationTypes: + description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" + type: array + items: + type: string + enum: + - InformationChangedNotification + - ChangeStateNotification + 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 + required: + - callbackUri + required: true + CreatePeerEntityRequest: + description: | + The peer entity creation parameters, as defined in clause 5.6.2.14. + content: + application/json: + schema: + description: > + This type represents request parameters for the creation of a new + peer entity resource. + type: object + properties: + peerEntityId: + description: | + An identifier with the intention of being globally unique. + type: string + name: + description: | + Human-readable name of the peer functional entity. + type: string + type: + description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" + type: string + enum: + - NFVO + - VNFM + - VIM + - WIM + - EM + - OSS + description: + description: | + Human-readable description of the peer functional entity. + type: string + consumedManoInterfaces: + description: > + Information of the interface consumed by the NFV-MANO + functional entity from the peer functional entity. + type: array + items: + description: > + This type represents an interface consumed by the producer + NFV MANO functional entity from another peer functional + entity. + type: object + properties: + id: + description: > + An identifier with the intention of being globally + unique. + type: string + name: + description: | + Human-readable name of the NFV-MANO interface. + type: string + type: + description: > + Type of the NFV-MANO service interface consumed by the + NFV-MANO functional entity. Valid values are defined in + clause 5.6.4.3. + type: string + standardVersion: + description: | + A version. + type: string + apiVersion: + description: | + A version. + type: string + apiEndpoint: + description: > + Consumable API endpoint of the interface. It provides + the information relevant about the protocol, host and + port, and path where the interface API can be accessed. + type: object + properties: + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiName: + description: > + Indicates the interface name in an abbreviated form. + Shall be present for ETSI NFV specified RESTful + NFV-MANO APIs. The {apiName} of each interface is + defined in the standard the interface is compliant + to (see also clause 4.1 of ETSI GS NFV-SOL 013). + May be present otherwise. + type: string + apiMajorVersion: + description: > + Indicates the current major version of the API. + Shall be present for ETSI NFV specified RESTful + NFV-MANO APIs. The major version is defined in the + standard the interface is compliant to (see also + clause 4.1 of ETSI GS NFV-SOL 013). May be present + otherwise. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - apiUri + securityInfo: + description: > + This type represents security related information for + accessing an NFV-MANO service interface produced by an + NFV-MANO functional entity. + type: object + required: + - authType + - oauthServerInfo + properties: + authType: + description: > + Type of API request authorization to be used by the + API consumer accessing the API. + + The support of authorization methods for the API + consumer is specified in clause 8.3.6 of ETSI GS + NFV-SOL 013. + + Permitted values: - TLS_TUNNEL: Using TLS tunnel, as + defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using + access token, as defined by the OAuth 2.0 + specification in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - webFingerHost + properties: + webFingerHost: + description: > + Server where the WebFinger service is + hosted. When used, the request to the + WebFinger resource shall conform as + specified in clause 5.1.3 of ETSI GS + NFV-SEC 022. + type: string + format: uri + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - authServerId + properties: + authServerId: + description: > + Authorization server identifier as defined + in ETSI GS NFV-SEC 022. + type: string + format: uri + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API consumer when performing + the SSL or TLS negotiation with the + authorization server. Valid values of cipher + suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + tlsTunnelInfo: + description: > + Information and configuration related to the use of + TLS tunnel. Shall be present if authType contains + "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API consumer when performing + the SSL or TLS negotiation with the API + producer. Valid values of cipher suites are + defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - id + - name + - type + - standardVersion + - apiVersion + - apiEndpoint + peerEntityState: + description: | + Current values of the state of the peer functional entity. + type: object + properties: + operationalState: + description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + - RESTARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + required: + - operationalState + - administrativeState + required: + - peerEntityId + - name + - type + required: true + ModifyPeerEntityRequest: + description: > + Parameters for the modification of configuration parameters of the peer + functional entity, as defined in clause 5.6.2.16 + + The Content-Type header shall be set to "application/merge-patch+json" + according to IETF RFC 7396. + content: + application/merge-patch+json: + schema: + description: > + This type represents attribute modifications for configuration + parameters of a peer entity. + type: object + properties: + name: + description: | + New value of the "name" attribute in "PeerEntity". + type: string + description: + description: > + New value of the "description" attribute in "PeerEntity", or + "null" to remove the attribute. + type: string + consumedManoInterfaces: + description: "New content of certain entries in the \"consumedManoInterfaces\" attribute array in the \"PeerEntity\", as defined below this table. \nNOTE:\tDue to the security sensitive information contained within the attribute (refer to \"securityInfo\" within the \"ConsumedManoInterfaceInfo\"), based on access control policies, the API consumer might have read only, write only, read/write, or no access at all to the attribute’s value. In case the API consumer is not allowed to modify the value of the security sensitive attribute, and the modification request includes new attribute values, the whole modification request shall be rejected, and proper error information returned.\n" + type: array + items: + description: > + This type represents an interface consumed by the producer + NFV MANO functional entity from another peer functional + entity. + type: object + properties: + id: + description: > + An identifier with the intention of being globally + unique. + type: string + name: + description: | + Human-readable name of the NFV-MANO interface. + type: string + type: + description: > + Type of the NFV-MANO service interface consumed by the + NFV-MANO functional entity. Valid values are defined in + clause 5.6.4.3. + type: string + standardVersion: + description: | + A version. + type: string + apiVersion: + description: | + A version. + type: string + apiEndpoint: + description: > + Consumable API endpoint of the interface. It provides + the information relevant about the protocol, host and + port, and path where the interface API can be accessed. + type: object + properties: + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiName: + description: > + Indicates the interface name in an abbreviated form. + Shall be present for ETSI NFV specified RESTful + NFV-MANO APIs. The {apiName} of each interface is + defined in the standard the interface is compliant + to (see also clause 4.1 of ETSI GS NFV-SOL 013). + May be present otherwise. + type: string + apiMajorVersion: + description: > + Indicates the current major version of the API. + Shall be present for ETSI NFV specified RESTful + NFV-MANO APIs. The major version is defined in the + standard the interface is compliant to (see also + clause 4.1 of ETSI GS NFV-SOL 013). May be present + otherwise. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - apiUri + securityInfo: + description: > + This type represents security related information for + accessing an NFV-MANO service interface produced by an + NFV-MANO functional entity. + type: object + required: + - authType + - oauthServerInfo + properties: + authType: + description: > + Type of API request authorization to be used by the + API consumer accessing the API. + + The support of authorization methods for the API + consumer is specified in clause 8.3.6 of ETSI GS + NFV-SOL 013. + + Permitted values: - TLS_TUNNEL: Using TLS tunnel, as + defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using + access token, as defined by the OAuth 2.0 + specification in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - webFingerHost + properties: + webFingerHost: + description: > + Server where the WebFinger service is + hosted. When used, the request to the + WebFinger resource shall conform as + specified in clause 5.1.3 of ETSI GS + NFV-SEC 022. + type: string + format: uri + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - authServerId + properties: + authServerId: + description: > + Authorization server identifier as defined + in ETSI GS NFV-SEC 022. + type: string + format: uri + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API consumer when performing + the SSL or TLS negotiation with the + authorization server. Valid values of cipher + suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + tlsTunnelInfo: + description: > + Information and configuration related to the use of + TLS tunnel. Shall be present if authType contains + "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API consumer when performing + the SSL or TLS negotiation with the API + producer. Valid values of cipher suites are + defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - id + - name + - type + - standardVersion + - apiVersion + - apiEndpoint + consumedManoInterfaceDeleteIds: + description: > + List of identifiers entries to be deleted from the + "consumedManoInterfaces" attribute array in the " PeerEntity + ", as defined below this table. + type: array + items: + description: | + An identifier with the intention of being globally unique. + type: string + operationalState: + description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + - RESTARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + required: true + responses: + mano_entity.get.200: + description: > + 200 OK + + Shall be returned when configuration and information about the NFV-MANO + functional entity has been read successfully. The response body shall + contain a representation of the NFV-MANO functional entity, as defined + in clause 5.6.2.2. + 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 + content: + application/json: + schema: + description: | + This type represents an NFV-MANO functional entity. + type: object + required: + - id + - type + - name + - description + - provider + - softwareVersion + - manoConfigurableParams + - manoApplicationState + - _links + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + type: + description: "The enumeration ManoEntityEnumType defines the permitted values to represent NFV-MANO functional entities. It shall comply with the provisions :\n - NFVO\tThe NFV-MANO functional entity is an NFVO.\n - VNFM\tThe NFV-MANO functional entity is a VNFM.\n - VIM\tThe NFV-MANO functional entity is a VIM.\n" + type: string + enum: + - NFVO + - VNFM + - VIM + name: + description: | + Human-readable name of the NFV-MANO functional entity. + This attribute can be modified with the PATCH method. + type: string + description: + description: | + Human-readable description of the NFV-MANO functional entity. + This attribute can be modified with the PATCH method. + type: string + provider: + description: > + Information about the provider of the NFV-MANO functional + entity. It typically includes the name of the provider. + type: string + softwareVersion: + description: > + The version of the software of the NFV-MANO functional entity. + $ref: + "../components/SOL009_schemas.yaml#/components/schemas/Version" + manoEntityComponents: + description: "The deployed NFV-MANO functional entity components which realize the NFV-MANO functional entity. \nNOTE:\tIt is optional for the API producer to support the \"manoEntityComponents\" attribute.\n" + type: array + items: + description: > + This type represents information of a deployed component + realizing part of an NFV-MANO functional entity. It is + optional for the API producer to support this type. + type: object + properties: + id: + 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 + manoServiceIds: + description: > + References to the NFV-MANO services that depend on the + NFV-MANO functional entity component. The identifier of + the ManoService is referred. A service may depend on + multiple components. Multiple services may depend on the + same component. + 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 + required: + - id + manoServices: + description: > + Information about the NFV-MANO services provided by the + NFV-MANO functional entity. + type: array + items: + description: > + This type represents information about an NFV-MANO service + provided by the NFV-MANO functional entity. + type: object + properties: + id: + 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 + name: + description: | + Human-readable name of the NFV-MANO service. + This attribute can be modified with the PATCH method. + type: string + description: + description: | + Human-readable description of the NFV-MANO service. + This attribute can be modified with the PATCH method. + type: string + manoServiceInterfaceIds: + description: "Reference to the NFV-MANO interfaces associated to the NFV-MANO service. If cardinality is greater than one, the type of ManoServiceInterface (see clause 5.6.3.3) shall be the same. The identifier of the ManoServiceInterface is referred. \nNOTE:\tA cardinality greater than one supports having different interface versions or apiEndpoints to be used for accessing the same instance of a NFV-MANO service.\n" + 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 + minItems: 1 + _links: + description: | + Links to resources related to this resource. + type: object + properties: + manoServiceInterfaces: + description: > + Link to the "individual NFV-MANO service interface" + resources with information about the associated + interfaces to the NFV-MANO service. + 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 + minItems: 1 + required: + - manoServiceInterfaces + required: + - id + - name + - description + - manoServiceInterfaceIds + - _links + manoConfigurableParams: + description: > + # Warning: No definition found in the document + ManoConfigurableParams + manoApplicationState: + description: > + Information and current values of the NFV-MANO functional + entity’s application state. + type: object + required: + - operationalState + - administrativeState + - usageState + properties: + operationalState: + description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + - RESTARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + usageState: + description: "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n" + type: string + enum: + - IN_USE + - NOT_IN_USE + nfvoSpecificInfo: + description: > + This type represents information attributes specific to an + NFVO entity, and that can be relevant to more than one + NFV-MANO service offered by an NFVO entity. + type: object + properties: + maxOnboardedNsdNum: + description: > + Maximum number of NSDs that can be on-boarded on the + NFVO. + + NOTE: If this attribute is not present, the value of this + parameter is undefined. + type: integer + maxOnboardedVnfPkgNum: + description: > + Maximum number of VNF Packages that can be on-boarded on + the NFVO. + + NOTE: If this attribute is not present, the value of this + parameter is undefined. + type: integer + supportedVnfdFormats: + description: | + Supported VNFD data formats. + type: object + properties: + vnfdFormat: + description: | + Name of the VNFD format. + Permitted values: + - TOSCA: The VNFD follows TOSCA definition, according to ETSI + GS NFV-SOL 001 standard. + - YANG: The VNFD follows YANG definition according to ETSI + GS NFV-SOL 006 standard. + type: string + enum: + - TOSCA + - YANG + standardVersion: + description: | + A version. + type: string + required: + - vnfdFormat + - standardVersion + supportedNsdFormats: + description: | + Supported NSD data formats. + type: object + properties: + nsdFormat: + description: | + Name of the NSD format. + Permitted values: + - TOSCA: The VNFD follows TOSCA definition, according to ETSI + GS NFV-SOL 001 standard. + - YANG: The VNFD follows YANG definition according to ETSI + GS NFV-SOL 006 standard. + type: string + enum: + - TOSCA + - YANG + standardVersion: + description: | + A version. + type: string + required: + - nsdFormat + - standardVersion + required: + - supportedVnfdFormats + - supportedNsdFormats + vnfmSpecificInfo: + description: > + This type represents information attributes specific to a VNFM + entity, and that can be relevant to more than one NFV-MANO + service offered by a VNFM entity. + type: object + properties: + resoruceMgmtModeSupport: + description: | + The supported resource management modes of the VNFM. + Permitted values: + - DIRECT: The VNFM supports direct mode only. + - INDIRECT: The VNFM supports indirect mode only. + - BOTH: The VNFM supports both direct and indirect mode. + type: string + enum: + - DIRECT + - INDIRECT + - BOTH + managedVnfInstanceInfos: + description: > + The kinds of VNF instances that can be managed, e.g. to + determine the compatibility of a VNF with certain VNFM + according to the vnfmInfo attribute in the VNFD (see + table 7.1.2.2-1 in ETSI GS NFV-IFA 011). + type: array + items: + type: string + minItems: 1 + supportedVnfdFormats: + description: | + Supported VNFD data formats. + type: array + items: + type: object + properties: + vnfdFormat: + description: | + Name of the VNFD format. + Permitted values: + - TOSCA: The VNFD follows TOSCA definition, according to ETSI + GS NFV-SOL 001 standard. + - YANG: The VNFD follows YANG definition according to ETSI + GS NFV-SOL 006 standard. + type: string + enum: + - TOSCA + - YANG + standardVersion: + description: | + A version. + type: string + required: + - vnfdFormat + - standardVersion + minItems: 1 + required: + - resoruceMgmtModeSupport + - managedVnfInstanceInfos + - supportedVnfdFormats + vimSpecificInfo: + description: > + This type represents information attributes specific to a VIM + entity, and that can be relevant to more than one NFV-MANO + service offered by a VIM entity. + type: object + _links: + description: | + Links to resources related to this resource. + type: object + required: + - self + - manoServiceInterfaces + - peerEntities + - changeState + - changeStateOpOccs + 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 + manoServiceInterfaces: + 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 + peerEntities: + 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 + changeState: + 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 + changeStateOpOccs: + 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 + mano_entity.patch.200: + description: > + 200 OK + + Shall be returned when the modification of configuration on the + NFV-MANO functional entity has been accepted and completed. + 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 + content: + application/json: + schema: + description: > + This type represents attribute modifications that were performed + on the "NFV-MANO entity" resource of the producer NFV-MANO + functional entity. The attributes that can be included consist of + those requested to be modified explicitly in the + "ManoConfigModificationRequest" data structure. + type: object + properties: + name: + description: > + If present, this attribute signals modifications of the + "name" attribute in "ManoEntity", as defined in clause + 5.6.2.3 + type: string + description: + description: > + If present, this attribute signals modifications of the + "description" attribute in "ManoEntity", as defined in clause + 5.6.2.3. + type: string + clockSyncs: + description: > + If present, this attribute signals modifications of the + "clockSyncs" attribute in "ManoEntityConfigurableParams", as + defined in clause 5.6.2.3. + type: array + items: + description: > + This type represents parameters for connecting to an NTP + server. + type: object + properties: + id: + description: > + An identifier with the intention of being globally + unique. + type: string + type: + description: | + Type of clock synchronization. + Permitted values: + - NTP: For Network Time Protocol (NTP) based clock synchronization. + - OTHER: For other types of clock synchronization. + type: string + enum: + - NTP + - OTHER + ntpServerInfo: + description: > + Information for the NTP based clock synchronization. + Shall be present if type = "NTP". + type: object + properties: + ipAddress: + description: > + An IPV4 or IPV6 address. Representation: In case of + an IPV4 address, string that consists of four + decimal integers separated by dots, each integer + ranging from 0 to 255. In case of an IPV6 address, + string that consists of groups of zero to four + hexadecimal digits, separated by colons. + type: string + format: IP + hostname: + description: "Indicates the hostname of the NTP server. \nNOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n" + type: string + otherClockSyncParams: + description: > + This type represents a list of key-value pairs. The + order of the pairs in the list is not significant. In + JSON, a set of keyvalue pairs is represented as an + object. It shall comply with the provisions defined in + clause 4 of IETF RFC 8259. In the following example, a + list of key-value pairs with four keys ("aString", + "aNumber", "anArray" and "anObject") is provided to + illustrate that the values associated with different + keys can be of different type. + type: object + required: + - id + - type + clockSyncsDeleteIds: + description: > + If present, this attribute signals modifications of certain + entries in "clockSyncs" attribute in + "ManoEntityConfigurableParams", as defined in clause 5.6.2.3. + type: array + items: + description: | + An identifier with the intention of being globally unique. + type: string + defaultLogCompileBySizeValue: + description: | + Unsigned integer + type: number + defaultLogCompileByTimerValue: + description: | + Unsigned integer + type: number + manoServiceModifications: + description: > + If present, this attribute signals modifications of the + "manoServices" attribute array in the "ManoEntity", as + defined in clause 5.6.2.3. + type: array + items: + type: object + properties: + id: + 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 + name: + description: > + If present, this attribute signals modification of the + "name" attribute in the "ManoService". + type: string + description: + description: > + If present, this attribute signals modification of the + "description" attribute in the "ManoService". + type: string + required: + - id + mano_entity.patch.409: + description: > + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be + executed currently, due to a conflict with the state of the "NFV-MANO + entity" resource. + + Typically, this is due to the fact that another configuration and + information modification is ongoing. + + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + headers: + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP request + has provided an invalid authorization token. + 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 + mano_entity.patch.412: + description: > + 412 PRECONDITION FAILED + + Shall be returned upon the following error: A precondition given in an + HTTP request header is not fulfilled. + + Typically, this is due to an ETag mismatch, indicating that the + resource was modified by another entity. + + The response body should contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error + headers: + WWW-Authenticate: + description: > + Challenge if the 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 + mano_entity-change_state.post.202: + description: > + 202 ACCEPTED + + Shall be returned when the request has been accepted for processing. + + The response body shall be empty. + + The HTTP response shall include a "Location" HTTP header that contains + the URI of the newly-created "Individual change state operation + occurrence" resource corresponding to the operation. + 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 + Location: + description: > + The resource URI of the created "Individual change state operation + occurence" resource. + schema: + type: string + format: url + minimum: 1 + maximum: 1 + mano_entity-change_state.post.409: + description: > + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be + executed currently, due to a conflict with the state of the resource. + + Typically, this is due to the fact that the resource is in an + incompatible state, or that another change state operation is ongoing. + + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute shall convey more information about the error. + headers: + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP request + has provided an invalid authorization token. + 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 + mano_entity-mano_interfaces.get.200: + description: > + 200 OK + + Shall be returned when information about zero or more NFV-MANO service + interfaces has been queried successfully. + + The response body shall contain in an array the representations of zero + or more NFV-MANO service interfaces, as defined in clause 5.6.2.11. + + 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 N°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: + WWW-Authenticate: + description: > + Challenge if the 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 + Link: + description: > + Reference to other resources. Link HTTP header in this response + shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL + 013. + schema: + type: string + minimum: 0 + maximum: 1 + content: + application/json: + schema: + type: array + items: + description: > + This type represents an individual NFV-MANO service interface + produced by an NFV-MANO functional entity. + type: object + properties: + id: + 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 + name: + description: > + Human-readable name of the NFV-MANO functional entity + interface. + + This attribute can be modified with the PATCH method. + type: string + type: + description: > + Type of the NFV-MANO service interface produced by the + NFV-MANO functional entity. Valid values are defined in + clause 5.6.4.3. + type: string + standardVersion: + description: | + A version. + type: string + providerSpecificApiVersion: + description: | + A version. + type: string + apiVersion: + description: | + A version. + type: string + apiEndpoint: + description: | + Exposed API endpoint of the interface. + type: object + properties: + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiName: + description: > + Indicates the interface name in an abbreviated form. + Shall be present for ETSI NFV specified RESTful + NFV-MANO APIs. The {apiName} of each interface is + defined in the standard the interface is compliant to + (see also clause 4.1 of ETSI GS NFV-SOL 013). May be + present otherwise. + type: string + apiMajorVersion: + description: > + Indicates the current major version of the API. Shall be + present for ETSI NFV specified RESTful NFV-MANO APIs. + The major version is defined in the standard the + interface is compliant to (see also clause 4.1 of ETSI + GS NFV-SOL 013). May be present otherwise. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - apiUri + maxConcurrentIntOpNumber: + description: "Maximum number of concurrent operation requests supported on this interface. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" + type: integer + supportedOperations: + description: | + Information about supported operations of this interface. + type: array + items: + type: object + properties: + operationName: + description: | + Name of the operation supported on the interface. + type: string + maxConcurrentOpNumber: + description: "Maximum number of concurrent requests supported by the interface operation. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" + type: integer + required: + - operationName + minItems: 1 + interfaceState: + description: | + State of the NFV-MANO service interface. + properties: + operationalState: + description: "The enumeration InterfaceOperationalStateEnumType defines values representing the operational state of an NFV-MANO service interface type of managed entity. The InterfaceOperationalStateEnumType shall comply with the provisions :\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + usageState: + description: "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n" + type: string + enum: + - IN_USE + - NOT_IN_USE + required: + - operationalState + - administrativeState + - usageState + securityInfo: + description: > + This type represents security related information of an + NFV-MANO service interface produced by an NFV-MANO + functional entity. + type: object + properties: + authType: + description: > + Type of API request authorization to be used by the API + producer. + + The support of authorization methods for the API + producer is specified in clause 8.3.6 of ETSI GS + NFV-SOL 013. + + Permitted values: + - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. + - OAUTH2: Using access token, as defined by the OAuth 2.0 specification + in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + webFingerHost: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - webFingerHost + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + authServerId: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - authServerId + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API producer when performing the + SSL or TLS negotiation with the authorization + server. Valid values of cipher suites are defined + in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - providedConfiguration + - tlsCipherSuites + tlsTunnelInfo: + description: > + Information and configuration related to the use of TLS + tunnel. Shall be present if authType contains + "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: >- + List of cipher suites that shall be declared as + supported by the API producer when performing the + SSL or TLS negotiation with the API client. Valid + values of cipher suites are defined in IETF RFC + 8447. + type: array + items: + type: string + minItems: 1 + required: + - tlsTunnelCipherSuites + required: + - authType + - oauthServerInfo + metadata: + description: > + This type represents a list of key-value pairs. The order of + the pairs in the list is not significant. In JSON, a set of + keyvalue pairs is represented as an object. It shall comply + with the provisions defined in clause 4 of IETF RFC 8259. In + the following example, a list of key-value pairs with four + keys ("aString", "aNumber", "anArray" and "anObject") is + provided to illustrate that the values associated with + different keys can be of different type. + type: object + required: + - id + - name + - type + - standardVersion + - providerSpecificApiVersion + - apiVersion + - apiEndpoint + - supportedOperations + - interfaceState + mano_entity-mano_interfaces.get.400: + description: | + 400 BAD REQUEST + Shall be returned upon the following errors: + - Invalid attribute-based filtering expression. + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + - Invalid attribute selector. + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + - Response too big. + If the NFV-MANO functional entity supports alternative N°1 (error) + according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, + this error response shall follow the provisions in clause 5.4.2.2 of + ETSI GS NFV-SOL 013. + 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 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure from + IETF RFC 7807 [19] is reproduced inthis structure. Compared to the + general framework defined in IETF RFC 7807 [19], the "status" and + "detail" attributes are mandated to be included by the present + document, to ensure that the response contains additional textual + information about an error. IETF RFC 7807 [19] foresees + extensibility of the "ProblemDetails" type. It is possible that + particular APIs in the present document, or particular + implementations, define extensions to define additional attributes + that provide more information about the error. The description + column only provides some explanation of the meaning to Facilitate + understanding of the design. For a full description, see IETF RFC + 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that identifies + the problem type. It is encouraged that the URI provides + human-readable documentation for the problem (e.g. using HTML) + when dereferenced. When this member is not present, its value + is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It should + not change from occurrence to occurrence of the problem, + except for purposes of localization. If type is given and + other than "about:blank", this attribute shall also be + provided. A short, human-readable summary of the problem + type. It SHOULD NOT change from occurrence to occurrence of + the problem, except for purposes of localization (e.g., using + proactive content negotiation; see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. The + HTTP status code ([RFC7231], Section 6) generated by the + origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence of + the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of the + problem. It may yield further information if dereferenced. + type: string + format: URI + mano_entity-mano_interface.get.200: + description: > + 200 OK + + Shall be returned when information about an individual NFV-MANO service + interface has been read successfully. + + The response body shall contain a representation of the NFV-MANO + service interface, as defined in clause 5.6.2.11. + 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 + content: + application/json: + schema: + description: > + This type represents an individual NFV-MANO service interface + produced by an NFV-MANO functional entity. + type: object + properties: + id: + 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 + name: + description: > + Human-readable name of the NFV-MANO functional entity + interface. + + This attribute can be modified with the PATCH method. + type: string + type: + description: > + Type of the NFV-MANO service interface produced by the + NFV-MANO functional entity. Valid values are defined in + clause 5.6.4.3. + type: string + standardVersion: + description: | + A version. + type: string + providerSpecificApiVersion: + description: | + A version. + type: string + apiVersion: + description: | + A version. + type: string + apiEndpoint: + description: | + Exposed API endpoint of the interface. + type: object + properties: + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiName: + description: > + Indicates the interface name in an abbreviated form. Shall + be present for ETSI NFV specified RESTful NFV-MANO APIs. + The {apiName} of each interface is defined in the + standard the interface is compliant to (see also clause + 4.1 of ETSI GS NFV-SOL 013). May be present otherwise. + type: string + apiMajorVersion: + description: > + Indicates the current major version of the API. Shall be + present for ETSI NFV specified RESTful NFV-MANO APIs. The + major version is defined in the standard the interface is + compliant to (see also clause 4.1 of ETSI GS NFV-SOL + 013). May be present otherwise. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - apiUri + maxConcurrentIntOpNumber: + description: "Maximum number of concurrent operation requests supported on this interface. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" + type: integer + supportedOperations: + description: | + Information about supported operations of this interface. + type: array + items: + type: object + properties: + operationName: + description: | + Name of the operation supported on the interface. + type: string + maxConcurrentOpNumber: + description: "Maximum number of concurrent requests supported by the interface operation. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" + type: integer + required: + - operationName + minItems: 1 + interfaceState: + description: | + State of the NFV-MANO service interface. + properties: + operationalState: + description: "The enumeration InterfaceOperationalStateEnumType defines values representing the operational state of an NFV-MANO service interface type of managed entity. The InterfaceOperationalStateEnumType shall comply with the provisions :\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + usageState: + description: "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n" + type: string + enum: + - IN_USE + - NOT_IN_USE + required: + - operationalState + - administrativeState + - usageState + securityInfo: + description: > + This type represents security related information of an + NFV-MANO service interface produced by an NFV-MANO functional + entity. + type: object + properties: + authType: + description: > + Type of API request authorization to be used by the API + producer. + + The support of authorization methods for the API producer + is specified in clause 8.3.6 of ETSI GS NFV-SOL 013. + + Permitted values: + - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. + - OAUTH2: Using access token, as defined by the OAuth 2.0 specification + in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + webFingerHost: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - webFingerHost + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + authServerId: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - authServerId + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API producer when performing the SSL + or TLS negotiation with the authorization server. + Valid values of cipher suites are defined in IETF RFC + 8447. + type: array + items: + type: string + minItems: 1 + required: + - providedConfiguration + - tlsCipherSuites + tlsTunnelInfo: + description: > + Information and configuration related to the use of TLS + tunnel. Shall be present if authType contains + "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: >- + List of cipher suites that shall be declared as + supported by the API producer when performing the SSL + or TLS negotiation with the API client. Valid values + of cipher suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - tlsTunnelCipherSuites + required: + - authType + - oauthServerInfo + metadata: + description: > + This type represents a list of key-value pairs. The order of + the pairs in the list is not significant. In JSON, a set of + keyvalue pairs is represented as an object. It shall comply + with the provisions defined in clause 4 of IETF RFC 8259. In + the following example, a list of key-value pairs with four + keys ("aString", "aNumber", "anArray" and "anObject") is + provided to illustrate that the values associated with + different keys can be of different type. + type: object + required: + - id + - name + - type + - standardVersion + - providerSpecificApiVersion + - apiVersion + - apiEndpoint + - supportedOperations + - interfaceState + mano_entity-mano_interface.patch.200: + description: > + 200 OK + + Shall be returned when the request has been accepted and completed. + + The response body shall contain a representation of the attribute + modifications for the "Individual NFV-MANO service interface" resource, + as defined in clause 5.6.2.13. + 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 + content: + application/json: + schema: + description: > + This type represents attribute modifications that were performed + on an Individual NFV-MANO service interface" resource. The + attributes that can be included consist of those requested to be + modified explicitly in the + "ManoServiceInterfaceModificationRequest" data structure. If + applicable, additional attributes of the "ManoServiceInterface" + data structure that were modified implicitly shall also be + provided. + type: object + properties: + name: + description: > + If present, this attribute signals modifications of the "name" + attribute in "ManoServiceInterface", as defined in clause + 5.6.2.11. + type: string + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + securityInfo: + description: > + This type represents security related information of an + NFV-MANO service interface produced by an NFV-MANO functional + entity. + type: object + properties: + authType: + description: > + Type of API request authorization to be used by the API + producer. + + The support of authorization methods for the API producer + is specified in clause 8.3.6 of ETSI GS NFV-SOL 013. + + Permitted values: + - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. + - OAUTH2: Using access token, as defined by the OAuth 2.0 specification + in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + webFingerHost: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - webFingerHost + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + authServerId: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - authServerId + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API producer when performing the SSL + or TLS negotiation with the authorization server. + Valid values of cipher suites are defined in IETF RFC + 8447. + type: array + items: + type: string + minItems: 1 + required: + - providedConfiguration + - tlsCipherSuites + tlsTunnelInfo: + description: > + Information and configuration related to the use of TLS + tunnel. Shall be present if authType contains + "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: >- + List of cipher suites that shall be declared as + supported by the API producer when performing the SSL + or TLS negotiation with the API client. Valid values + of cipher suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - tlsTunnelCipherSuites + required: + - authType + - oauthServerInfo + metadata: + description: > + This type represents a list of key-value pairs. The order of + the pairs in the list is not significant. In JSON, a set of + keyvalue pairs is represented as an object. It shall comply + with the provisions defined in clause 4 of IETF RFC 8259. In + the following example, a list of key-value pairs with four + keys ("aString", "aNumber", "anArray" and "anObject") is + provided to illustrate that the values associated with + different keys can be of different type. + type: object + mano_entity-mano_interface.patch.409: + description: > + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be + executed currently, due to a conflict with the state of the "Individual + NFV-MANO service interface" resource. + + Typically, this is due to the fact that another operation is ongoing. + + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + headers: + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP request + has provided an invalid authorization token. + 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 + mano_entity-mano_interface.patch.412: + description: > + 412 PRECONDITION FAILED + + Shall be returned upon the following error: A precondition given in an + HTTP request header is not fulfilled. + + Typically, this is due to an ETag mismatch, indicating that the + resource was modified by another entity. + + The response body should contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + headers: + WWW-Authenticate: + description: > + Challenge if the 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 + mano_entity-mano_interface-change_state.post.202: + description: > + 202 ACCEPTED + + Shall be returned when the request has been accepted for processing. + + The response body shall be empty. + + The HTTP response shall include a “Location” HTTP header that contains + the URI of the newly-created "Individual change state operation + occurrence" resource corresponding to the operation. + 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 + Location: + description: > + The resource URI of the created "Individual change state operation + occurence" resource. + schema: + type: string + format: url + minimum: 1 + maximum: 1 + mano_entity-mano_interface-change_state.post.409: + description: > + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be + executed currently, due to a conflict with the state of the resource. + + Typically, this is due to the fact that the resource is in an + incompatible state, or that another change state operation is ongoing. + + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute shall convey more information about the error. + headers: + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP request + has provided an invalid authorization token. + 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 + subscriptions.post.201: + description: > + 201 CREATED + + Shall be returned when the subscription has been created successfully. + + The response body shall contain a representation of the created + "Individual subscription" resource. + + The HTTP response shall include a "Location" HTTP header that points to + the created "Individual subscription" resource. + headers: + WWW-Authenticate: + description: > + Challenge if the 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 resource URI of the created "Individual subscription" resource. + schema: + type: string + format: url + minimum: 1 + maximum: 1 + content: + application/json: + schema: + description: > + This type represents a subscription related to notifications + about NFV-MANO configuration and information management changes + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + filter: + description: > + This type represents a subscription filter related to + notifications about NFV-MANO configuration and information + management. + type: object + properties: + manoEntitySubscriptionFilter: + description: > + This type represents subscription filter criteria to match + NFV-MANO functional entities and their associated managed + objects. + type: object + properties: + manoEntityId: + description: > + An identifier with the intention of being globally + unique. + type: string + manoServiceIds: + description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" + 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. + + The attributes "manoServiceIds" and "manoServiceNames" + are alternatives to reference to NFV-MANO services in + a filter. They should not be used together in the + same filter instance, but one alternative should be + chosen. + type: array + items: + type: string + manoServiceInterfaceIds: + description: > + If present, match NFV-MANO functional entity produced + interfaces with an instance identifier listed in this + attribute. + + The attributes "manoServiceInterfaceIds" and + "manoServiceInterfaceNames" are alternatives to + reference to NFV-MANO functional entity produced + interfaces in a filter. They should not be used both + in the same filter instance, but one alternative + should be chosen. + type: array + items: + description: > + An identifier 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. + + The attributes "manoServiceInterfaceIds" and + "manoServiceInterfaceNames" are alternatives to + reference to NFV-MANO functional entity produced + interfaces in a filter. They should not be used both + in the same filter instance, but one alternative + should be chosen. + type: array + items: + type: string + consumedManoInterfaceIds: + description: > + If present, match NFV-MANO functional entity consumed + interfaces with an instance identifier listed in this + attribute. + + The attributes "consumedManoInterfaceIds" and + "consumedManoInterfaceNames" are alternatives to + reference to NFV-MANO functional entity consumed + interfaces in a filter. They should not be used both + in the same filter instance, but one alternative + should be chosen. + type: array + items: + description: > + An identifier with the intention of being globally + unique. + type: string + consumedManoInterfaceNames: + description: > + If present, match NFV-MANO functional entity consumed + interfaces with an instance Name listed in this + attribute. + + The attributes "consumedManoInterfaceIds" and + "consumedManoInterfaceNames" are alternatives to + reference to NFV-MANO functional entity consumed + interfaces in a filter. They should not be used both + in the same filter instance, but one alternative + should be chosen. + type: array + items: + type: string + notificationTypes: + description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" + type: array + items: + type: string + enum: + - InformationChangedNotification + - ChangeStateNotification + callbackUri: + description: | + String formatted according to IETF RFC 3986. + type: string + _links: + description: | + Links to resources related to this resource. + type: object + 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 + required: + - self + required: + - id + - callbackUri + - _links + subscriptions.post.303: + description: > + 303 SEE OTHER + + SShall be returned when a subscription with the same callbackURI and + the same filter already exists and the policy of 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: + WWW-Authenticate: + description: > + Challenge if the 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 resource URI of the created "Individual subscription" resource. + schema: + type: string + format: url + minimum: 1 + maximum: 1 + subscriptions.get.200: + description: > + 200 OK + + 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 NFV-MANO configuration and + information management subscriptions as defined in clause 5.6.2.6. + + 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 N°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: + WWW-Authenticate: + description: > + Challenge if the 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 + Link: + description: > + Reference to other resources. Link HTTP header in this response + shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL + 013. + schema: + type: string + minimum: 0 + maximum: 1 + content: + application/json: + schema: + type: array + items: + description: > + This type represents a subscription related to notifications + about NFV-MANO configuration and information management changes + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + filter: + description: > + This type represents a subscription filter related to + notifications about NFV-MANO configuration and information + management. + type: object + properties: + manoEntitySubscriptionFilter: + description: > + This type represents subscription filter criteria to + match NFV-MANO functional entities and their associated + managed objects. + type: object + properties: + manoEntityId: + description: > + An identifier with the intention of being globally + unique. + type: string + manoServiceIds: + description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" + 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. + + The attributes "manoServiceIds" and + "manoServiceNames" are alternatives to reference to + NFV-MANO services in a filter. They should not be + used together in the same filter instance, but one + alternative should be chosen. + type: array + items: + type: string + manoServiceInterfaceIds: + description: > + If present, match NFV-MANO functional entity + produced interfaces with an instance identifier + listed in this attribute. + + The attributes "manoServiceInterfaceIds" and + "manoServiceInterfaceNames" are alternatives to + reference to NFV-MANO functional entity produced + interfaces in a filter. They should not be used both + in the same filter instance, but one alternative + should be chosen. + type: array + items: + description: > + An identifier 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. + + The attributes "manoServiceInterfaceIds" and + "manoServiceInterfaceNames" are alternatives to + reference to NFV-MANO functional entity produced + interfaces in a filter. They should not be used both + in the same filter instance, but one alternative + should be chosen. + type: array + items: + type: string + consumedManoInterfaceIds: + description: > + If present, match NFV-MANO functional entity + consumed interfaces with an instance identifier + listed in this attribute. + + The attributes "consumedManoInterfaceIds" and + "consumedManoInterfaceNames" are alternatives to + reference to NFV-MANO functional entity consumed + interfaces in a filter. They should not be used both + in the same filter instance, but one alternative + should be chosen. + type: array + items: + description: > + An identifier with the intention of being globally + unique. + type: string + consumedManoInterfaceNames: + description: > + If present, match NFV-MANO functional entity + consumed interfaces with an instance Name listed in + this attribute. + + The attributes "consumedManoInterfaceIds" and + "consumedManoInterfaceNames" are alternatives to + reference to NFV-MANO functional entity consumed + interfaces in a filter. They should not be used both + in the same filter instance, but one alternative + should be chosen. + type: array + items: + type: string + notificationTypes: + description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" + type: array + items: + type: string + enum: + - InformationChangedNotification + - ChangeStateNotification + callbackUri: + description: | + String formatted according to IETF RFC 3986. + type: string + _links: + description: | + Links to resources related to this resource. + type: object + 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 + required: + - self + required: + - id + - callbackUri + - _links + subscriptions.get.400: + description: | + 400 BAD REQUEST + Shall be returned upon the following errors: + - Invalid attribute-based filtering expression. + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + - Response too big. + If the NFV-MANO functional entity supports alternative N°1 (error) + according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, + this error response shall follow the provisions in clause 5.4.2.2 of + ETSI GS NFV-SOL 013. + 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 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure from + IETF RFC 7807 [19] is reproduced inthis structure. Compared to the + general framework defined in IETF RFC 7807 [19], the "status" and + "detail" attributes are mandated to be included by the present + document, to ensure that the response contains additional textual + information about an error. IETF RFC 7807 [19] foresees + extensibility of the "ProblemDetails" type. It is possible that + particular APIs in the present document, or particular + implementations, define extensions to define additional attributes + that provide more information about the error. The description + column only provides some explanation of the meaning to Facilitate + understanding of the design. For a full description, see IETF RFC + 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that identifies + the problem type. It is encouraged that the URI provides + human-readable documentation for the problem (e.g. using HTML) + when dereferenced. When this member is not present, its value + is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It should + not change from occurrence to occurrence of the problem, + except for purposes of localization. If type is given and + other than "about:blank", this attribute shall also be + provided. A short, human-readable summary of the problem + type. It SHOULD NOT change from occurrence to occurrence of + the problem, except for purposes of localization (e.g., using + proactive content negotiation; see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. The + HTTP status code ([RFC7231], Section 6) generated by the + origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence of + the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of the + problem. It may yield further information if dereferenced. + type: string + format: URI + subscription.get.200: + description: > + 200 OK + + Shall be returned when information about an individual subscription has + been read successfully. + + The response body shall contain a representation of the "Individual + subscription" resource. + 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 + content: + application/json: + schema: + description: > + This type represents a subscription related to notifications + about NFV-MANO configuration and information management changes + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + filter: + description: > + This type represents a subscription filter related to + notifications about NFV-MANO configuration and information + management. + type: object + properties: + manoEntitySubscriptionFilter: + description: > + This type represents subscription filter criteria to match + NFV-MANO functional entities and their associated managed + objects. + type: object + properties: + manoEntityId: + description: > + An identifier with the intention of being globally + unique. + type: string + manoServiceIds: + description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" + 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. + + The attributes "manoServiceIds" and "manoServiceNames" + are alternatives to reference to NFV-MANO services in + a filter. They should not be used together in the + same filter instance, but one alternative should be + chosen. + type: array + items: + type: string + manoServiceInterfaceIds: + description: > + If present, match NFV-MANO functional entity produced + interfaces with an instance identifier listed in this + attribute. + + The attributes "manoServiceInterfaceIds" and + "manoServiceInterfaceNames" are alternatives to + reference to NFV-MANO functional entity produced + interfaces in a filter. They should not be used both + in the same filter instance, but one alternative + should be chosen. + type: array + items: + description: > + An identifier 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. + + The attributes "manoServiceInterfaceIds" and + "manoServiceInterfaceNames" are alternatives to + reference to NFV-MANO functional entity produced + interfaces in a filter. They should not be used both + in the same filter instance, but one alternative + should be chosen. + type: array + items: + type: string + consumedManoInterfaceIds: + description: > + If present, match NFV-MANO functional entity consumed + interfaces with an instance identifier listed in this + attribute. + + The attributes "consumedManoInterfaceIds" and + "consumedManoInterfaceNames" are alternatives to + reference to NFV-MANO functional entity consumed + interfaces in a filter. They should not be used both + in the same filter instance, but one alternative + should be chosen. + type: array + items: + description: > + An identifier with the intention of being globally + unique. + type: string + consumedManoInterfaceNames: + description: > + If present, match NFV-MANO functional entity consumed + interfaces with an instance Name listed in this + attribute. + + The attributes "consumedManoInterfaceIds" and + "consumedManoInterfaceNames" are alternatives to + reference to NFV-MANO functional entity consumed + interfaces in a filter. They should not be used both + in the same filter instance, but one alternative + should be chosen. + type: array + items: + type: string + notificationTypes: + description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" + type: array + items: + type: string + enum: + - InformationChangedNotification + - ChangeStateNotification + callbackUri: + description: | + String formatted according to IETF RFC 3986. + type: string + _links: + description: | + Links to resources related to this resource. + type: object + 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 + required: + - self + required: + - id + - callbackUri + - _links + subscription.delete.204: + description: > + 204 NO CONTENT + + Shall be returned when the "Individual subscription" resource 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 + change_state_ops.get.200: + description: > + 200 OK + + Shall be returned when status information for zero or more "change + state operation occurrences" has been queried successfully. + + The response body shall contain in an array the status information + about zero or more "Individual change state operation occurrences", as + defined in clause 5.6.2.9. + + 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 N°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: + WWW-Authenticate: + description: > + Challenge if the 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 + Link: + description: > + Reference to other resources. Link HTTP header in this response + shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL + 013. + schema: + type: string + minimum: 0 + maximum: 1 + content: + application/json: + schema: + type: array + items: + description: | + This type represents a Change state operation occurrence. + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + operationState: + description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n" + type: string + enum: + - PROCESSING + - COMPLETED + - FAILED + stateEnteredTime: + description: > + Date-time stamp. Representation: String formatted according + to IETF RFC 3339. + type: string + format: date-time + startTime: + description: > + Date-time stamp. Representation: String formatted according + to IETF RFC 3339. + type: string + format: date-time + managedObjectRef: + 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 + changeOperationalStateRequest: + description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" + type: string + enum: + - START + - STOP + - RESTART + changeAdministrativeStateRequest: + description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" + type: string + enum: + - LOCK + - UNLOCK + operationParams: + description: > + Input parameters of the change state operation. This + attribute shall be formatted according to the request data + type of the related change state operation. + + The following mapping between operationType and the data + type of this attribute shall apply: + - CHANGE_STATE: ChangeStateRequest + + This attribute shall be present if this data type is + returned in a response to reading an individual resource, + and may be present according to the chosen attribute + selector parameter if this data type is returned in a + response to a query of a container resource. + required: + - id + - operationState + - stateEnteredTime + - startTime + - managedObjectRef + change_state_ops.get.400: + description: | + 400 BAD REQUEST + Shall be returned upon the following errors: + - Invalid attribute-based filtering expression. + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + - Invalid attribute selector. + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + - Response too big. + If the NFV-MANO functional entity supports alternative N°1 (error) + according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, + this error response shall follow the provisions in clause 5.4.2.2 of + ETSI GS NFV-SOL 013. + 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 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure from + IETF RFC 7807 [19] is reproduced inthis structure. Compared to the + general framework defined in IETF RFC 7807 [19], the "status" and + "detail" attributes are mandated to be included by the present + document, to ensure that the response contains additional textual + information about an error. IETF RFC 7807 [19] foresees + extensibility of the "ProblemDetails" type. It is possible that + particular APIs in the present document, or particular + implementations, define extensions to define additional attributes + that provide more information about the error. The description + column only provides some explanation of the meaning to Facilitate + understanding of the design. For a full description, see IETF RFC + 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that identifies + the problem type. It is encouraged that the URI provides + human-readable documentation for the problem (e.g. using HTML) + when dereferenced. When this member is not present, its value + is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It should + not change from occurrence to occurrence of the problem, + except for purposes of localization. If type is given and + other than "about:blank", this attribute shall also be + provided. A short, human-readable summary of the problem + type. It SHOULD NOT change from occurrence to occurrence of + the problem, except for purposes of localization (e.g., using + proactive content negotiation; see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. The + HTTP status code ([RFC7231], Section 6) generated by the + origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence of + the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of the + problem. It may yield further information if dereferenced. + type: string + format: URI + change_state_op.get.200: + description: > + 200 OK + + Shall be returned when information about an "Individual change state + operation occurrence" resource has been read successfully. + + The response body shall contain status information about a change state + operation occurrence, as defined in clause 5.6.2.9. + 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 + content: + application/json: + schema: + description: | + This type represents a Change state operation occurrence. + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + operationState: + description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n" + type: string + enum: + - PROCESSING + - COMPLETED + - FAILED + stateEnteredTime: + description: > + Date-time stamp. Representation: String formatted according to + IETF RFC 3339. + type: string + format: date-time + startTime: + description: > + Date-time stamp. Representation: String formatted according to + IETF RFC 3339. + type: string + format: date-time + managedObjectRef: + 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 + changeOperationalStateRequest: + description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" + type: string + enum: + - START + - STOP + - RESTART + changeAdministrativeStateRequest: + description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" + type: string + enum: + - LOCK + - UNLOCK + operationParams: + description: > + Input parameters of the change state operation. This attribute + shall be formatted according to the request data type of the + related change state operation. + + The following mapping between operationType and the data type + of this attribute shall apply: + - CHANGE_STATE: ChangeStateRequest + + This attribute shall be present if this data type is returned + in a response to reading an individual resource, and may be + present according to the chosen attribute selector parameter + if this data type is returned in a response to a query of a + container resource. + required: + - id + - operationState + - stateEnteredTime + - startTime + - managedObjectRef + peer_entities.post.201: + description: > + 201 CREATED + + Shall be returned when a new "Individual peer entity" resource has been + created successfully. + + The response body shall contain a representation of the created + resource with regards to a peer entity, as defined in clause 5.6.2.15. + + The HTTP response shall include a “Location” HTTP header that points to + the created "Individual peer entity" resource. + 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 + Location: + description: | + The resource URI of the created "Individual peer entity" resource. + schema: + type: string + format: url + minimum: 1 + maximum: 1 + content: + application/json: + schema: + description: | + This type represents an individual peer entity. + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + peerEntityId: + description: | + An identifier with the intention of being globally unique. + type: string + name: + description: | + Human-readable name of the peer functional entity. + This attribute can be modified with the PATCH method. + type: string + type: + description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" + type: string + enum: + - NFVO + - VNFM + - VIM + - WIM + - EM + - OSS + description: + description: | + Human-readable description of the peer functional entity. + This attribute can be modified with the PATCH method. + type: string + consumedManoInterfaces: + description: > + Information of the interface consumed by the NFV-MANO + functional entity from the peer functional entity. + + This attribute can be modified with the PATCH method. + type: array + items: + description: > + This type represents an interface consumed by the producer + NFV MANO functional entity from another peer functional + entity. + type: object + properties: + id: + description: > + An identifier with the intention of being globally + unique. + type: string + name: + description: | + Human-readable name of the NFV-MANO interface. + type: string + type: + description: > + Type of the NFV-MANO service interface consumed by the + NFV-MANO functional entity. Valid values are defined in + clause 5.6.4.3. + type: string + standardVersion: + description: | + A version. + type: string + apiVersion: + description: | + A version. + type: string + apiEndpoint: + description: > + Consumable API endpoint of the interface. It provides + the information relevant about the protocol, host and + port, and path where the interface API can be accessed. + type: object + properties: + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiName: + description: > + Indicates the interface name in an abbreviated form. + Shall be present for ETSI NFV specified RESTful + NFV-MANO APIs. The {apiName} of each interface is + defined in the standard the interface is compliant + to (see also clause 4.1 of ETSI GS NFV-SOL 013). + May be present otherwise. + type: string + apiMajorVersion: + description: > + Indicates the current major version of the API. + Shall be present for ETSI NFV specified RESTful + NFV-MANO APIs. The major version is defined in the + standard the interface is compliant to (see also + clause 4.1 of ETSI GS NFV-SOL 013). May be present + otherwise. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - apiUri + securityInfo: + description: > + This type represents security related information for + accessing an NFV-MANO service interface produced by an + NFV-MANO functional entity. + type: object + required: + - authType + - oauthServerInfo + properties: + authType: + description: > + Type of API request authorization to be used by the + API consumer accessing the API. + + The support of authorization methods for the API + consumer is specified in clause 8.3.6 of ETSI GS + NFV-SOL 013. + + Permitted values: - TLS_TUNNEL: Using TLS tunnel, as + defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using + access token, as defined by the OAuth 2.0 + specification in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - webFingerHost + properties: + webFingerHost: + description: > + Server where the WebFinger service is + hosted. When used, the request to the + WebFinger resource shall conform as + specified in clause 5.1.3 of ETSI GS + NFV-SEC 022. + type: string + format: uri + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - authServerId + properties: + authServerId: + description: > + Authorization server identifier as defined + in ETSI GS NFV-SEC 022. + type: string + format: uri + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API consumer when performing + the SSL or TLS negotiation with the + authorization server. Valid values of cipher + suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + tlsTunnelInfo: + description: > + Information and configuration related to the use of + TLS tunnel. Shall be present if authType contains + "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API consumer when performing + the SSL or TLS negotiation with the API + producer. Valid values of cipher suites are + defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - id + - name + - type + - standardVersion + - apiVersion + - apiEndpoint + peerEntityState: + description: > + State of the peer functional entity as provided by the API + consumer when creating the resource or when updating it with + the PATCH method. + type: object + properties: + operationalState: + description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + - RESTARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + required: + - operationalState + - administrativeState + required: + - id + - peerEntityId + - name + - type + - peerEntityState + peer_entities.get.200: + description: > + 200 OK + + Shall be returned when information about zero or more peer entities has + been queried successfully. + + The response body shall contain in an array the resource + representations of zero or more peer entities, as defined in clause + 5.6.2.15. + + 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 N°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: + WWW-Authenticate: + description: > + Challenge if the 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 + Link: + description: > + Reference to other resources. Link HTTP header in this response + shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL + 013. + schema: + type: string + minimum: 0 + maximum: 1 + content: + application/json: + schema: + type: array + items: + description: | + This type represents an individual peer entity. + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + peerEntityId: + description: | + An identifier with the intention of being globally unique. + type: string + name: + description: | + Human-readable name of the peer functional entity. + This attribute can be modified with the PATCH method. + type: string + type: + description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" + type: string + enum: + - NFVO + - VNFM + - VIM + - WIM + - EM + - OSS + description: + description: | + Human-readable description of the peer functional entity. + This attribute can be modified with the PATCH method. + type: string + consumedManoInterfaces: + description: > + Information of the interface consumed by the NFV-MANO + functional entity from the peer functional entity. + + This attribute can be modified with the PATCH method. + type: array + items: + description: > + This type represents an interface consumed by the producer + NFV MANO functional entity from another peer functional + entity. + type: object + properties: + id: + description: > + An identifier with the intention of being globally + unique. + type: string + name: + description: | + Human-readable name of the NFV-MANO interface. + type: string + type: + description: > + Type of the NFV-MANO service interface consumed by the + NFV-MANO functional entity. Valid values are defined + in clause 5.6.4.3. + type: string + standardVersion: + description: | + A version. + type: string + apiVersion: + description: | + A version. + type: string + apiEndpoint: + description: > + Consumable API endpoint of the interface. It provides + the information relevant about the protocol, host and + port, and path where the interface API can be + accessed. + type: object + properties: + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiName: + description: > + Indicates the interface name in an abbreviated + form. Shall be present for ETSI NFV specified + RESTful NFV-MANO APIs. The {apiName} of each + interface is defined in the standard the interface + is compliant to (see also clause 4.1 of ETSI GS + NFV-SOL 013). May be present otherwise. + type: string + apiMajorVersion: + description: > + Indicates the current major version of the API. + Shall be present for ETSI NFV specified RESTful + NFV-MANO APIs. The major version is defined in + the standard the interface is compliant to (see + also clause 4.1 of ETSI GS NFV-SOL 013). May be + present otherwise. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - apiUri + securityInfo: + description: > + This type represents security related information for + accessing an NFV-MANO service interface produced by + an NFV-MANO functional entity. + type: object + required: + - authType + - oauthServerInfo + properties: + authType: + description: > + Type of API request authorization to be used by + the API consumer accessing the API. + + The support of authorization methods for the API + consumer is specified in clause 8.3.6 of ETSI GS + NFV-SOL 013. + + Permitted values: - TLS_TUNNEL: Using TLS tunnel, + as defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: + Using access token, as defined by the OAuth 2.0 + specification in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - webFingerHost + properties: + webFingerHost: + description: > + Server where the WebFinger service is + hosted. When used, the request to the + WebFinger resource shall conform as + specified in clause 5.1.3 of ETSI GS + NFV-SEC 022. + type: string + format: uri + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - authServerId + properties: + authServerId: + description: > + Authorization server identifier as defined + in ETSI GS NFV-SEC 022. + type: string + format: uri + tlsCipherSuites: + description: > + List of cipher suites that shall be declared + as supported by the API consumer when + performing the SSL or TLS negotiation with the + authorization server. Valid values of cipher + suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + tlsTunnelInfo: + description: > + Information and configuration related to the use + of TLS tunnel. Shall be present if authType + contains "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: > + List of cipher suites that shall be declared + as supported by the API consumer when + performing the SSL or TLS negotiation with the + API producer. Valid values of cipher suites + are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - id + - name + - type + - standardVersion + - apiVersion + - apiEndpoint + peerEntityState: + description: > + State of the peer functional entity as provided by the API + consumer when creating the resource or when updating it + with the PATCH method. + type: object + properties: + operationalState: + description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + - RESTARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + required: + - operationalState + - administrativeState + required: + - id + - peerEntityId + - name + - type + - peerEntityState + peer_entities.get.400: + description: | + 400 BAD REQUEST + Shall be returned upon the following errors: + - Invalid attribute-based filtering expression. + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + - Invalid attribute selector. + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + - Response too big. + If the NFV-MANO functional entity supports alternative N°1 (error) + according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, + this error response shall follow the provisions in clause 5.4.2.2 of + ETSI GS NFV-SOL 013. + 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 + content: + application/json: + schema: + description: > + The definition of the general "ProblemDetails" data structure from + IETF RFC 7807 [19] is reproduced inthis structure. Compared to the + general framework defined in IETF RFC 7807 [19], the "status" and + "detail" attributes are mandated to be included by the present + document, to ensure that the response contains additional textual + information about an error. IETF RFC 7807 [19] foresees + extensibility of the "ProblemDetails" type. It is possible that + particular APIs in the present document, or particular + implementations, define extensions to define additional attributes + that provide more information about the error. The description + column only provides some explanation of the meaning to Facilitate + understanding of the design. For a full description, see IETF RFC + 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that identifies + the problem type. It is encouraged that the URI provides + human-readable documentation for the problem (e.g. using HTML) + when dereferenced. When this member is not present, its value + is assumed to be "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It should + not change from occurrence to occurrence of the problem, + except for purposes of localization. If type is given and + other than "about:blank", this attribute shall also be + provided. A short, human-readable summary of the problem + type. It SHOULD NOT change from occurrence to occurrence of + the problem, except for purposes of localization (e.g., using + proactive content negotiation; see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. The + HTTP status code ([RFC7231], Section 6) generated by the + origin server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence of + the problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of the + problem. It may yield further information if dereferenced. + type: string + format: URI + peer_entitie.get.200: + description: > + 200 OK + + Shall be returned when information about an individual peer functional + entity has been read successfully. + + The response body shall contain a resource representation of the peer + functional entity, as defined in clause 5.6.2.15. + 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 + content: + application/json: + schema: + description: | + This type represents an individual peer entity. + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + peerEntityId: + description: | + An identifier with the intention of being globally unique. + type: string + name: + description: | + Human-readable name of the peer functional entity. + This attribute can be modified with the PATCH method. + type: string + type: + description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" + type: string + enum: + - NFVO + - VNFM + - VIM + - WIM + - EM + - OSS + description: + description: | + Human-readable description of the peer functional entity. + This attribute can be modified with the PATCH method. + type: string + consumedManoInterfaces: + description: > + Information of the interface consumed by the NFV-MANO + functional entity from the peer functional entity. + + This attribute can be modified with the PATCH method. + type: array + items: + description: > + This type represents an interface consumed by the producer + NFV MANO functional entity from another peer functional + entity. + type: object + properties: + id: + description: > + An identifier with the intention of being globally + unique. + type: string + name: + description: | + Human-readable name of the NFV-MANO interface. + type: string + type: + description: > + Type of the NFV-MANO service interface consumed by the + NFV-MANO functional entity. Valid values are defined in + clause 5.6.4.3. + type: string + standardVersion: + description: | + A version. + type: string + apiVersion: + description: | + A version. + type: string + apiEndpoint: + description: > + Consumable API endpoint of the interface. It provides + the information relevant about the protocol, host and + port, and path where the interface API can be accessed. + type: object + properties: + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiName: + description: > + Indicates the interface name in an abbreviated form. + Shall be present for ETSI NFV specified RESTful + NFV-MANO APIs. The {apiName} of each interface is + defined in the standard the interface is compliant + to (see also clause 4.1 of ETSI GS NFV-SOL 013). + May be present otherwise. + type: string + apiMajorVersion: + description: > + Indicates the current major version of the API. + Shall be present for ETSI NFV specified RESTful + NFV-MANO APIs. The major version is defined in the + standard the interface is compliant to (see also + clause 4.1 of ETSI GS NFV-SOL 013). May be present + otherwise. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - apiUri + securityInfo: + description: > + This type represents security related information for + accessing an NFV-MANO service interface produced by an + NFV-MANO functional entity. + type: object + required: + - authType + - oauthServerInfo + properties: + authType: + description: > + Type of API request authorization to be used by the + API consumer accessing the API. + + The support of authorization methods for the API + consumer is specified in clause 8.3.6 of ETSI GS + NFV-SOL 013. + + Permitted values: - TLS_TUNNEL: Using TLS tunnel, as + defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using + access token, as defined by the OAuth 2.0 + specification in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - webFingerHost + properties: + webFingerHost: + description: > + Server where the WebFinger service is + hosted. When used, the request to the + WebFinger resource shall conform as + specified in clause 5.1.3 of ETSI GS + NFV-SEC 022. + type: string + format: uri + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - authServerId + properties: + authServerId: + description: > + Authorization server identifier as defined + in ETSI GS NFV-SEC 022. + type: string + format: uri + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API consumer when performing + the SSL or TLS negotiation with the + authorization server. Valid values of cipher + suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + tlsTunnelInfo: + description: > + Information and configuration related to the use of + TLS tunnel. Shall be present if authType contains + "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API consumer when performing + the SSL or TLS negotiation with the API + producer. Valid values of cipher suites are + defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - id + - name + - type + - standardVersion + - apiVersion + - apiEndpoint + peerEntityState: + description: > + State of the peer functional entity as provided by the API + consumer when creating the resource or when updating it with + the PATCH method. + type: object + properties: + operationalState: + description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + - RESTARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + required: + - operationalState + - administrativeState + required: + - id + - peerEntityId + - name + - type + - peerEntityState + peer_entitie.patch.200: + description: > + 200 OK + + Shall be returned when the request has been accepted and completed. + + The response body shall contain a representation of the attribute + modifications for the "Individual peer entity" resource, as defined in + clause 5.6.2.17. + 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 + content: + application/json: + schema: + description: > + This type represents attribute modifications that were performed + on an "Individual peer entity" resource. The attributes that can + be included consist of those requested to be modified explicitly + in the "PeerEntityConfigModificationRequest" data structure. If + applicable, additional attributes of the "PeerEntity" data + structure that were modified implicitly shall also be provided. + type: object + properties: + name: + description: > + If present, this attribute signals modifications of the "name" + attribute in "PeerEntity", as defined in clause 5.6.2.15. + type: string + description: + description: > + If present, this attribute signals modifications of the + "description" attribute in "PeerEntity", as defined in clause + 5.6.2.15. + type: string + consumedManoInterfaces: + description: "If present, this attribute signals modifications of certain entries in \"consumedManoInterfaces\" attribute in \"PeerEntity\", as defined in clause 5.6.2.15. \nNOTE:\tDue to the security sensitive information contained within the attribute (refer to \"securityInfo\" within the \"ConsumedManoInterfaceInfo\"), based on access control policies, the API consumer might have read only, write only, read/write, or no access at all to the attribute’s value. In case the API consumer is not allowed to read the value of the security sensitive attribute, the attribute shall be omitted when the information is to be provided in a response message.\n" + type: array + items: + description: > + This type represents an interface consumed by the producer + NFV MANO functional entity from another peer functional + entity. + type: object + properties: + id: + description: > + An identifier with the intention of being globally + unique. + type: string + name: + description: | + Human-readable name of the NFV-MANO interface. + type: string + type: + description: > + Type of the NFV-MANO service interface consumed by the + NFV-MANO functional entity. Valid values are defined in + clause 5.6.4.3. + type: string + standardVersion: + description: | + A version. + type: string + apiVersion: + description: | + A version. + type: string + apiEndpoint: + description: > + Consumable API endpoint of the interface. It provides + the information relevant about the protocol, host and + port, and path where the interface API can be accessed. + type: object + properties: + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiName: + description: > + Indicates the interface name in an abbreviated form. + Shall be present for ETSI NFV specified RESTful + NFV-MANO APIs. The {apiName} of each interface is + defined in the standard the interface is compliant + to (see also clause 4.1 of ETSI GS NFV-SOL 013). + May be present otherwise. + type: string + apiMajorVersion: + description: > + Indicates the current major version of the API. + Shall be present for ETSI NFV specified RESTful + NFV-MANO APIs. The major version is defined in the + standard the interface is compliant to (see also + clause 4.1 of ETSI GS NFV-SOL 013). May be present + otherwise. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - apiUri + securityInfo: + description: > + This type represents security related information for + accessing an NFV-MANO service interface produced by an + NFV-MANO functional entity. + type: object + required: + - authType + - oauthServerInfo + properties: + authType: + description: > + Type of API request authorization to be used by the + API consumer accessing the API. + + The support of authorization methods for the API + consumer is specified in clause 8.3.6 of ETSI GS + NFV-SOL 013. + + Permitted values: - TLS_TUNNEL: Using TLS tunnel, as + defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using + access token, as defined by the OAuth 2.0 + specification in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - webFingerHost + properties: + webFingerHost: + description: > + Server where the WebFinger service is + hosted. When used, the request to the + WebFinger resource shall conform as + specified in clause 5.1.3 of ETSI GS + NFV-SEC 022. + type: string + format: uri + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - authServerId + properties: + authServerId: + description: > + Authorization server identifier as defined + in ETSI GS NFV-SEC 022. + type: string + format: uri + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API consumer when performing + the SSL or TLS negotiation with the + authorization server. Valid values of cipher + suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + tlsTunnelInfo: + description: > + Information and configuration related to the use of + TLS tunnel. Shall be present if authType contains + "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API consumer when performing + the SSL or TLS negotiation with the API + producer. Valid values of cipher suites are + defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - id + - name + - type + - standardVersion + - apiVersion + - apiEndpoint + consumedManoInterfaceDeleteIds: + description: > + If present, this attribute signals the deletions of certain + entries in the "consumedManoInterfaces" attribute in + "PeerEntity", as defined in clause 5.6.2.15. + type: array + items: + description: | + An identifier with the intention of being globally unique. + type: string + operationalState: + description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + - RESTARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + peer_entitie.patch.409: + description: > + 409 CONFLICT. + + Shall be returned upon the following error: The operation cannot be + executed currently, due to a conflict with the state of the "Individual + peer entity" resource. + + Typically, this is due to the fact that another operation is ongoing. + + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + headers: + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP request + has provided an invalid authorization token. + 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 + peer_entitie.patch.412: + description: > + 412 PRECONDITION FAILED + + Shall be returned upon the following error: A precondition given in an + HTTP request header is not fulfilled. + + Typically, this is due to an ETag mismatch, indicating that the + resource was modified by another entity. + + The response body should contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + headers: + WWW-Authenticate: + description: > + Challenge if the 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 + peer_entitie.delete.204: + description: > + 204 NO CONTENT + + Shall be returned when the "Individual peer entity" resource 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 + peer_entitie.delete.409: + description: > + 409 CONFLICT. + + Shall be returned upon the following error: The operation cannot be + executed currently, due to a conflict with the state of the "Individual + peer entity" resource. + + Typically, this is due to the fact that another operation is ongoing. + + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + headers: + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP request + has provided an invalid authorization token. + 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 + peer_entitie.delete.412: + description: > + 412 PRECONDITION FAILED + + Shall be returned upon the following error: A precondition given in an + HTTP request header is not fulfilled. + + Typically, this is due to an ETag mismatch, indicating that the + resource was modified by another entity. + + The response body should contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + headers: + WWW-Authenticate: + description: > + Challenge if the 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 + diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot new file mode 100644 index 0000000000000000000000000000000000000000..40a5165ff2e48d2fa910b2bc783ba66414b14a04 --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot @@ -0,0 +1,174 @@ +*** Settings *** +Library JSONSchemaLibrary schemas/ +Resource environment/variables.txt +Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false +Library OperatingSystem +Library JSONLibrary +Resource NFVMANOCimKeywords.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.1.10.1 + ... Test title: GET all Subscriptions + ... Test objective: The objective is to test the retrieval list of active subscriptions of API consumer 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 5.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 all Subscriptions + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is CimSubscriptions + +GET Subscriptions with attribute-based filter + [Documentation] Test ID: 8.3.1.10.2 + ... Test title: GET Subscriptions with attribute-based filter + ... Test objective: The objective is to test the retrieval of active subscriptions list of API consumer using attribute-based filter and perform a JSON schema validation of the collected indicators data structure. + ... Pre-conditions: At least one subscription is available in the NFV-MANO. + ... Reference: clause 5.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 Subscriptions with attribute-based filters + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is CimSubscriptions + +GET Subscriptions with Paged Response + [Documentation] Test ID: 8.3.1.10.3 + ... Test title: GET Subscriptions with Paged Response + ... Test objective: The objective is to query information of active subscriptions list to of API consumer to get Paged Response. + ... Pre-conditions: At least one subscription is available in the NFV-MANO. + ... Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: + ... Post-Conditions: + 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.1.10.4 + ... Test title: GET Subscriptions - invalid attribute-based filter + ... Test objective: The objective is to test that the retrieval of active subscriptions list of API consumer 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 5.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 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.1.10.5 + ... Test title: GET Subscriptions - Bad Request Response too Big + ... Test objective: The objective is to test that the retrieval of active subscriptions list of API consumer 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 5.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 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.1.10.6 + ... Test title: GET Subscriptions - invalid resource endpoint + ... Test objective: The objective is to test that the retrieval of active subscriptions list of API consumer fails when using invalid resource endpoint. + ... Pre-conditions: At least one subscription is available in the NFV-MANO. + ... Reference: clause 5.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 all Subscriptions + Check HTTP Response Status Code Is 404 + +Create new Subscription + [Documentation] Test ID 8.3.1.10.7 + ... Test title: Create new Subscription + ... Test objective: The objective is to test the creation of a new subscription and perform a JSON schema and content validation of the returned subscription data structure + ... Pre-conditions: none + ... Reference: clause 5.5.4.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 CimSubscription + Check HTTP Response Body CimSubscription 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.1.10.8 + ... 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 5.5.4.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.1.10.9 + ... 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 5.5.4.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 CimSubscription Attributes Values Match the Issued Subscription + Check Postcondition Subscription Is Set + +PUT Subscriptions - Method not implemented + [Documentation] Test ID 8.3.1.10.10 + ... 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 5.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 Subscriptions + Check HTTP Response Status Code Is 405 + +PATCH Subscriptions - Method not implemented + [Documentation] Test ID 8.3.1.10.11 + ... 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 5.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 Subscriptions + Check HTTP Response Status Code Is 405 + +DELETE Subscriptions - Method not implemented + [Documentation] Test ID 8.3.1.10.12 + ... 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 5.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 Subscriptions + Check HTTP Response Status Code Is 405 diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt b/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt new file mode 100644 index 0000000000000000000000000000000000000000..e94ee646dfb624f6b7b52d4e3691d84bc55bceb1 --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt @@ -0,0 +1,67 @@ +*** Variables *** +${NFVMANOHOST} localhost +${NFVMANO_PORT} 8080 +${NFVMANO_SCHEMA} https + +${AUTHORIZATION} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 +${NEG_AUTHORIZATION} Bearer negativetoken +${WRONG_AUTHORIZATION} Bearer XXXXXWRONGXXXXX +${BAD_AUTHORIZATION} Bear sometoken + +${CONTENT_TYPE_JSON} application/json +${ACCEPT_JSON} application/json +${CONTENT_TYPE_PATCH} application/merge-patch+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} nfvmanocim + +${response} + +${filter} +${filter_value} + +${fields} + +${changeStateOpOccId} + +${manoServiceInterfaceId} + +${peerEntityId} + +${callback_port} 9091 +${callback_uri} http://172.22.1.7:${callback_port} +${callback_endpoint} /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 + +${subscriptionId} 17563e75-0e14-4bd7-94b4-6bbb869c79aa +${erroneousSubscriptionId} erroneousSubscriptionId +${newSubscriptionId} newSubsciptionId + +${origResponse} {} + +${name} EntityName +${type} NFVO + +${state} operational +${stateAction} START + +${retry} 2 min +${polling} 10 sec \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/ChangeStateRequest.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/ChangeStateRequest.json new file mode 100644 index 0000000000000000000000000000000000000000..b93e142ef17ef354971e1d0bbbc9a481146e466f --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/ChangeStateRequest.json @@ -0,0 +1,7 @@ +{{ + "{state}StateChange": + {{ + "{state}StateAction":"{stateAction}" + }} + +}} \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/CimSubscriptionRequest.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/CimSubscriptionRequest.json new file mode 100644 index 0000000000000000000000000000000000000000..a86c405f91883115bff5e2b8671c5631d4c54ef9 --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/CimSubscriptionRequest.json @@ -0,0 +1,3 @@ +{{ + "callbackUri": "{callback_uri}{callback_endpoint}" +}} \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/CreatePeerEntityRequest.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/CreatePeerEntityRequest.json new file mode 100644 index 0000000000000000000000000000000000000000..256bd547bace50f7c6e0906e47a44b4016314064 --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/CreatePeerEntityRequest.json @@ -0,0 +1,5 @@ +{{ + "peerEntityId": "{peerEntityId}", + "name": "{name}", + "type": "{type}" +}} \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/ManoConfigModificationRequest.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/ManoConfigModificationRequest.json new file mode 100644 index 0000000000000000000000000000000000000000..906b3143f08e1ef6276c92a5902da63b0fdcf54e --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/ManoConfigModificationRequest.json @@ -0,0 +1,3 @@ +{ + "name": "NFV-MANO_Entity" +} \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/ManoServiceInterfaceModificationRequest.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/ManoServiceInterfaceModificationRequest.json new file mode 100644 index 0000000000000000000000000000000000000000..1b080e7cd9e96b05971e352774e17ab062d1c415 --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/ManoServiceInterfaceModificationRequest.json @@ -0,0 +1,3 @@ +{ + "name": "ManoServiceInterfaceModificationRequest" +} \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/PeerEntityConfigModificationRequest.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/PeerEntityConfigModificationRequest.json new file mode 100644 index 0000000000000000000000000000000000000000..f5704760d8771274009836a6f45b55d28da323bf --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/PeerEntityConfigModificationRequest.json @@ -0,0 +1,3 @@ +{ + "name": "PeerEntityConfigModificationRequest" +} \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateNotification.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateNotification.json new file mode 100644 index 0000000000000000000000000000000000000000..fc3b68c992a6184272f789db55e1a3209a556cb5 --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateNotification.json @@ -0,0 +1,151 @@ +{ + "description": "This type represents a Change state operation occurrence.\n", + "type": "object", + "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 \"ChangeStateNotification\" for this notification type.\n", + "type": "string" + }, + "subscriptionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "timestamp": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "changeStateOpOccId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "stateChangedTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "changeStateOperationState": { + "description": "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n", + "type": "string", + "enum": [ + "PROCESSING", + "COMPLETED", + "FAILED" + ] + }, + "managedObjectRef": { + "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" + ] + }, + "operationalState": { + "description": "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n", + "type": "string", + "enum": [ + "STARTED", + "STOPPED", + "STOPPING", + "STARTING", + "RESTARTING" + ] + }, + "administrativeState": { + "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", + "type": "string", + "enum": [ + "LOCKED", + "UNLOCKED", + "LOCKING" + ] + }, + "_links": { + "description": "Links to resources related to this notification.\n", + "type": "object", + "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" + } + } + }, + "changeStateOpOcc": { + "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" + } + } + } + }, + "required": [ + "subscription", + "objectInstance", + "changeStateOpOcc" + ] + } + }, + "required": [ + "id", + "notificationType", + "subscriptionId", + "timestamp", + "changeStateOpOccId", + "stateChangedTime", + "changeStateOperationState", + "managedObjectRef", + "_links" + ] + } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOcc.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOcc.json new file mode 100644 index 0000000000000000000000000000000000000000..f9238e4d2584d597cb50714a9a9d31bb7ea47d74 --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOcc.json @@ -0,0 +1,85 @@ +{ + "description": "This type represents a Change state operation occurrence. \n", + "type": "object", + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "operationState": { + "description": "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n", + "type": "string", + "enum": [ + "PROCESSING", + "COMPLETED", + "FAILED" + ] + }, + "stateEnteredTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "startTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "managedObjectRef": { + "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" + ] + }, + "changeOperationalStateRequest": { + "description": "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n", + "type": "string", + "enum": [ + "START", + "STOP", + "RESTART" + ] + }, + "changeAdministrativeStateRequest": { + "description": "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n", + "type": "string", + "enum": [ + "LOCK", + "UNLOCK" + ] + }, + "operationParams": { + "description": "Input parameters of the change state operation. This attribute shall be formatted according to the request data type of the related change state operation. \nThe following mapping between operationType and the data type of this attribute shall apply:\n - CHANGE_STATE: ChangeStateRequest\n \nThis attribute shall be present if this data type is returned in a response to reading an individual resource, and may be present according to the chosen attribute selector parameter if this data type is returned in a response to a query of a container resource.\n" + } + }, + "required": [ + "id", + "operationState", + "stateEnteredTime", + "startTime", + "managedObjectRef" + ] + } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOccs.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOccs.json new file mode 100644 index 0000000000000000000000000000000000000000..7c203be47c174936e0fb1fd53fcde49c2a89a483 --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOccs.json @@ -0,0 +1,87 @@ +{ "type": "array", + "items": { + "description": "This type represents a Change state operation occurrence. \n", + "type": "object", + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "operationState": { + "description": "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n", + "type": "string", + "enum": [ + "PROCESSING", + "COMPLETED", + "FAILED" + ] + }, + "stateEnteredTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "startTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "managedObjectRef": { + "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" + ] + }, + "changeOperationalStateRequest": { + "description": "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n", + "type": "string", + "enum": [ + "START", + "STOP", + "RESTART" + ] + }, + "changeAdministrativeStateRequest": { + "description": "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n", + "type": "string", + "enum": [ + "LOCK", + "UNLOCK" + ] + }, + "operationParams": { + "description": "Input parameters of the change state operation. This attribute shall be formatted according to the request data type of the related change state operation. \nThe following mapping between operationType and the data type of this attribute shall apply:\n - CHANGE_STATE: ChangeStateRequest\n \nThis attribute shall be present if this data type is returned in a response to reading an individual resource, and may be present according to the chosen attribute selector parameter if this data type is returned in a response to a query of a container resource.\n" + } + }, + "required": [ + "id", + "operationState", + "stateEnteredTime", + "startTime", + "managedObjectRef" + ] + } + } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscription.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscription.json new file mode 100644 index 0000000000000000000000000000000000000000..819a5d99ee82cc74cc028700ba25de5ba3abb177 --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscription.json @@ -0,0 +1,113 @@ +{ + "description": "This type represents a subscription related to notifications about NFV-MANO configuration and information management changes\n", + "type": "object", + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "filter": { + "description": "This type represents a subscription filter related to notifications about NFV-MANO configuration and information management. \n", + "type": "object", + "properties": { + "manoEntitySubscriptionFilter": { + "description": "This type represents subscription filter criteria to match NFV-MANO functional entities and their associated managed objects. \n", + "type": "object", + "properties": { + "manoEntityId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "manoServiceIds": { + "description": "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n", + "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.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "type": "string" + } + }, + "manoServiceInterfaceIds": { + "description": "If present, match NFV-MANO functional entity produced interfaces with an instance identifier listed in this attribute.\nThe attributes \"manoServiceInterfaceIds\" and \"manoServiceInterfaceNames\" are alternatives to reference to NFV-MANO functional entity produced interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "description": "An identifier 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.\nThe attributes \"manoServiceInterfaceIds\" and \"manoServiceInterfaceNames\" are alternatives to reference to NFV-MANO functional entity produced interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "type": "string" + } + }, + "consumedManoInterfaceIds": { + "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance identifier listed in this attribute.\nThe attributes \"consumedManoInterfaceIds\" and \"consumedManoInterfaceNames\" are alternatives to reference to NFV-MANO functional entity consumed interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "consumedManoInterfaceNames": { + "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance Name listed in this attribute.\nThe attributes \"consumedManoInterfaceIds\" and \"consumedManoInterfaceNames\" are alternatives to reference to NFV-MANO functional entity consumed interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "notificationTypes": { + "description": "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", + "type": "array", + "items": { + "type": "string", + "enum": [ + "InformationChangedNotification", + "ChangeStateNotification" + ] + } + } + } + }, + "callbackUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "_links": { + "description": "Links to resources related to this resource.\n", + "type": "object", + "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" + } + } + } + }, + "required": [ + "self" + ] + } + }, + "required": [ + "id", + "callbackUri", + "_links" + ] + } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscriptions.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscriptions.json new file mode 100644 index 0000000000000000000000000000000000000000..6ac082d31036b011f60d509dae6160de51053db9 --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscriptions.json @@ -0,0 +1,117 @@ +{ "type": "array", + "items": { + "description": "This type represents a subscription related to notifications about NFV-MANO configuration and information management changes\n", + "type": "object", + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "filter": { + "description": "This type represents a subscription filter related to notifications about NFV-MANO configuration and information management. \n", + "type": "object", + "properties": { + "manoEntitySubscriptionFilter": { + "description": "This type represents subscription filter criteria to match NFV-MANO functional entities and their associated managed objects. \n", + "type": "object", + "properties": { + "manoEntityId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "manoServiceIds": { + "description": "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n", + "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.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "type": "string" + } + }, + "manoServiceInterfaceIds": { + "description": "If present, match NFV-MANO functional entity produced interfaces with an instance identifier listed in this attribute.\nThe attributes \"manoServiceInterfaceIds\" and \"manoServiceInterfaceNames\" are alternatives to reference to NFV-MANO functional entity produced interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "description": "An identifier 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.\nThe attributes \"manoServiceInterfaceIds\" and \"manoServiceInterfaceNames\" are alternatives to reference to NFV-MANO functional entity produced interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "type": "string" + } + }, + "consumedManoInterfaceIds": { + "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance identifier listed in this attribute.\nThe attributes \"consumedManoInterfaceIds\" and \"consumedManoInterfaceNames\" are alternatives to reference to NFV-MANO functional entity consumed interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "consumedManoInterfaceNames": { + "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance Name listed in this attribute.\nThe attributes \"consumedManoInterfaceIds\" and \"consumedManoInterfaceNames\" are alternatives to reference to NFV-MANO functional entity consumed interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "notificationTypes": { + "description": "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", + "type": "array", + "items": { + "type": "string", + "enum": [ + "InformationChangedNotification", + "ChangeStateNotification" + ] + } + } + } + }, + "callbackUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "_links": { + "description": "Links to resources related to this resource.\n", + "type": "object", + "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" + } + } + } + }, + "required": [ + "self" + ] + } + }, + "required": [ + "id", + "callbackUri", + "_links" + ] + } + + +} \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/InformationChangedNotification.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/InformationChangedNotification.json new file mode 100644 index 0000000000000000000000000000000000000000..941a4bb5c30a8d7fbf63566408ca631f3e04b37c --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/InformationChangedNotification.json @@ -0,0 +1,81 @@ +{ + "description": "This type represents a notification that is sent when data about configuration and information of the NFV-MANO functional entity have been changed.\n", + "type": "object", + "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 \"InformationChangedNotification\" for this notification type.\n", + "type": "string" + }, + "subscriptionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "timeStamp": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "informationChangedTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "manoEntityId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "changedInfo": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "_links": { + "description": "Links to resources related to this notification.\n", + "type": "object", + "properties": { + "self": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "subscription": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } + }, + "required": [ + "self" + ] + } + }, + "required": [ + "id", + "notificationType", + "subscriptionId", + "timeStamp", + "informationChangedTime", + "manoEntityId", + "changedInfo", + "_links" + ] + } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoConfigModifications.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoConfigModifications.json new file mode 100644 index 0000000000000000000000000000000000000000..7970b361e1c16ae9f9b9ac0427cfa2e950d68122 --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoConfigModifications.json @@ -0,0 +1,99 @@ +{ + "description": "This type represents attribute modifications that were performed on the \"NFV-MANO entity\" resource of the producer NFV-MANO functional entity. The attributes that can be included consist of those requested to be modified explicitly in the \"ManoConfigModificationRequest\" data structure. \n", + "type": "object", + "properties": { + "name": { + "description": "If present, this attribute signals modifications of the \"name\" attribute in \"ManoEntity\", as defined in clause 5.6.2.3\n", + "type": "string" + }, + "description": { + "description": "If present, this attribute signals modifications of the \"description\" attribute in \"ManoEntity\", as defined in clause 5.6.2.3.\n", + "type": "string" + }, + "clockSyncs": { + "description": "If present, this attribute signals modifications of the \"clockSyncs\" attribute in \"ManoEntityConfigurableParams\", as defined in clause 5.6.2.3.\n", + "type": "array", + "items": { + "description": "This type represents parameters for connecting to an NTP server. \n", + "type": "object", + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "type": { + "description": "Type of clock synchronization.\nPermitted values:\n - NTP: For Network Time Protocol (NTP) based clock synchronization.\n - OTHER: For other types of clock synchronization.\n", + "type": "string", + "enum": [ + "NTP", + "OTHER" + ] + }, + "ntpServerInfo": { + "description": "Information for the NTP based clock synchronization. Shall be present if type = \"NTP\".\n", + "type": "object", + "properties": { + "ipAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "hostname": { + "description": "Indicates the hostname of the NTP server. \nNOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n", + "type": "string" + } + } + }, + "otherClockSyncParams": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + }, + "required": [ + "id", + "type" + ] + } + }, + "clockSyncsDeleteIds": { + "description": "If present, this attribute signals modifications of certain entries in \"clockSyncs\" attribute in \"ManoEntityConfigurableParams\", as defined in clause 5.6.2.3.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "defaultLogCompileBySizeValue": { + "description": "Unsigned integer\n", + "type": "number" + }, + "defaultLogCompileByTimerValue": { + "description": "Unsigned integer\n", + "type": "number" + }, + "manoServiceModifications": { + "description": "If present, this attribute signals modifications of the \"manoServices\" attribute array in the \"ManoEntity\", as defined in clause 5.6.2.3.\n", + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "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" + }, + "name": { + "description": "If present, this attribute signals modification of the \"name\" attribute in the \"ManoService\".\n", + "type": "string" + }, + "description": { + "description": "If present, this attribute signals modification of the \"description\" attribute in the \"ManoService\".\n", + "type": "string" + } + }, + "required": [ + "id" + ] + } + } + } + } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoEntity.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoEntity.json new file mode 100644 index 0000000000000000000000000000000000000000..388b9e00e9e7658057088fcfcdb7547c97725dd3 --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoEntity.json @@ -0,0 +1,375 @@ +{ + "description": "This type represents an NFV-MANO functional entity.\n", + "type": "object", + "required": [ + "id", + "type", + "name", + "description", + "provider", + "softwareVersion", + "manoConfigurableParams", + "manoApplicationState", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "type": { + "description": "The enumeration ManoEntityEnumType defines the permitted values to represent NFV-MANO functional entities. It shall comply with the provisions :\n - NFVO\tThe NFV-MANO functional entity is an NFVO.\n - VNFM\tThe NFV-MANO functional entity is a VNFM.\n - VIM\tThe NFV-MANO functional entity is a VIM.\n", + "type": "string", + "enum": [ + "NFVO", + "VNFM", + "VIM" + ] + }, + "name": { + "description": "Human-readable name of the NFV-MANO functional entity.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "description": { + "description": "Human-readable description of the NFV-MANO functional entity.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "provider": { + "description": "Information about the provider of the NFV-MANO functional entity. It typically includes the name of the provider.\n", + "type": "string" + }, + "softwareVersion": { + "description": "The version of the software of the NFV-MANO functional entity. $ref: \"../components/SOL009_schemas.yaml#/components/schemas/Version\"\n" + }, + "manoEntityComponents": { + "description": "The deployed NFV-MANO functional entity components which realize the NFV-MANO functional entity. \nNOTE:\tIt is optional for the API producer to support the \"manoEntityComponents\" attribute.\n", + "type": "array", + "items": { + "description": "This type represents information of a deployed component realizing part of an NFV-MANO functional entity. It is optional for the API producer to support this type. \n", + "type": "object", + "properties": { + "id": { + "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" + }, + "manoServiceIds": { + "description": "References to the NFV-MANO services that depend on the NFV-MANO functional entity component. The identifier of the ManoService is referred. A service may depend on multiple components. Multiple services may depend on the same component.\n", + "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" + } + } + }, + "required": [ + "id" + ] + } + }, + "manoServices": { + "description": "Information about the NFV-MANO services provided by the NFV-MANO functional entity.\n", + "type": "array", + "items": { + "description": "This type represents information about an NFV-MANO service provided by the NFV-MANO functional entity.\n", + "type": "object", + "properties": { + "id": { + "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" + }, + "name": { + "description": "Human-readable name of the NFV-MANO service.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "description": { + "description": "Human-readable description of the NFV-MANO service.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "manoServiceInterfaceIds": { + "description": "Reference to the NFV-MANO interfaces associated to the NFV-MANO service. If cardinality is greater than one, the type of ManoServiceInterface (see clause 5.6.3.3) shall be the same. The identifier of the ManoServiceInterface is referred. \nNOTE:\tA cardinality greater than one supports having different interface versions or apiEndpoints to be used for accessing the same instance of a NFV-MANO service.\n", + "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" + }, + "minItems": 1 + }, + "_links": { + "description": "Links to resources related to this resource.\n", + "type": "object", + "properties": { + "manoServiceInterfaces": { + "description": "Link to the \"individual NFV-MANO service interface\" resources with information about the associated interfaces to the NFV-MANO service.\n", + "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" + } + } + }, + "minItems": 1 + } + }, + "required": [ + "manoServiceInterfaces" + ] + } + }, + "required": [ + "id", + "name", + "description", + "manoServiceInterfaceIds", + "_links" + ] + } + }, + "manoConfigurableParams": { + "description": "# Warning: No definition found in the document ManoConfigurableParams\n" + }, + "manoApplicationState": { + "description": "Information and current values of the NFV-MANO functional entity’s application state. \n", + "type": "object", + "required": [ + "operationalState", + "administrativeState", + "usageState" + ], + "properties": { + "operationalState": { + "description": "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n", + "type": "string", + "enum": [ + "STARTED", + "STOPPED", + "STOPPING", + "STARTING", + "RESTARTING" + ] + }, + "administrativeState": { + "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", + "type": "string", + "enum": [ + "LOCKED", + "UNLOCKED", + "LOCKING" + ] + }, + "usageState": { + "description": "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n", + "type": "string", + "enum": [ + "IN_USE", + "NOT_IN_USE" + ] + } + } + }, + "nfvoSpecificInfo": { + "description": "This type represents information attributes specific to an NFVO entity, and that can be relevant to more than one NFV-MANO service offered by an NFVO entity. \n", + "type": "object", + "properties": { + "maxOnboardedNsdNum": { + "description": "Maximum number of NSDs that can be on-boarded on the NFVO. \nNOTE: If this attribute is not present, the value of this parameter is undefined.\n", + "type": "integer" + }, + "maxOnboardedVnfPkgNum": { + "description": "Maximum number of VNF Packages that can be on-boarded on the NFVO. \nNOTE: If this attribute is not present, the value of this parameter is undefined.\n", + "type": "integer" + }, + "supportedVnfdFormats": { + "description": "Supported VNFD data formats.\n", + "type": "object", + "properties": { + "vnfdFormat": { + "description": "Name of the VNFD format.\nPermitted values:\n - TOSCA: The VNFD follows TOSCA definition, according to ETSI \n GS NFV-SOL 001 standard.\n - YANG: The VNFD follows YANG definition according to ETSI \n GS NFV-SOL 006 standard.\n", + "type": "string", + "enum": [ + "TOSCA", + "YANG" + ] + }, + "standardVersion": { + "description": "A version.\n", + "type": "string" + } + }, + "required": [ + "vnfdFormat", + "standardVersion" + ] + }, + "supportedNsdFormats": { + "description": "Supported NSD data formats.\n", + "type": "object", + "properties": { + "nsdFormat": { + "description": "Name of the NSD format.\nPermitted values:\n - TOSCA: The VNFD follows TOSCA definition, according to ETSI \n GS NFV-SOL 001 standard.\n - YANG: The VNFD follows YANG definition according to ETSI \n GS NFV-SOL 006 standard.\n", + "type": "string", + "enum": [ + "TOSCA", + "YANG" + ] + }, + "standardVersion": { + "description": "A version.\n", + "type": "string" + } + }, + "required": [ + "nsdFormat", + "standardVersion" + ] + } + }, + "required": [ + "supportedVnfdFormats", + "supportedNsdFormats" + ] + }, + "vnfmSpecificInfo": { + "description": "This type represents information attributes specific to a VNFM entity, and that can be relevant to more than one NFV-MANO service offered by a VNFM entity.\n", + "type": "object", + "properties": { + "resoruceMgmtModeSupport": { + "description": "The supported resource management modes of the VNFM.\nPermitted values:\n - DIRECT: The VNFM supports direct mode only.\n - INDIRECT: The VNFM supports indirect mode only.\n - BOTH: The VNFM supports both direct and indirect mode.\n", + "type": "string", + "enum": [ + "DIRECT", + "INDIRECT", + "BOTH" + ] + }, + "managedVnfInstanceInfos": { + "description": "The kinds of VNF instances that can be managed, e.g. to determine the compatibility of a VNF with certain VNFM according to the vnfmInfo attribute in the VNFD (see table 7.1.2.2-1 in ETSI GS NFV-IFA 011).\n", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1 + }, + "supportedVnfdFormats": { + "description": "Supported VNFD data formats.\n", + "type": "array", + "items": { + "type": "object", + "properties": { + "vnfdFormat": { + "description": "Name of the VNFD format.\nPermitted values:\n - TOSCA: The VNFD follows TOSCA definition, according to ETSI \n GS NFV-SOL 001 standard.\n - YANG: The VNFD follows YANG definition according to ETSI \n GS NFV-SOL 006 standard.\n", + "type": "string", + "enum": [ + "TOSCA", + "YANG" + ] + }, + "standardVersion": { + "description": "A version.\n", + "type": "string" + } + }, + "required": [ + "vnfdFormat", + "standardVersion" + ] + }, + "minItems": 1 + } + }, + "required": [ + "resoruceMgmtModeSupport", + "managedVnfInstanceInfos", + "supportedVnfdFormats" + ] + }, + "vimSpecificInfo": { + "description": "This type represents information attributes specific to a VIM entity, and that can be relevant to more than one NFV-MANO service offered by a VIM entity.\n", + "type": "object" + }, + "_links": { + "description": "Links to resources related to this resource.\n", + "type": "object", + "required": [ + "self", + "manoServiceInterfaces", + "peerEntities", + "changeState", + "changeStateOpOccs" + ], + "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" + } + } + }, + "manoServiceInterfaces": { + "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" + } + } + }, + "peerEntities": { + "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" + } + } + }, + "changeState": { + "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" + } + } + }, + "changeStateOpOccs": { + "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/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterface.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterface.json new file mode 100644 index 0000000000000000000000000000000000000000..16b7cc3fe667a2c3ceeefa339683548e0de7e976 --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterface.json @@ -0,0 +1,215 @@ +{ + "description": "This type represents an individual NFV-MANO service interface produced by an NFV-MANO functional entity. \n", + "type": "object", + "properties": { + "id": { + "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" + }, + "name": { + "description": "Human-readable name of the NFV-MANO functional entity interface.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "type": { + "description": "Type of the NFV-MANO service interface produced by the NFV-MANO functional entity. Valid values are defined in clause 5.6.4.3.\n", + "type": "string" + }, + "standardVersion": { + "description": "A version.\n", + "type": "string" + }, + "providerSpecificApiVersion": { + "description": "A version.\n", + "type": "string" + }, + "apiVersion": { + "description": "A version.\n", + "type": "string" + }, + "apiEndpoint": { + "description": "Exposed API endpoint of the interface.\n", + "type": "object", + "properties": { + "apiRoot": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "apiName": { + "description": "Indicates the interface name in an abbreviated form. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The {apiName} of each interface is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", + "type": "string" + }, + "apiMajorVersion": { + "description": "Indicates the current major version of the API. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The major version is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", + "type": "string" + }, + "apiUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + }, + "required": [ + "apiUri" + ] + }, + "maxConcurrentIntOpNumber": { + "description": "Maximum number of concurrent operation requests supported on this interface. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n", + "type": "integer" + }, + "supportedOperations": { + "description": "Information about supported operations of this interface.\n", + "type": "array", + "items": { + "type": "object", + "properties": { + "operationName": { + "description": "Name of the operation supported on the interface.\n", + "type": "string" + }, + "maxConcurrentOpNumber": { + "description": "Maximum number of concurrent requests supported by the interface operation. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n", + "type": "integer" + } + }, + "required": [ + "operationName" + ] + }, + "minItems": 1 + }, + "interfaceState": { + "description": "State of the NFV-MANO service interface.\n", + "properties": { + "operationalState": { + "description": "The enumeration InterfaceOperationalStateEnumType defines values representing the operational state of an NFV-MANO service interface type of managed entity. The InterfaceOperationalStateEnumType shall comply with the provisions :\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n", + "type": "string", + "enum": [ + "STARTED", + "STOPPED", + "STOPPING", + "STARTING" + ] + }, + "administrativeState": { + "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", + "type": "string", + "enum": [ + "LOCKED", + "UNLOCKED", + "LOCKING" + ] + }, + "usageState": { + "description": "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n", + "type": "string", + "enum": [ + "IN_USE", + "NOT_IN_USE" + ] + } + }, + "required": [ + "operationalState", + "administrativeState", + "usageState" + ] + }, + "securityInfo": { + "description": "This type represents security related information of an NFV-MANO service interface produced by an NFV-MANO functional entity. \n", + "type": "object", + "properties": { + "authType": { + "description": "Type of API request authorization to be used by the API producer.\nThe support of authorization methods for the API producer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values:\n - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246.\n - OAUTH2: Using access token, as defined by the OAuth 2.0 specification \n in IETF RFC 6749. \n", + "type": "array", + "items": { + "type": "string", + "enum": [ + "TLS_TUNNEL", + "OAUTH2" + ] + }, + "minItems": 1 + }, + "oauthServerInfo": { + "description": "OAuth 2.0 authorization server information and configuration.\n", + "type": "object", + "properties": { + "dynamicDiscovery": { + "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n", + "type": "object", + "properties": { + "webFingerHost": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + }, + "required": [ + "webFingerHost" + ] + }, + "providedConfiguration": { + "description": "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n", + "type": "object", + "properties": { + "authServerId": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + }, + "required": [ + "authServerId" + ] + }, + "tlsCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the authorization server. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1 + } + }, + "required": [ + "providedConfiguration", + "tlsCipherSuites" + ] + }, + "tlsTunnelInfo": { + "description": "Information and configuration related to the use of TLS tunnel. Shall be present if authType contains \"TLS_TUNNEL\".\n", + "type": "object", + "properties": { + "tlsTunnelCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the API client. Valid values of cipher suites are defined in IETF RFC 8447.", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1 + } + }, + "required": [ + "tlsTunnelCipherSuites" + ] + } + }, + "required": [ + "authType", + "oauthServerInfo" + ] + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + }, + "required": [ + "id", + "name", + "type", + "standardVersion", + "providerSpecificApiVersion", + "apiVersion", + "apiEndpoint", + "supportedOperations", + "interfaceState" + ] + } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaceModifications.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaceModifications.json new file mode 100644 index 0000000000000000000000000000000000000000..080fc11f221ab35b9f4b09d64de9133a83afae81 --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaceModifications.json @@ -0,0 +1,105 @@ +{ + "description": "This type represents attribute modifications that were performed on an Individual NFV-MANO service interface\" resource. The attributes that can be included consist of those requested to be modified explicitly in the \"ManoServiceInterfaceModificationRequest\" data structure. If applicable, additional attributes of the \"ManoServiceInterface\" data structure that were modified implicitly shall also be provided. \n", + "type": "object", + "properties": { + "name": { + "description": "If present, this attribute signals modifications of the \"name\" attribute in \"ManoServiceInterface\", as defined in clause 5.6.2.11.\n", + "type": "string" + }, + "apiRoot": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "apiUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "securityInfo": { + "description": "This type represents security related information of an NFV-MANO service interface produced by an NFV-MANO functional entity. \n", + "type": "object", + "properties": { + "authType": { + "description": "Type of API request authorization to be used by the API producer.\nThe support of authorization methods for the API producer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values:\n - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246.\n - OAUTH2: Using access token, as defined by the OAuth 2.0 specification \n in IETF RFC 6749. \n", + "type": "array", + "items": { + "type": "string", + "enum": [ + "TLS_TUNNEL", + "OAUTH2" + ] + }, + "minItems": 1 + }, + "oauthServerInfo": { + "description": "OAuth 2.0 authorization server information and configuration.\n", + "type": "object", + "properties": { + "dynamicDiscovery": { + "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n", + "type": "object", + "properties": { + "webFingerHost": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + }, + "required": [ + "webFingerHost" + ] + }, + "providedConfiguration": { + "description": "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n", + "type": "object", + "properties": { + "authServerId": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + }, + "required": [ + "authServerId" + ] + }, + "tlsCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the authorization server. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1 + } + }, + "required": [ + "providedConfiguration", + "tlsCipherSuites" + ] + }, + "tlsTunnelInfo": { + "description": "Information and configuration related to the use of TLS tunnel. Shall be present if authType contains \"TLS_TUNNEL\".\n", + "type": "object", + "properties": { + "tlsTunnelCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the API client. Valid values of cipher suites are defined in IETF RFC 8447.", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1 + } + }, + "required": [ + "tlsTunnelCipherSuites" + ] + } + }, + "required": [ + "authType", + "oauthServerInfo" + ] + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaces.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaces.json new file mode 100644 index 0000000000000000000000000000000000000000..ad71446bf355f431665002a4407e85481d392acb --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaces.json @@ -0,0 +1,218 @@ +{ "type": "array", + "items": { + "description": "This type represents an individual NFV-MANO service interface produced by an NFV-MANO functional entity. \n", + "type": "object", + "properties": { + "id": { + "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" + }, + "name": { + "description": "Human-readable name of the NFV-MANO functional entity interface.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "type": { + "description": "Type of the NFV-MANO service interface produced by the NFV-MANO functional entity. Valid values are defined in clause 5.6.4.3.\n", + "type": "string" + }, + "standardVersion": { + "description": "A version.\n", + "type": "string" + }, + "providerSpecificApiVersion": { + "description": "A version.\n", + "type": "string" + }, + "apiVersion": { + "description": "A version.\n", + "type": "string" + }, + "apiEndpoint": { + "description": "Exposed API endpoint of the interface.\n", + "type": "object", + "properties": { + "apiRoot": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "apiName": { + "description": "Indicates the interface name in an abbreviated form. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The {apiName} of each interface is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", + "type": "string" + }, + "apiMajorVersion": { + "description": "Indicates the current major version of the API. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The major version is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", + "type": "string" + }, + "apiUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + }, + "required": [ + "apiUri" + ] + }, + "maxConcurrentIntOpNumber": { + "description": "Maximum number of concurrent operation requests supported on this interface. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n", + "type": "integer" + }, + "supportedOperations": { + "description": "Information about supported operations of this interface.\n", + "type": "array", + "items": { + "type": "object", + "properties": { + "operationName": { + "description": "Name of the operation supported on the interface.\n", + "type": "string" + }, + "maxConcurrentOpNumber": { + "description": "Maximum number of concurrent requests supported by the interface operation. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n", + "type": "integer" + } + }, + "required": [ + "operationName" + ] + }, + "minItems": 1 + }, + "interfaceState": { + "description": "State of the NFV-MANO service interface.\n", + "properties": { + "operationalState": { + "description": "The enumeration InterfaceOperationalStateEnumType defines values representing the operational state of an NFV-MANO service interface type of managed entity. The InterfaceOperationalStateEnumType shall comply with the provisions :\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n", + "type": "string", + "enum": [ + "STARTED", + "STOPPED", + "STOPPING", + "STARTING" + ] + }, + "administrativeState": { + "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", + "type": "string", + "enum": [ + "LOCKED", + "UNLOCKED", + "LOCKING" + ] + }, + "usageState": { + "description": "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n", + "type": "string", + "enum": [ + "IN_USE", + "NOT_IN_USE" + ] + } + }, + "required": [ + "operationalState", + "administrativeState", + "usageState" + ] + }, + "securityInfo": { + "description": "This type represents security related information of an NFV-MANO service interface produced by an NFV-MANO functional entity. \n", + "type": "object", + "properties": { + "authType": { + "description": "Type of API request authorization to be used by the API producer.\nThe support of authorization methods for the API producer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values:\n - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246.\n - OAUTH2: Using access token, as defined by the OAuth 2.0 specification \n in IETF RFC 6749. \n", + "type": "array", + "items": { + "type": "string", + "enum": [ + "TLS_TUNNEL", + "OAUTH2" + ] + }, + "minItems": 1 + }, + "oauthServerInfo": { + "description": "OAuth 2.0 authorization server information and configuration.\n", + "type": "object", + "properties": { + "dynamicDiscovery": { + "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n", + "type": "object", + "properties": { + "webFingerHost": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + }, + "required": [ + "webFingerHost" + ] + }, + "providedConfiguration": { + "description": "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n", + "type": "object", + "properties": { + "authServerId": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + }, + "required": [ + "authServerId" + ] + }, + "tlsCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the authorization server. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1 + } + }, + "required": [ + "providedConfiguration", + "tlsCipherSuites" + ] + }, + "tlsTunnelInfo": { + "description": "Information and configuration related to the use of TLS tunnel. Shall be present if authType contains \"TLS_TUNNEL\".\n", + "type": "object", + "properties": { + "tlsTunnelCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the API client. Valid values of cipher suites are defined in IETF RFC 8447.", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1 + } + }, + "required": [ + "tlsTunnelCipherSuites" + ] + } + }, + "required": [ + "authType", + "oauthServerInfo" + ] + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + }, + "required": [ + "id", + "name", + "type", + "standardVersion", + "providerSpecificApiVersion", + "apiVersion", + "apiEndpoint", + "supportedOperations", + "interfaceState" + ] + } + +} \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntities.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntities.json new file mode 100644 index 0000000000000000000000000000000000000000..c7e85d04ba6f2f4ec1431252f3ac0584e9a0b6c0 --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntities.json @@ -0,0 +1,215 @@ +{ "type": "array", + "items": { + "description": "This type represents an individual peer entity. \n", + "type": "object", + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "peerEntityId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "name": { + "description": "Human-readable name of the peer functional entity.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "type": { + "description": "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n", + "type": "string", + "enum": [ + "NFVO", + "VNFM", + "VIM", + "WIM", + "EM", + "OSS" + ] + }, + "description": { + "description": "Human-readable description of the peer functional entity.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "consumedManoInterfaces": { + "description": "Information of the interface consumed by the NFV-MANO functional entity from the peer functional entity.\nThis attribute can be modified with the PATCH method.\n", + "type": "array", + "items": { + "description": "This type represents an interface consumed by the producer NFV MANO functional entity from another peer functional entity. \n", + "type": "object", + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "name": { + "description": "Human-readable name of the NFV-MANO interface.\n", + "type": "string" + }, + "type": { + "description": "Type of the NFV-MANO service interface consumed by the NFV-MANO functional entity. Valid values are defined in clause 5.6.4.3.\n", + "type": "string" + }, + "standardVersion": { + "description": "A version.\n", + "type": "string" + }, + "apiVersion": { + "description": "A version.\n", + "type": "string" + }, + "apiEndpoint": { + "description": "Consumable API endpoint of the interface. It provides the information relevant about the protocol, host and port, and path where the interface API can be accessed.\n", + "type": "object", + "properties": { + "apiRoot": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "apiName": { + "description": "Indicates the interface name in an abbreviated form. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The {apiName} of each interface is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", + "type": "string" + }, + "apiMajorVersion": { + "description": "Indicates the current major version of the API. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The major version is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", + "type": "string" + }, + "apiUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + }, + "required": [ + "apiUri" + ] + }, + "securityInfo": { + "description": "This type represents security related information for accessing an NFV-MANO service interface produced by an NFV-MANO functional entity.\n", + "type": "object", + "required": [ + "authType", + "oauthServerInfo" + ], + "properties": { + "authType": { + "description": "Type of API request authorization to be used by the API consumer accessing the API.\nThe support of authorization methods for the API consumer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values: - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using access token, as defined by the OAuth 2.0 specification in IETF RFC 6749. \n", + "type": "array", + "items": { + "type": "string", + "enum": [ + "TLS_TUNNEL", + "OAUTH2" + ] + }, + "minItems": 1 + }, + "oauthServerInfo": { + "description": "OAuth 2.0 authorization server information and configuration.\n", + "type": "object", + "properties": { + "dynamicDiscovery": { + "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n", + "type": "object", + "required": [ + "webFingerHost" + ], + "properties": { + "webFingerHost": { + "description": "Server where the WebFinger service is hosted. When used, the request to the WebFinger resource shall conform as specified in clause 5.1.3 of ETSI GS NFV-SEC 022.\n", + "type": "string", + "format": "uri" + } + } + }, + "providedConfiguration": { + "description": "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n", + "type": "object", + "required": [ + "authServerId" + ], + "properties": { + "authServerId": { + "description": "Authorization server identifier as defined in ETSI GS NFV-SEC 022.\n", + "type": "string", + "format": "uri" + } + } + }, + "tlsCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API consumer when performing the SSL or TLS negotiation with the authorization server. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "type": "array", + "items": { + "type": "string", + "minItems": 1 + } + } + } + }, + "tlsTunnelInfo": { + "description": "Information and configuration related to the use of TLS tunnel. Shall be present if authType contains \"TLS_TUNNEL\".\n", + "type": "object", + "properties": { + "tlsTunnelCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API consumer when performing the SSL or TLS negotiation with the API producer. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "type": "array", + "items": { + "type": "string", + "minItems": 1 + } + } + } + } + } + } + }, + "required": [ + "id", + "name", + "type", + "standardVersion", + "apiVersion", + "apiEndpoint" + ] + } + }, + "peerEntityState": { + "description": "State of the peer functional entity as provided by the API consumer when creating the resource or when updating it with the PATCH method.\n", + "type": "object", + "properties": { + "operationalState": { + "description": "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n", + "type": "string", + "enum": [ + "STARTED", + "STOPPED", + "STOPPING", + "STARTING", + "RESTARTING" + ] + }, + "administrativeState": { + "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", + "type": "string", + "enum": [ + "LOCKED", + "UNLOCKED", + "LOCKING" + ] + } + }, + "required": [ + "operationalState", + "administrativeState" + ] + } + }, + "required": [ + "id", + "peerEntityId", + "name", + "type", + "peerEntityState" + ] + } + +} \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntity.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntity.json new file mode 100644 index 0000000000000000000000000000000000000000..cbf0cbe24b0a090c391764088409d86642996f5e --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntity.json @@ -0,0 +1,212 @@ +{ + "description": "This type represents an individual peer entity. \n", + "type": "object", + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "peerEntityId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "name": { + "description": "Human-readable name of the peer functional entity.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "type": { + "description": "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n", + "type": "string", + "enum": [ + "NFVO", + "VNFM", + "VIM", + "WIM", + "EM", + "OSS" + ] + }, + "description": { + "description": "Human-readable description of the peer functional entity.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "consumedManoInterfaces": { + "description": "Information of the interface consumed by the NFV-MANO functional entity from the peer functional entity.\nThis attribute can be modified with the PATCH method.\n", + "type": "array", + "items": { + "description": "This type represents an interface consumed by the producer NFV MANO functional entity from another peer functional entity. \n", + "type": "object", + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "name": { + "description": "Human-readable name of the NFV-MANO interface.\n", + "type": "string" + }, + "type": { + "description": "Type of the NFV-MANO service interface consumed by the NFV-MANO functional entity. Valid values are defined in clause 5.6.4.3.\n", + "type": "string" + }, + "standardVersion": { + "description": "A version.\n", + "type": "string" + }, + "apiVersion": { + "description": "A version.\n", + "type": "string" + }, + "apiEndpoint": { + "description": "Consumable API endpoint of the interface. It provides the information relevant about the protocol, host and port, and path where the interface API can be accessed.\n", + "type": "object", + "properties": { + "apiRoot": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "apiName": { + "description": "Indicates the interface name in an abbreviated form. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The {apiName} of each interface is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", + "type": "string" + }, + "apiMajorVersion": { + "description": "Indicates the current major version of the API. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The major version is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", + "type": "string" + }, + "apiUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + }, + "required": [ + "apiUri" + ] + }, + "securityInfo": { + "description": "This type represents security related information for accessing an NFV-MANO service interface produced by an NFV-MANO functional entity.\n", + "type": "object", + "required": [ + "authType", + "oauthServerInfo" + ], + "properties": { + "authType": { + "description": "Type of API request authorization to be used by the API consumer accessing the API.\nThe support of authorization methods for the API consumer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values: - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using access token, as defined by the OAuth 2.0 specification in IETF RFC 6749. \n", + "type": "array", + "items": { + "type": "string", + "enum": [ + "TLS_TUNNEL", + "OAUTH2" + ] + }, + "minItems": 1 + }, + "oauthServerInfo": { + "description": "OAuth 2.0 authorization server information and configuration.\n", + "type": "object", + "properties": { + "dynamicDiscovery": { + "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n", + "type": "object", + "required": [ + "webFingerHost" + ], + "properties": { + "webFingerHost": { + "description": "Server where the WebFinger service is hosted. When used, the request to the WebFinger resource shall conform as specified in clause 5.1.3 of ETSI GS NFV-SEC 022.\n", + "type": "string", + "format": "uri" + } + } + }, + "providedConfiguration": { + "description": "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n", + "type": "object", + "required": [ + "authServerId" + ], + "properties": { + "authServerId": { + "description": "Authorization server identifier as defined in ETSI GS NFV-SEC 022.\n", + "type": "string", + "format": "uri" + } + } + }, + "tlsCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API consumer when performing the SSL or TLS negotiation with the authorization server. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "type": "array", + "items": { + "type": "string", + "minItems": 1 + } + } + } + }, + "tlsTunnelInfo": { + "description": "Information and configuration related to the use of TLS tunnel. Shall be present if authType contains \"TLS_TUNNEL\".\n", + "type": "object", + "properties": { + "tlsTunnelCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API consumer when performing the SSL or TLS negotiation with the API producer. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "type": "array", + "items": { + "type": "string", + "minItems": 1 + } + } + } + } + } + } + }, + "required": [ + "id", + "name", + "type", + "standardVersion", + "apiVersion", + "apiEndpoint" + ] + } + }, + "peerEntityState": { + "description": "State of the peer functional entity as provided by the API consumer when creating the resource or when updating it with the PATCH method.\n", + "type": "object", + "properties": { + "operationalState": { + "description": "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n", + "type": "string", + "enum": [ + "STARTED", + "STOPPED", + "STOPPING", + "STARTING", + "RESTARTING" + ] + }, + "administrativeState": { + "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", + "type": "string", + "enum": [ + "LOCKED", + "UNLOCKED", + "LOCKING" + ] + } + }, + "required": [ + "operationalState", + "administrativeState" + ] + } + }, + "required": [ + "id", + "peerEntityId", + "name", + "type", + "peerEntityState" + ] + } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ProblemDetails.schema.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ProblemDetails.schema.json new file mode 100644 index 0000000000000000000000000000000000000000..2af3ef9b3f8c0e1dc6bfa39a818ba45e63ca223c --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-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