openapi: 3.0.2 info: title: SOL005 - NS LCM Coordination interface description: | SOL005 - NS LCM Coordination interface IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence. Please report bugs to https://forge.etsi.org/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.6.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/lcmcoord/v1 - url: https://127.0.0.1/lcmcoord/v1 paths: ############################################################################### # API Versions # ############################################################################### /api_versions: $ref: '../endpoints/SOL005_endpoints.yaml#/endpoints/api-versions' /coordinations: parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept post: description: | The POST method requests the coordination of an LCM operation occurrence with a management operation executed in the API producer. See clause 12.4.2.3.1. requestBody: $ref: '#/components/requestBodies/LcmCoordRequest' responses: 201: $ref: '#/components/responses/CoordinationActions.Post.201' 202: $ref: '#/components/responses/CoordinationActions.Post.202' 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 409: $ref: ../responses/SOL005_resp.yaml#/components/responses/409 416: $ref: ../responses/SOL005_resp.yaml#/components/responses/416 500: $ref: ../responses/SOL005_resp.yaml#/components/responses/500 503: $ref: '#/components/responses/CoordinationActions.Post.503' 504: $ref: ../responses/SOL005_resp.yaml#/components/responses/504 /coordinations/{coordinationId}: parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - $ref: '#/components/parameters/CoordinationId' get: description: | The GET method reads a coordination result. See clause 12.4.3.3.2. responses: 200: $ref: '#/components/responses/IndividualCoordinationAction.Get.200' 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 416: $ref: ../responses/SOL005_resp.yaml#/components/responses/416 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 /coordinations/cancel: parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept post: description: | The POST method initiates the cancellation of an ongoing coordination action. See clause 12.4.4.3.1. responses: 202: $ref: '#/components/responses/CoordinationActionCancel.Post.202' 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 409: $ref: ../responses/SOL005_resp.yaml#/components/responses/409 416: $ref: ../responses/SOL005_resp.yaml#/components/responses/416 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: CoordinationId: name: coordinationId in: path description: | Identifier of the LCM coordination. NOTE: This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a POST request to the "Coordinations" resource. required: true style: simple explode: false schema: type: string requestBodies: LcmCoordRequest: description: | Parameters for the coordination action as defined in clause 12.5.2.2. content: application/json: schema: $ref: ./definitions/SOL005NSLCMCoordination_def.yaml#/definitions/LcmCoordRequest required: true responses: CoordinationActions.Post.201: description: | 201 CREATED Shall be returned to indicate a finished coordination action when the API producer has chosen the synchronous mode, which may be selected for coordination actions that finish within the time frame in which an HTTP response is expected.. The response body shall contain an LcmCoord data structure that represents the result of the coordination action. The HTTP response shall include a "Location" HTTP header that indicates the URI of the "Individual coordination action" resource that has been created as the result of the finished coordination procedure. headers: Version: description: The used API version. 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 Location: description: The resource URI of the created VNF Snapshot Package. style: simple explode: false schema: type: string format: url 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/SOL005NSLCMCoordination_def.yaml#/definitions/LcmCoord CoordinationActions.Post.202: description: | 202 ACCEPTED Shall be returned when the API producer has chosen the asynchronous mode and the request has been accepted for processing. The response body shall be empty. The HTTP response shall include a "Location" HTTP header that indicates the URI of the "Individual coordination action" resource that will be created once the coordination operation has finished successfully. Further, the HTTP response may include a "Retry-After" HTTP header that indicates the time to wait before sending the next GET request to the "individual coordination" resource indicated in the "Location" header. If the header is provided, the NFVO shall record the signalled delay value in the "delay" attribute of the applicable entry in the "lcmCoordinations" array in the "NsLcmOpOcc" structure. headers: Version: description: The used API version. 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 Location: description: The resource URI of the created VNF Snapshot Package. style: simple explode: false schema: type: string format: url Content-Type: description: The MIME type of the body of the response. style: simple explode: false schema: type: string CoordinationActions.Post.503: description: | 503 Service Unavailable Shall be returned upon the following error: The API producer has chosen the synchronous mode and cannot perform the requested coordination currently, but expects to be able to perform it sometime in the future. No "individual coordination action" resource shall be created. A ProblemDetails structure shall be included in the response to provide more details about the rejection in the "details" attribute. The HTTP response shall include a "Retry-After" HTTP header that indicates the delay after which it is suggested to repeat the coordination request with the same set of parameters. The NFVO shall record the signalled delay value in the "delay" attribute of the applicable entry in the "rejectedLcmCoordinations" array in the "NsLcmOpOcc" structure. headers: Version: description: The used API version. 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 Retry-After: description: | It indicates the delay after which it is suggested to repeat the coordination request with the same set of parameters. style: simple explode: false schema: type: string format: url 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/SOL005_def.yaml#/definitions/ProblemDetails" IndividualCoordinationAction.Get.200: description: | 200 OK Shall be returned when the coordination is finished and the coordination result has been read successfully. A representation of the "Individual coordination action" resource shall be returned in the response body. headers: Version: description: The used API version. 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/SOL005NSLCMCoordination_def.yaml#/definitions/LcmCoord CoordinationActionCancel.Post.202: description: | 202 ACCEPTED Shall be returned when the cancellation request has been accepted for processing. The response shall have an empty payload body. headers: Version: description: The used API version. 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