openapi: 3.0.2 info: title: SOL005 - NFVI Capacity Information Interface description: | SOL005 - NFVI Capacity Information 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/rep/nfv/SOL005/issues contact: name: NFV-SOL WG license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt version: 1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 005 V3.5.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.05.01_60/gs_nfv-sol005v030501p.pdf servers: - url: http://127.0.0.1/nfvici/v1 - url: https://127.0.0.1/nfvici/v1 paths: /api_versions: $ref: ../endpoints/SOL005_endpoints.yaml#/endpoints/api-versions /nfvi_capacity_infos: parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization get: description: | The API consumer can use this method to retrieve information about NFVI capacity information. See clause 10.4.2.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/filter - $ref: ../components/SOL005_params.yaml#/components/parameters/all_fields - $ref: ../components/SOL005_params.yaml#/components/parameters/fields - $ref: ../components/SOL005_params.yaml#/components/parameters/exclude_fields - $ref: ../components/SOL005_params.yaml#/components/parameters/exclude_default - $ref: ../components/SOL005_params.yaml#/components/parameters/nextpage_opaque_marker - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: "200": $ref: '#/components/responses/NfviCapacityInfos.Get' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": $ref: ../responses/SOL005_resp.yaml#/components/responses/401 "403": $ref: ../responses/SOL005_resp.yaml#/components/responses/403 "404": $ref: ../responses/SOL005_resp.yaml#/components/responses/404 "405": $ref: ../responses/SOL005_resp.yaml#/components/responses/405 "406": $ref: ../responses/SOL005_resp.yaml#/components/responses/406 "500": $ref: ../responses/SOL005_resp.yaml#/components/responses/500 "503": $ref: ../responses/SOL005_resp.yaml#/components/responses/503 "504": $ref: ../responses/SOL005_resp.yaml#/components/responses/504 /nfvi_capacity_infos/{vimId}: parameters: - $ref: '#/components/parameters/VimId' - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization get: description: | The API consumer can use this method for reading an individual VIM's NFVI capacity information. See clause 10.4.3.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/filter - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: "200": $ref: '#/components/responses/NfviCapacityInfo.Get' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": $ref: ../responses/SOL005_resp.yaml#/components/responses/401 "403": $ref: ../responses/SOL005_resp.yaml#/components/responses/403 "404": $ref: ../responses/SOL005_resp.yaml#/components/responses/404 "405": $ref: ../responses/SOL005_resp.yaml#/components/responses/405 "406": $ref: ../responses/SOL005_resp.yaml#/components/responses/406 "500": $ref: ../responses/SOL005_resp.yaml#/components/responses/500 "503": $ref: ../responses/SOL005_resp.yaml#/components/responses/503 "504": $ref: ../responses/SOL005_resp.yaml#/components/responses/504 /capacity_thresholds: parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization get: description: | The API consumer can use this method to query information about NFVI capacity thresholds. See clause 10.4.4.3.2 parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/filter - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - $ref: ../components/SOL005_params.yaml#/components/parameters/nextpage_opaque_marker responses: "200": $ref: '#/components/responses/CapacityThresholds.Get' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": $ref: ../responses/SOL005_resp.yaml#/components/responses/401 "403": $ref: ../responses/SOL005_resp.yaml#/components/responses/403 "404": $ref: ../responses/SOL005_resp.yaml#/components/responses/404 "405": $ref: ../responses/SOL005_resp.yaml#/components/responses/405 "406": $ref: ../responses/SOL005_resp.yaml#/components/responses/406 "500": $ref: ../responses/SOL005_resp.yaml#/components/responses/500 "503": $ref: ../responses/SOL005_resp.yaml#/components/responses/503 "504": $ref: ../responses/SOL005_resp.yaml#/components/responses/504 post: description: | The POST method creates a new NFVI capacity threshold. See clause 10.4.4.3.1. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType requestBody: $ref: '#/components/requestBodies/NfviCapacityThresholdRequest' responses: "201": $ref: '#/components/responses/CapacityThresholds.Post' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": $ref: ../responses/SOL005_resp.yaml#/components/responses/401 "403": $ref: ../responses/SOL005_resp.yaml#/components/responses/403 "404": $ref: ../responses/SOL005_resp.yaml#/components/responses/404 "405": $ref: ../responses/SOL005_resp.yaml#/components/responses/405 "406": $ref: ../responses/SOL005_resp.yaml#/components/responses/406 "422": $ref: ../responses/SOL005_resp.yaml#/components/responses/422 "500": $ref: ../responses/SOL005_resp.yaml#/components/responses/500 "503": $ref: ../responses/SOL005_resp.yaml#/components/responses/503 "504": $ref: ../responses/SOL005_resp.yaml#/components/responses/504 /capacity_thresholds/{capacityThresholdId}: parameters: - $ref: '#/components/parameters/CapacityThresholdId' - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization get: description: | The API consumer can use this method for reading information about an NFVI capacity threshold. See clause 10.4.5.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: "200": $ref: '#/components/responses/IndividualCapacityThreshold.Get' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": $ref: ../responses/SOL005_resp.yaml#/components/responses/401 "403": $ref: ../responses/SOL005_resp.yaml#/components/responses/403 "404": $ref: ../responses/SOL005_resp.yaml#/components/responses/404 "405": $ref: ../responses/SOL005_resp.yaml#/components/responses/405 "406": $ref: ../responses/SOL005_resp.yaml#/components/responses/406 "500": $ref: ../responses/SOL005_resp.yaml#/components/responses/500 "503": $ref: ../responses/SOL005_resp.yaml#/components/responses/503 "504": $ref: ../responses/SOL005_resp.yaml#/components/responses/504 patch: description: | This method allows to modify an "Individual capacity threshold" resource. See clause 10.4.5.3.4. requestBody: $ref: '#/components/requestBodies/IndividualNfviCapacityThresholdRequest' responses: "200": $ref: '#/components/responses/IndividualCapacityThreshold.Patch' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": $ref: ../responses/SOL005_resp.yaml#/components/responses/401 "403": $ref: ../responses/SOL005_resp.yaml#/components/responses/403 "404": $ref: ../responses/SOL005_resp.yaml#/components/responses/404 "405": $ref: ../responses/SOL005_resp.yaml#/components/responses/405 "406": $ref: ../responses/SOL005_resp.yaml#/components/responses/406 "412": $ref: ../responses/SOL005_resp.yaml#/components/responses/412 "422": $ref: ../responses/SOL005_resp.yaml#/components/responses/422 "500": $ref: ../responses/SOL005_resp.yaml#/components/responses/500 "503": $ref: ../responses/SOL005_resp.yaml#/components/responses/503 "504": $ref: ../responses/SOL005_resp.yaml#/components/responses/504 delete: description: | This method allows to delete an NFVI capacity threshold. See clause 10.4.5.3.5. responses: "204": $ref: '#/components/responses/IndividualCapacityThreshold.Delete' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": $ref: ../responses/SOL005_resp.yaml#/components/responses/401 "403": $ref: ../responses/SOL005_resp.yaml#/components/responses/403 "404": $ref: ../responses/SOL005_resp.yaml#/components/responses/404 "405": $ref: ../responses/SOL005_resp.yaml#/components/responses/405 "406": $ref: ../responses/SOL005_resp.yaml#/components/responses/406 "500": $ref: ../responses/SOL005_resp.yaml#/components/responses/500 "503": $ref: ../responses/SOL005_resp.yaml#/components/responses/503 "504": $ref: ../responses/SOL005_resp.yaml#/components/responses/504 components: parameters: VimId: name: vimId in: path description: | Identifier of the VIM with associated NFVI capacity information. This identifier can be retrieved from the "vimId" attribute in the CapacityShortageNotification. It can also be retrieved from the "vimId" attribute in the payload body of the response. required: true style: simple explode: false schema: type: string CapacityThresholdId: name: capacityThresholdId in: path description: | Identifier of the capacity threshold. This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a POST request creating a new "Individual capacity threshold" resource. It can also be retrieved from the "id" attribute in the payload body of that response. required: true style: simple explode: false schema: type: string SubscriptionId: name: subscriptionId in: path description: | Identifier of the subscription. This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a POST request creating a new subscription resource. It can also be retrieved from the "id" attribute in the payload body of that response. required: true style: simple explode: false schema: type: string requestBodies: NfviCapacityThresholdRequest: description: | Request parameters to create a new "Individual capacity threshold" resource. content: application/json: schema: $ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/CreateCapacityThresholdRequest required: true IndividualNfviCapacityThresholdRequest: description: | Parameters for the capacity threshold modification. The Content-Type header shall be set to "application/merge-patch+json" according to IETF RFC 7396. content: application/json: schema: $ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/CapacityThresholdModifications required: true CapacityShortageNotificationRequest: description: | Notification about the available NFVI capacity having crossed below a threshold value or having re-covered from a capacity shortage. content: application/json: schema: $ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/CapacityShortageNotification required: true responses: NfviCapacityInfos.Get: description: | Shall be returned when information about NFVI capacity information has been queried successfully. The response body shall contain NFVI capacity information, as defined in clause 10.5.2.4. 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 clauses 5.2.2 of ETSI GS NFV-SOL 013. If the NFVO supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, inclusion of the Link HTTP header in this response shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. headers: Version: description: | Version of the API used in the response. style: simple explode: false schema: type: string WWW-Authenticate: description: | Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. style: simple explode: false schema: type: string Content-Type: description: The MIME type of the body of the response. style: simple explode: false schema: type: string content: application/json: schema: type: array items: $ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/NfviCapacityInfo NfviCapacityInfo.Get: description: | Shall be returned when information of an individual VIM’s NFVI capacity has been read successfully. The response body shall contain a representation of the NFVI capacity information, as defined in clause 10.5.2.4. headers: Version: description: | Version of the API used in the response. style: simple explode: false schema: type: string WWW-Authenticate: description: | Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. style: simple explode: false schema: type: string Content-Type: description: The MIME type of the body of the response. style: simple explode: false schema: type: string content: application/json: schema: $ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/NfviCapacityInfo CapacityThresholds.Get: description: | Shall be returned when information about zero or more capacity thresholds has been queried successfully. 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. The response body shall contain in an array the representations of zero or more capacity thresholds, as defined in clause 10.5.2.8. If the NFVO supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, inclusion of the Link HTTP header in this response shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. headers: Version: description: | Version of the API used in the response. style: simple explode: false schema: type: string WWW-Authenticate: description: | Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. style: simple explode: false schema: type: string Content-Type: description: The MIME type of the body of the response. style: simple explode: false schema: type: string content: application/json: schema: type: array items: $ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/CapacityThreshold CapacityThresholds.Post: description: | Shall be returned when a capacity threshold has been created successfully. The response body shall contain a representation of the created "Individual capacity threshold" resource, as defined in clause 10.5.2.8. The HTTP response shall include a "Location" HTTP header that contains the resource URI of the created resource. headers: Version: description: | Version of the API used in the response. style: simple explode: false schema: type: string WWW-Authenticate: description: | Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. style: simple explode: false schema: type: string Content-Type: description: The MIME type of the body of the response. style: simple explode: false schema: type: string content: application/json: schema: $ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/CapacityThreshold IndividualCapacityThreshold.Get: description: | Shall be returned when information about an individual capacity threshold has been read successfully. The response body shall contain in a representation of the capacity threshold, as defined in clause 10.5.2.8. headers: Version: description: | Version of the API used in the response. style: simple explode: false schema: type: string WWW-Authenticate: description: | Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. style: simple explode: false schema: type: string Content-Type: description: The MIME type of the body of the response. style: simple explode: false schema: type: string content: application/json: schema: $ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/CapacityThreshold IndividualCapacityThreshold.Patch: description: | 200 OK Shall be returned when the request has been processed successfully. The response body shall contain a data structure of type "CapacityThresholdModifications". headers: Version: description: | Version of the API used in the response. style: simple explode: false schema: type: string WWW-Authenticate: description: | Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. style: simple explode: false schema: type: string Content-Type: description: The MIME type of the body of the response. style: simple explode: false schema: type: string content: application/json: schema: $ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/CapacityThresholdModifications IndividualCapacityThreshold.Delete: description: | Shall be returned when the NFVI capacity threshold has been deleted successfully. The response body shall be empty. headers: Version: description: | Version of the API used in the response. style: simple explode: false schema: type: string WWW-Authenticate: description: | Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. style: simple explode: false schema: type: string Content-Type: description: The MIME type of the body of the response. style: simple explode: false schema: type: string content: {} CapacityShortageNotification.Post: description: | Shall be returned when the notification has been delivered successfully. headers: Version: description: | Version of the API used in the response. style: simple explode: false schema: type: string WWW-Authenticate: description: | Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. style: simple explode: false schema: type: string Content-Type: description: The MIME type of the body of the response. style: simple explode: false schema: type: string content: {} CapacityShortageNotification.Get: description: | Shall be returned to indicate that the notification endpoint has been tested successfully. The response body shall be empty. headers: Version: description: | Version of the API used in the response. style: simple explode: false schema: type: string WWW-Authenticate: description: | Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. style: simple explode: false schema: type: string Content-Type: description: The MIME type of the body of the response. style: simple explode: false schema: type: string content: {}