diff --git a/src/SOL002/APIVersion/APIVersion.yaml b/src/SOL002/APIVersion/APIVersion.yaml index c050b0548c5e01f140a6637b41da507c54a2a9a6..00b5982fa898c23f9f1df77ce4cdd69fb0ab0ca4 100644 --- a/src/SOL002/APIVersion/APIVersion.yaml +++ b/src/SOL002/APIVersion/APIVersion.yaml @@ -1,50 +1,31 @@ -swagger: "2.0" +openapi: 3.0.2 info: - version: "1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" title: SOL002 - API version interface - description: > - SOL002 - API version 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. + description: | + SOL002 - API version 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 + contact: + name: NFV-SOL WG license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - contact: - name: NFV-SOL WG + version: 1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 002 V2.7.1 + description: ETSI GS NFV-SOL 002 V3.3.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf -schemes: - - http - - https - -consumes: - - application/json - -produces: - - application/json - paths: - ############################################################################### - # API Versions # - ############################################################################### - '/vnfconfig/api_versions': + /vnfconfig/api_versions: $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' - - '/vnffm/api_versions': + /vnffm/api_versions: $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' - - '/vnfind/api_versions': + /vnfind/api_versions: $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' - - '/vnflcm/api_versions': + /vnflcm/api_versions: $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' - - '/vnfpm/api_versions': + /vnfpm/api_versions: $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' \ No newline at end of file diff --git a/src/SOL002/VNFConfiguration/VNFConfiguration.yaml b/src/SOL002/VNFConfiguration/VNFConfiguration.yaml index b70febcf653489cc32a261c145addbff20117d47..cbf432d6270e2c10a116a416f25a5775052d8d92 100644 --- a/src/SOL002/VNFConfiguration/VNFConfiguration.yaml +++ b/src/SOL002/VNFConfiguration/VNFConfiguration.yaml @@ -1,183 +1,160 @@ -swagger: "2.0" +openapi: 3.0.2 info: - version: "1.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" title: SOL002 - VNF Configuration interface - description: > - SOL002 - VNF Configuration 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. + description: | + SOL002 - VNF Configuration 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 + contact: + name: NFV-SOL WG license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - contact: - name: NFV-SOL WG + version: 1.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 002 V2.7.1 + description: ETSI GS NFV-SOL 002 V3.3.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf -basePath: /vnfconfig/v1 - -schemes: - - http - - https - -consumes: - - application/json - -produces: - - application/json +servers: + - url: http://127.0.0.1/vnfconfig/v1 + - url: https://127.0.0.1/vnfconfig/v1 paths: - ############################################################################### - # API Versions # - ############################################################################### - '/api_versions': + /api_versions: $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' - ############################################################################### - # VNF Configuration # - ############################################################################### - '/configuration': + /configuration: parameters: - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization get: summary: Read VNF/VNFC configuration from VNF - description: > + description: | The client can use this method to read configuration information about a VNF instance and/or its VNFC instances. responses: - 200: - description: > - 200 OK - - Shall be returned when configuration information about a VNF instance - has been read successfully. - The response body shall contain a representation of the configuration resource. - schema: - $ref: 'definitions/SOL002VNFConfiguration_def.yaml#/definitions/VnfConfiguration' - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + "200": + $ref: '#/components/responses/Configuration.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + patch: summary: Modify VNF/VNFC configuration. description: This method sets or modifies a configuration resource. - parameters: - - name: configModifications - description: > - The parameter for the configuration modification, as defined in - clause 9.5.2.2. - required: true - in: body - schema: - $ref: 'definitions/SOL002VNFConfiguration_def.yaml#/definitions/VnfConfigModifications' + requestBody: + $ref: '#/components/requestBodies/ConfigurationRequest' responses: - 200: - description: > - 200 OK + "200": + $ref: '#/components/responses/Configuration.Patch' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "412": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/412 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 - Shall be returned when the request has been accepted and completed. - The response body shall contain the parameters of the configuration - modification that was applied to the configuration resource. +components: + requestBodies: + ConfigurationRequest: + description: | + The parameter for the configuration modification, as defined in clause 9.5.2.2. + content: + application/json: schema: - $ref: 'definitions/SOL002VNFConfiguration_def.yaml#/definitions/VnfConfigModifications' - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 412: - # description: > - # 412 PRECONDITION FAILED + $ref: ./definitions/SOL002VNFConfiguration_def.yaml#/definitions/VnfConfigModifications + required: true - # 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. - # schema: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/412" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" \ No newline at end of file + responses: + Configuration.Get: + description: | + 200 OK + Shall be returned when configuration information about a VNF instance has been read successfully. The response body shall contain a representation of the configuration resource. + 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/SOL002VNFConfiguration_def.yaml#/definitions/VnfConfiguration + + Configuration.Patch: + description: | + 200 OK + Shall be returned when the request has been accepted and completed. The response body shall contain the + parameters of the configuration modification that was applied to the configuration resource. + headers: + Version: + description: The used API version. + 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/SOL002VNFConfiguration_def.yaml#/definitions/VnfConfigModifications \ No newline at end of file diff --git a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml index 0b7df075439ed9dc48522512a0fd1d08117ff7f4..81bdc0f99ced1c3f68b2ee6ed2ce1c86dfaee0bd 100644 --- a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml @@ -1,888 +1,646 @@ -swagger: "2.0" +openapi: 3.0.2 info: - version: "1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" title: SOL002 - VNF Fault Management interface - description: > - SOL002 - VNF Fault Management interface - IMPORTANT: Please note that this file might be not aligned to the current - version of the ETSI Group Specification it refers to and has not been - approved by the ETSI NFV ISG. In case of discrepancies the published ETSI - Group Specification takes precedence. + description: | + SOL002 - VNF Fault Management interface IMPORTANT: Please note that this file might be not aligned to the current + version of the ETSI Group Specification it refers to 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 + contact: + name: NFV-SOL WG license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - contact: - name: NFV-SOL WG + version: 1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 002 V2.7.1 + description: ETSI GS NFV-SOL 002 V3.3.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf -basePath: /vnffm/v1 - -schemes: - - http - - https - -consumes: - - application/json - -produces: - - application/json +servers: + - url: http://127.0.0.1/vnffm/v1 + - url: https://127.0.0.1/vnffm/v1 paths: - ############################################################################### - # API Versions # - ############################################################################### - '/api_versions': + /api_versions: $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' - ############################################################################### - # Alarms # - ############################################################################### - '/alarms': - #SOL003 location: 7.4.2 + /alarms: parameters: - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization get: - description: > - The client can use this method to retrieve information about the alarm - list. + description: | + The client can use this method to retrieve information about the alarm list. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013. - The VNFM shall support receiving this parameter as part of the URI query string. - The EM may supply this parameter. The VNF may supply its instance Id as an attribute filter. - The following attribute names shall be supported in the filter expression: id, managedObjectId, - vnfcInstanceIds, rootCauseFaultyResource.faultyResourceType, eventType, perceivedSeverity, probableCause. - If the vnfcInstanceIds parameter is provided, exactly one value for the managedObjectId attribute - shall be provided. - - EXAMPLE - objects - obj1: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} - obj2: {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} - - Request 1: - GET …/container - - Response 1: - [ - {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}, - {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} - ] - - Request 2: - GET …/container?filter=(eq.weight,100) - - Response 2: - [ - {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} - ] - #Request 2 in EXAMPLE from clause 4.3.2 probably wrong, since "," should be used after opOne (eq), "." is used - in: query - required: false - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. - Shall be supported by the VNFM if the VNFM supports alternative 2 - (paging) according to clause 5.4.2.1 5.2 of ETSI GS NFV-SOL 013 - for this resource. - in: query - required: false - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker responses: - 200: - description: > - 200 OK + "200": + $ref: '#/components/responses/Alarms.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 - Shall be returned when information about zero or more alarms was queried successfully. - The response body shall contain in an array the representations of zero or more alarms - as defined in clause 7.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 clause 5.2.2 of - ETSI GS NFV-SOL 013. - If the VNFM supports alternative 2 (paging) according to clause 5.4.2.1 of - ETSI GS NFV-SOL 013for this resource, inclusion of the Link HTTP header in this response - shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - Link: - description: > - Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. - type: string - maximum: 1 - minimum: 0 - schema: - $ref: "./definitions/SOL002VNFFaultManagement_def.yaml#/definitions/Alarm" - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - ############################################################################### - # Individual alarm # - ############################################################################### - '/alarms/{alarmId}': - #SOL003 location: 7.4.3 + /alarms/{alarmId}: parameters: - - name: alarmId - description: > - Identifier of the alarm. - This identifier can be retrieved from the "id" attribute of the - "alarm" attribute in the AlarmNotification or - AlarmClearedNotification. It can also be retrieved from the "id" - attribute of the applicable array element in the payload body of the - response to a GET request to the "Alarms" resource. - in: path - type: string - required: true - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string + - $ref: '#/components/parameters/AlarmId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization get: - description: > + description: | The client can use this method to read an individual alarm. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType responses: - 200: - description: > - 200 OK + "200": + $ref: '#/components/responses/IndividualAlarm.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 - Shall be returned when information about an individual alarm read - successfully. - The response body shall contain a representation of the individual - alarm. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - $ref: "definitions/SOL002VNFFaultManagement_def.yaml#/definitions/Alarm" - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" patch: - description: > + description: | This method modifies an individual alarm resource. parameters: - - name: AlarmModifications - description: The parameter for the alarm modification - in: body - required: true - schema: - $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/AlarmModifications" - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Content-Type - description: > - The Content-Type header shall be set to "application/mergepatch+json" - Reference: IETF RFC 7396 - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + requestBody: + $ref: '#/components/requestBodies/IndividualAlarmRequest' responses: - 200: - description: > - 200 OK + "200": + $ref: '#/components/responses/IndividualAlarm.Patch' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "409": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409 + "412": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/412 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 - Shall be returned when the request was accepted and completed. - The response body shall contain attribute modifications for - an "Individual alarm" resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/AlarmModifications" - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 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 alarm" resource. - # Typically, this is due to the fact that the alarm is already in the state that - # is requested to be set (such as trying to acknowledge an already-acknowledged - # alarm). - # The response body shall contain a ProblemDetails structure, in which the - # "detail" attribute shall convey more information about the error. - # schema: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" - 412: - # description: > - # 412 PRECONDITION FAILED - - # ErrorShall 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. - # schema: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/412" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - ############################################################################### - # Escalate Perceived Severity task # - ############################################################################### - '/alarms/{alarmId}/escalate': - #SOL002 location: 7.4.4 + /alarms/{alarmId}/escalate: parameters: - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string + - $ref: '#/components/parameters/AlarmId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization post: - description: > - The POST method enables the consumer to escalate the perceived severity - of an alarm that is represented by an ndividual alarm resource. - As the result of successfully executing this method, a new "Individual - subscription" resource as defined in clause 7.4.5 shall have been created. - This method shall not trigger any notification. - parameters: - - name: alarmId - description: > - Identifier of the alarm. - This identifier can be retrieved from the "id" attribute of the - "alarm" attribute in the AlarmNotification or - AlarmClearedNotification. It can also be retrieved from the "id" - attribute of the applicable array element in the payload body of the - response to a GET request to the "Alarms" resource. - in: path - type: string - required: true - - name: PerceivedSeverityRequest - description: The proposed "escalated perceived severity" value - in: body - schema: - $ref: "definitions/SOL002VNFFaultManagement_def.yaml#/definitions/PerceivedSeverityRequest" + description: | + The POST method enables the consumer to escalate the perceived severity of an alarm that is represented by an + individual alarm resource. As the result of successfully executing this method, a new "Individual subscription" + resource as defined in clause 7.4.5 shall have been created. This method shall not trigger any notification. + requestBody: + $ref: '#/components/requestBodies/IndividualAlarmEscalateRequest' responses: - 200: - description: > - 204 No Content + "200": + $ref: '#/components/responses/IndividualAlarmEscalate.Post' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 - Shall be returned when the VNFM has received the proposed "escalated - perceived severity" value successfully. The response body shall be empty. - headers: - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - ############################################################################### - # Subscriptions # - ############################################################################### - '/subscriptions': - #SOL003 location: 7.4.4 + /subscriptions: parameters: - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + get: + description: | + The client can use this method to retrieve the list of active subscriptions for VNF alarms subscribed by the + client. It can be used e.g. for resynchronization after error situations. + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker + responses: + "200": + $ref: '#/components/responses/Subscriptions.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + post: - description: > + description: | The POST method creates a new subscription. parameters: - - name: FmSubscriptionRequest - description: The VNF creation parameters - in: body - required: true - schema: - $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscriptionRequest" - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + requestBody: + $ref: '#/components/requestBodies/FmSubscriptionRequest' responses: - 201: - description: > - 201 CREATED + "201": + $ref: '#/components/responses/Subscriptions.Post' + "303": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/303 + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 - The subscription was created successfully. The response body shall - contain a representation of the created subscription resource. - The HTTP response shall include a "Location:" HTTP header that - points to the created subscription resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - Location: - description: > - The resource URI of the created subscription resource. - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscription" - 303: - # description: > - # 303 SEE OTHER - - # A subscription with the same callbackURI and the same filter already exists and the policy of - # the VNFM is to not create redundant subscriptions. - # The HTTP response shall include a "Location" HTTP header that contains the resource URI of the - # existing subscription resource. - # The response body shall be empty. - # schema: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/303" - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - # description: > - # 422 UNPROCESSABLE ENTITY - - # Shall be returned upon the following error: The content - # type of the payload body is supported and the payload - # body of a request contains syntactically correct data but - # the data cannot be processed. - # The general cause for this error and its handling is - # specified in clause 6.4 of ETSI GS NFV-SOL 013 [6], - # including rules for the presence of the response body. - # Specifically in case of this resource, the response code - # 422 shall also be returned if the VNFM has tested the - # Notification endpoint as described in clause 7.4.7.3.2 - # and the test has failed. - # In this case, the "detail" attribute in the "ProblemDetails" - # structure shall convey more information about the error - # schema: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + /subscriptions/{subscriptionId}: + parameters: + - $ref: '#/components/parameters/SubscriptionId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization get: - description: > - The client can use this method to retrieve the list of active - subscriptions for VNF alarms subscribed by the client. It can be used - e.g. for resynchronization after error situations. + description: | + The client can use this method for reading an individual subscription for VNF alarms subscribed by the client. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013. - The VNFM shall support receiving this parameter as part of the URI query string. - The EM may supply this parameter. The VNF may supply its instance Id as an attribute filter. - All attribute names that appear in the FmSubscription and in data types referenced from it - shall be supported by the VNFM in the filter expression. + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + responses: + "200": + $ref: '#/components/responses/IndividualSubscription.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 - EXAMPLE - objects - obj1: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} - obj2: {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} + delete: + description: | + This method terminates an individual subscription. As the result + of successfully executing this method, the "Individual subscription" + resource shall not exist any longer. This means that no notifications for + that subscription shall be sent to the formerly-subscribed API consumer. + NOTE: Due to race conditions, some notifications might still be received + by the formerly-subscribed API consumer for a certain time period after + the deletion. + responses: + "204": + $ref: '#/components/responses/IndividualSubscription.Delete' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 - Request 1: - GET …/container +components: + parameters: + AlarmId: + name: alarmId + in: path + description: | + Identifier of the alarm. This identifier can be retrieved from the "id" attribute of the "alarm" attribute + in the AlarmNotification or AlarmClearedNotification. It can also be retrieved from the "id" attribute of + the applicable array element in the payload body of the response to a GET request to the "Alarms" resource. + required: true + style: simple + explode: false + schema: + type: string - Response 1: - [ - {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}, - {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} - ] + SubscriptionId: + name: subscriptionId + in: path + description: | + Identifier of this subscription. This identifier can be retrieved from the resource referenced by the "Location" + HTTP header in the response to a POST request creating a new subscription resource. It can also be retrieved + from the "id" attribute in the payload body of that response. + required: true + style: simple + explode: false + schema: + type: string - Request 2: - GET …/container?filter=(eq.weight,100) + requestBodies: + IndividualAlarmRequest: + description: The parameter for the alarm modification + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/AlarmModifications + required: true - Response 2: - [ - {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} - ] - #Request 2 in EXAMPLE from clause 4.3.2 probably wrong, since "," should be used after opOne (eq), "." is used - in: query - required: false - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. - Shall be supported by the VNFM if the VNFM supports alternative 2 - (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for - this resource. - in: query - required: false - type: string - responses: - 200: - description: > - 200 OK + IndividualAlarmEscalateRequest: + description: The proposed "escalated perceived severity" value + content: + application/json: + schema: + $ref: ./definitions/SOL002VNFFaultManagement_def.yaml#/definitions/PerceivedSeverityRequest + required: false - The list of subscriptions has been queried successfully. The response - body shall contain the representations of all active - subscriptions of the functional block that invokes the method. - 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 VNFM supports alternative 2 (paging) according to clause - 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, inclusion of the - Link HTTP header in this response shall follow the provisions in - clause 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - Link: - description: > - Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. - type: string - maximum: 1 - minimum: 0 - schema: - $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscription" - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - ############################################################################### - # Individual subscription # - ############################################################################### - '/subscriptions/{subscriptionId}': - #SOL003 location: 7.4.5 - parameters: - - name: subscriptionId - description: > - Identifier of this subscription. - This identifier can be retrieved from the resource referenced by the - "Location" HTTP header in the response to a POST request creating a - new subscription resource. It can also be retrieved from the "id" - attribute in the payload body of that response. - in: path - type: string - required: true - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - get: - description: > - The client can use this method for reading an individual subscription - for VNF alarms subscribed by the client. - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - responses: - 200: - description: > - 200 OK + FmSubscriptionRequest: + description: The VNF creation parameters + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscriptionRequest + required: true - 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: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscription" - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - delete: - description: > - This method terminates an individual subscription. - As the result of successfully executing this method, the "Individual - subscription" resource shall not exist any longer. This means that no - notifications for that subscription shall be sent to the - formerly-subscribed API consumer. - NOTE: Due to race conditions, some notifications might still be - received by the formerly-subscribed API consumer for a certain time - period after the deletion. - responses: - 204: - description: > - 204 NO CONTENT + responses: + Alarms.Get: + description: | + 200 OK + Shall be returned when information about zero or more alarms was queried successfully. The response body shall + contain in an array the representations of zero or more alarms as defined in clause 7.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 clause 5.2.2 of ETSI GS NFV-SOL 013. If the VNFM supports alternative 2 (paging) + according to clause 5.4.2.1 of ETSI GS NFV-SOL 013for 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: 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 + Link: + description: | + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + 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/SOL002VNFFaultManagement_def.yaml#/definitions/Alarm + + IndividualAlarm.Get: + description: | + 200 OK + Shall be returned when information about an individual alarm read successfully. The response body shall contain + a representation of the individual alarm. + 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/SOL002VNFFaultManagement_def.yaml#/definitions/Alarm + + IndividualAlarm.Patch: + description: | + 200 OK + Shall be returned when the request was accepted and completed. The response body shall contain attribute + modifications for an "Individual alarm" resource. + 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/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/AlarmModifications - Shall be returned when the "Individual subscription" resource has - been deleted successfully. - The response body shall be empty. - headers: - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" \ No newline at end of file + IndividualAlarmEscalate.Post: + description: | + 204 No Content + Shall be returned when the VNFM has received the proposed "escalated perceived severity" value successfully. + The response body shall be empty. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + content: {} + + Subscriptions.Get: + description: | + 200 OK + The list of subscriptions has been queried successfully. The response body shall contain the representations of + all active subscriptions of the functional block that invokes the method. 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 VNFM 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: 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 + Link: + description: | + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + 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/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscription + + Subscriptions.Post: + description: | + 201 CREATED + The subscription was created successfully. The response body shall contain a representation of the created + subscription resource. The HTTP response shall include a "Location:" HTTP header that points to the created + subscription resource. + headers: + 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 + Location: + description: | + The resource URI of the created subscription resource. + style: simple + explode: false + schema: + type: string + format: url + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscription + + IndividualSubscription.Get: + 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: + 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/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscription + + IndividualSubscription.Delete: + description: | + 204 NO CONTENT + Shall be returned when the "Individual subscription" resource has been deleted successfully. + The response body shall be empty. + 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: {} \ No newline at end of file diff --git a/src/SOL002/VNFIndicator/VNFIndicator.yaml b/src/SOL002/VNFIndicator/VNFIndicator.yaml index cb5532d79a3d54d8074b1251532f682664a6bb01..813161332c3af89aa171e07434422292b6b66275 100644 --- a/src/SOL002/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL002/VNFIndicator/VNFIndicator.yaml @@ -1,775 +1,574 @@ -swagger: "2.0" +openapi: 3.0.2 info: - version: "1.2.1-impl:etsi.org:ETSI_NFV_OpenAPI:1" title: SOL002 - VNF Indicator interface - description: > - SOL002 - VNF Indicator interface - IMPORTANT: Please note that this file might be not aligned to the current - version of the ETSI Group Specification it refers to 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 + description: | + SOL002 - VNF Indicator interface IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to 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 + contact: + name: NFV-SOL WG license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - contact: - name: NFV-SOL WG + version: 1.2.1-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 002 V2.7.1 + description: ETSI GS NFV-SOL 002 V3.3.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf -basePath: /vnfind/v1 - -schemes: - - http - - https - -consumes: - - application/json - -produces: - - application/json +servers: + - url: http://127.0.0.1/vnfind/v1 + - url: https://127.0.0.1/vnfind/v1 paths: - ############################################################################### - # API Versions # - ############################################################################### - '/api_versions': - $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' + /api_versions: + $ref: ../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions - ############################################################################### - # VNF Indicators # - ############################################################################### /indicators: parameters: - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization get: summary: Query multiple indicators - description: Get a list of indicators. Support of attribute based filtering via query parameters. + description: Get a list of indicators. Support of attribute based filtering + via query parameters. parameters: - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013. - The VNFM shall support receiving this parameter as part of the URI query string. - The EM/VNF may supply this parameter. The VNF may supply its instance Id as an attribute filter. - All attribute names that appear in the VnfIndicator data type and in data types referenced from - it shall be supported by the VNFM in the filter expression. If receiving, this parameter is not - supported a 400 Bad Request response shall be returned (See table 8.4.2.3.2-2). - - EXAMPLE - objects - obj1: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} - obj2: {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} - - Request 1: - GET …/container - - Response 1: - [ - {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}, - {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} - ] - - Request 2: - GET …/container?filter=(eq.weight,100) - - Response 2: - [ - {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} - ] - #Request 2 in EXAMPLE from clause 4.3.2 probably wrong, since "," should be used after opOne (eq), "." is used - in: query - required: false - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be supported by the EM/VNF - if the EM/VNF supports alternative 2 (paging) according to clause 5.4.2.1 of - ETSI GS NFV-SOL 013for this resource. - in: query - required: false - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker responses: - 200: - description: > - 200 OK + "200": + $ref: '#/components/responses/Indicators.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 - Shall be returned when information about zero or more VNF indicators was - queried successfully. The response body shall contain in an array the - representations of all VNF indicators that match the attribute-based - filtering parameters, i.e. zero or more representations of VNF indicators - as defined in clause 8.5.2.2. - 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 EM/VNF supports alternative 2 (paging) according to clause 5.4.2.1 - of ETSI GS NFV-SOL 013for this resource, inclusion of the Link HTTP header - in this response shall follow the provisions in clause 5.4.2.3 of - ETSI GS NFV-SOL 013. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - Link: - description: > - Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. - type: string - maximum: 1 - minimum: 0 - schema: - type: array - items: - $ref: '../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicator' - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - ############################################################################### - # VNF indicators related to a VNF instance # - ############################################################################### /indicators/{vnfInstanceId}: parameters: - - name: vnfInstanceId - in: path - description: > - Service Unavailable - - Identifier of the VNF instance to which the VNF indicators applies. - NOTE: This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a - POST request creating a new VNF instance resource. It can also be retrieved from the "id" attribute in the payload body - of that response. - type: string - required: true - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string + - $ref: '#/components/parameters/VnfInstanceId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization get: summary: Query multiple indicators related to a VNF instance. - description: > - Get a list of indicators related to a specific VNF instance. Support of attribute based filtering via query parameters. + description: | + Get a list of indicators related to a specific VNF instance. Support of attribute based filtering via query + parameters. parameters: - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013. - The VNFM shall support receiving this parameter as part of the URI query string. - The EM/VNF shall support receiving filtering parameters as part of the URI query string. - The VNFM may supply filtering parameters. - All attribute names that appear in the VnfIndicator data type and in data types referenced - from it shall be supported in attribute-based filtering parameters. - - EXAMPLE - objects - obj1: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} - obj2: {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} - - Request 1: - GET …/container - - Response 1: - [ - {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}, - {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} - ] - - Request 2: - GET …/container?filter=(eq.weight,100) - - Response 2: - [ - {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} - ] - #Request 2 in EXAMPLE from clause 4.3.2 probably wrong, since "," should be used after opOne (eq), "." is used - in: query - required: false - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be supported - by the EM/VNF if the EM/VNF supports alternative 2 (paging) according - to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource. - in: query - required: false - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker responses: - 200: - description: > - 200 OK + "200": + $ref: '#/components/responses/VnfIndicators.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 - Shall be returned when information about zero or more VNF indicators - was queried successfully. - The response body shall contain in an array the representations of all - VNF indicators that are related to the particular VNF instance and that - match the attribute filter., i.e. zero or more representations of VNF - indicators as defined in clause 8.5.2.2. - 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 EM/VMF supports alternative 2 (paging) according to clause 5.4.2.1 - of ETSI GS NFV-SOL 013 for this resource, inclusion of the Link HTTP - header in this response shall follow the provisions in clause 5.4.2.3 - of ETSI GS NFV-SOL 013. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - Link: - description: > - Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. - type: string - maximum: 1 - minimum: 0 - schema: - type: array - items: - $ref: '../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicator' - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - ############################################################################### - # Individual VNF indicator # - ############################################################################### /indicators/{vnfInstanceId}/{indicatorId}: parameters: - - name: vnfInstanceId - in: path - description: > - Service Unavailable - - Identifier of the VNF instance to which the VNF indicators applies. - NOTE: This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a - POST request creating a new VNF instance resource. It can also be retrieved from the "id" attribute in the payload body - of that response. - type: string - required: true - - name: indicatorId - in: path - description: > - Identifier of the VNF indicator. - # LEH NOTE from SOL002 is strange - type: string - required: true - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string + - $ref: '#/components/parameters/VnfInstanceId' + - $ref: '#/components/parameters/IndicatorId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization get: summary: Read an inidividual VNF indicator related to a VNF instance. - description: > - Read an individual VNF indicator related to a specific VNF instance. - NOTE: This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a - POST request creating a new VNF instance resource. It can also be retrieved from the "id" attribute in the payload body - of that response. + description: | + Read an individual VNF indicator related to a specific VNF instance. NOTE: This identifier can be retrieved + from the resource referenced by the "Location" HTTP header in the response to a POST request creating a new VNF + instance resource. It can also be retrieved from the "id" attribute in the payload body of that response. responses: - 200: - description: > - 200 OK + "200": + $ref: '#/components/responses/VnfIndividualIndicator.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 - Shall be returned when the VNF indicator has been read successfully. - The response body shall contain the representation of the VNF indicator. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: '../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicator' - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - ############################################################################### - # Subscriptions # - ############################################################################### /subscriptions: - post: - summary: Create a new subscription to VNF indicator change notifications - description: > - This method creates a new subscription. - As the result of successfully executing this method, a new "Individual - subscription" resource as defined in clause 8.4.6 shall have been created. - This method shall not trigger any notification. - Creation of two "Individual subscription" resources with the same callbackURI and the same filter can result in - performance degradation and will provide duplicates of notifications to the VNFM, and might make sense only in very - rare use cases. Consequently, the API producer may either allow creating a new "Individual subscription" resource if - another "Individual subscription" resource with the same filter and callbackUri already exists (in which case it shall - return the "201 Created" response code), or may decide to not create a duplicate "Individual subscription" resource (in - which case it shall return a "303 See Other" response code referencing the existing "Individual subscription" resource - with the same filter and callbackUri). - This method shall follow the provisions specified in the tables 8.4.5.3.1-1 and 8.4.5.3.1-2 for URI query parameters, - request and response data structures, and response codes - parameters: - - name: vnfIndicatorSubscriptionRequest - in: body - description: Details of the subscription to be created. - required: true - schema: - $ref: '../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorSubscriptionRequest' - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - 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. - schema: - type: array - items: - $ref: '../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorSubscription' - headers: - Location: - description: > - Pointer to the created subscription resource. - type: string - format: URI - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - 303: - # description: > - # 303 SEE OTHER - - # Shall be returned when a subscription with the same callbackURI and - # the same filter already exists and the policy of the VNFM is to not - # create redundant subscriptions. - # The HTTP response shall include a "Location" HTTP header that contains - # the resource URI of the existing "Individual subscription" resource. - # The response body shall be empty. - # schema: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/303" - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization get: summary: Query multiple subscriptions. - description: > + description: | Service Unavailable - - The GET method queries the list of active subscriptions of the functional block - that invokes the method. It can be used e.g. for resynchronization after error situations. + The GET method queries the list of active subscriptions of the functional block that invokes the method. It can be used e.g. for resynchronization after error situations. parameters: - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013. - The EM shall and the VNF may support receiving this parameter as part - of the URI query string. The VNFM may supply this parameter. - All attribute names that appear in the VnfIndicatorSubscription data - type and in data types referenced from it shall be supported in the filter expression. - If receiving, this parameter is not supported, a 400 Bad Request response shall - be returned (see table 8.4.5.3.2-2). - - EXAMPLE - objects - obj1: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} - obj2: {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} - - Request 1: - GET …/container - - Response 1: - [ - {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}, - {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} - ] - - Request 2: - GET …/container?filter=(eq.weight,100) + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker + responses: + "200": + $ref: '#/components/responses/VnfIndicatorSubscriptions.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 - Response 2: - [ - {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} - ] - #Request 2 in EXAMPLE from clause 4.3.2 probably wrong, since "," should be used after opOne (eq), "." is used - in: query - required: false - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be supported - by the EM if the EM supports alternative 2 (paging) according to - clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource. - in: query - required: false - type: string + post: + summary: Create a new subscription to VNF indicator change notifications + description: | + This method creates a new subscription. As the result of successfully executing this method, a new "Individual + subscription" resource as defined in clause 8.4.6 shall have been created. This method shall not trigger any + notification. Creation of two "Individual subscription" resources with the same callbackURI and the same filter + can result in performance degradation and will provide duplicates of notifications to the VNFM, and might make + sense only in very rare use cases. Consequently, the API producer may either allow creating a new "Individual + subscription" resource if another "Individual subscription" resource with the same filter and callbackUri already + exists (in which case it shall return the "201 Created" response code), or may decide to not create a duplicate + "Individual subscription" resource (in which case it shall return a "303 See Other" response code referencing + the existing "Individual subscription" resource with the same filter and callbackUri). This method shall follow + the provisions specified in the tables 8.4.5.3.1-1 and 8.4.5.3.1-2 for URI query parameters, request and response + data structures, and response codes + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + requestBody: + $ref: '#/components/requestBodies/VnfIndicatorSubscriptionRequest' responses: - 200: - description: > - 200 OK + "201": + $ref: '#/components/responses/VnfIndicatorSubscription.Post' + "303": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/303 + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 - Shall be returned when the list of subscriptions was queried successfully. - The response body shall contain in an array the representations of all - active subscriptions of the functional block that invokes the method which - match the attribute filter, i.e. zero or more representations of VNF - indicators subscriptions as defined in clause 8.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 clause 5.2.2 of ETSI GS NFV SOL 013. - If the EM supports alternative 2 (paging) according to clause 5.4.2.1 - of ETSI GS NFV-SOL 013 for this resource, inclusion of the Link HTTP - header in this response shall follow the provisions in clause 5.4.2.3 - of ETSI GS NFV-SOL 013. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - Link: - description: > - Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. - type: string - maximum: 1 - minimum: 0 - schema: - type: array - items: - $ref: '../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorSubscription' - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - ############################################################################### - # Individual Subscription # - ############################################################################### /subscriptions/{subscriptionId}: parameters: - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string + - $ref: '#/components/parameters/SubscriptionId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization get: summary: Read an individual subscription. - description: > + description: | Service Unavailable - - This resource represents an individual subscription. The client can use this resource to - read and to terminate a subscription to notifications related to VNF indicator value changes. - parameters: - - name: subscriptionId - description: > - Identifier of this subscription. - NOTE: - This identifier can be retrieved from the resource referenced by the "Location" HTTP header - in the response to a POST request creating a new subscription resource. It can also be retrieved - from the "id" attribute in the payload body of that response. - in: path - type: string - required: true + This resource represents an individual subscription. The client can use this resource to read and to terminate a subscription to notifications related to VNF indicator value changes. responses: - 200: - description: > - 200 OK + "200": + $ref: '#/components/responses/VnfIndicatorSubscription.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 - Shall be returned when information about an individual subscription - has been read successfully. - The response body shall contain the representation of the - "Individual subscription" resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: '../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorSubscription' - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" delete: summary: Delete a subscription - description: > - This method terminates an individual subscription. - As the result of successfully executing this method, the "Individual - subscription" resource shall not exist any longer. This means that no - notifications for that subscription shall be sent to the formerly-subscribed - API consumer. - NOTE: Due to race conditions, some notifications might still be received - by the formerly-subscribed API consumer for a certain time period after + description: | + This method terminates an individual subscription. As the result + of successfully executing this method, the "Individual subscription" + resource shall not exist any longer. This means that no notifications for + that subscription shall be sent to the formerly-subscribed API consumer. + NOTE:\tDue to race conditions, some notifications might still be received + by the formerly-subscribed API consumer for a certain time period after the deletion. - parameters: - - name: subscriptionId - description: > - Service Unavailable - - Identifier of this subscription. - NOTE: - This identifier can be retrieved from the resource referenced by the "Location" HTTP header - in the response to a POST request creating a new subscription resource. It can also be retrieved - from the "id" attribute in the payload body of that response. - in: path - type: string - required: true responses: - 204: - description: > - 204 NO CONTENT + "204": + $ref: '#/components/responses/VnfIndicatorSubscription.Delete' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + +components: + parameters: + VnfInstanceId: + name: vnfInstanceId + in: path + description: | + Service Unavailable. + Identifier of the VNF instance to which the VNF indicators applies. + NOTE: This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the + response to a POST request creating a new VNF instance resource. It can also be retrieved from the "id" + attribute in the payload body of that response. + required: true + style: simple + explode: false + schema: + type: string + + IndicatorId: + name: indicatorId + in: path + description: | + Identifier of the VNF indicator. + required: true + style: simple + explode: false + schema: + type: string - Shall be returned when the subscription has been deleted successfully. - The response body shall be empty. - headers: - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" \ No newline at end of file + SubscriptionId: + name: subscriptionId + in: path + description: | + Identifier of this subscription. NOTE: + This identifier can be retrieved from the resource referenced by the "Location" HTTP header + in the response to a POST request creating a new 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: + VnfIndicatorSubscriptionRequest: + description: Details of the subscription to be created. + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorSubscriptionRequest + required: true + + responses: + Indicators.Get: + description: | + 200 OK + Shall be returned when information about zero or more VNF indicators was queried successfully. + The response body shall contain in an array the representations of all VNF indicators that match the + attribute-based filtering parameters, i.e. zero or more representations of VNF indicators as defined + in clause 8.5.2.2. 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 EM/VNF supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013for 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: The used API version. + style: simple + explode: false + schema: + type: string + Link: + description: | + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + 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/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicator + + VnfIndicators.Get: + description: | + 200 OK + Shall be returned when information about zero or more VNF indicators was queried successfully. + The response body shall contain in an array the representations of all VNF indicators that are related + to the particular VNF instance and that match the attribute filter., i.e. zero or more representations + of VNF indicators as defined in clause 8.5.2.2. 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 EM/VMF 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: The used API version. + style: simple + explode: false + schema: + type: string + Link: + description: | + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + 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/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicator + + VnfIndividualIndicator.Get: + description: | + 200 OK + Shall be returned when the VNF indicator has been read successfully. The response body shall contain the + representation of the VNF indicator. + headers: + Version: + description: The used API version. + 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/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicator + + VnfIndicatorSubscriptions.Get: + description: | + 200 OK + Shall be returned when the list of subscriptions was queried successfully. + The response body shall contain in an array the representations of all active subscriptions of the functional + block that invokes the method which match the attribute filter, i.e. zero or more representations of VNF + indicators subscriptions as defined in clause 8.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 clause 5.2.2 of + ETSI GS NFV SOL 013. If the EM 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: The used API version. + style: simple + explode: false + schema: + type: string + Link: + description: | + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + 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/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorSubscription + + VnfIndicatorSubscription.Post: + 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. + 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: | + Pointer to the created subscription resource. + style: simple + explode: false + schema: + type: string + format: URI + 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/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorSubscription + + VnfIndicatorSubscription.Get: + description: | + 200 OK + Shall be returned when information about an individual subscription has been read successfully. The response body shall contain the representation of the "Individual subscription" resource. + headers: + Version: + description: The used API version. + 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/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorSubscription + + VnfIndicatorSubscription.Delete: + description: | + 204 NO CONTENT + Shall be returned when the subscription has been deleted successfully. The response body shall be empty. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + content: {} \ No newline at end of file diff --git a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml index 143e76e2bb13c5d182d996533273486788b9f1c2..962d2c1bdee1dec8dfb45521d34fccb9c830fe14 100644 --- a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -1,1102 +1,877 @@ -swagger: "2.0" +openapi: 3.0.2 info: - version: "2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" title: SOL002 - VNF Perfomance Management interface - description: > - SOL002 - VNF Performance Management interface - IMPORTANT: Please note that this file might be not aligned to the current - version of the ETSI Group Specification it refers to and has not been - approved by the ETSI NFV ISG. In case of discrepancies the published ETSI - Group Specification takes precedence. - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + description: | + SOL002 - VNF Performance Management interface IMPORTANT: Please note that this file might be not aligned to the + current version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. + In case of discrepancies the published ETSI Group Specification takes precedence. Please report bugs to + https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + contact: + name: NFV-SOL WG license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - contact: - name: NFV-SOL WG + version: 2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 002 V2.7.1 + description: ETSI GS NFV-SOL 002 V3.3.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf -basePath: /vnfpm/v2 - -schemes: - - http - - https - -consumes: - - application/json - -produces: - - application/json +servers: + - url: http://127.0.0.1/vnfpm/v2 + - url: https://127.0.0.1/vnfpm/v2 paths: - ############################################################################### - # API Versions # - ############################################################################### - '/api_versions': - $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' + /api_versions: + $ref: ../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions - ############################################################################### - # PM jobs # - ############################################################################### - '/pm_jobs': - #SOL003 location: 6.4.2 + /pm_jobs: parameters: - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + get: + description: | + The client can use this method to retrieve information about PM jobs. + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/all_fields + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/fields + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/exclude_fields + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/exclude_default + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker + responses: + "200": + $ref: '#/components/responses/PmJobs.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + post: - description: > - The POST method creates a PM job. - As the result of successful executing this method, a new - "Individual PM job" resource as defined in clause 6.4.3 shall - have been created. + description: | + The POST method creates a PM job. As the result of successful executing this method, a new "Individual PM job" + resource as defined in clause 6.4.3 shall have been created. parameters: - - name: CreatePmJobRequest - description: The VNF creation parameters - in: body - required: true - schema: - $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/CreatePmJobRequest" - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + requestBody: + $ref: '#/components/requestBodies/PmJobCreationRequest' responses: - 201: - description: > - 201 CREATED + "201": + $ref: '#/components/responses/PmJobs.Post' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 - Shall be returned when the PM job has been created successfully. - The response body shall contain a representation of the created - PM job resource. - The HTTP response shall include a "Location" HTTP header that - points to the created "Individual PM job" resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - Location: - description: The resource URI of the created PM Job - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJob" - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + /pm_jobs/{pmJobId}: + parameters: + - $ref: '#/components/parameters/PmJobId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization get: - description: > - The client can use this method to retrieve information about PM jobs. + description: | + The client can use this method for reading an individual PM job. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013. - The VNFM shall support receiving this parameter as part of the URI query string. - The EM may supply this parameter. All attribute names that appear in the PmJob - and in data types referenced from it shall be supported by the VNFM in attribute-based filtering expression. - - EXAMPLE - objects - obj1: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} - obj2: {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} - - Request 1: - GET …/container + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + responses: + "200": + $ref: '#/components/responses/IndividualPmJob.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 - Response 1: - [ - {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}, - {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} - ] + delete: + description: | + This method terminates an individual PM job. As the result of successfully executing this method, the + "Individual PM job" resource shall not exist any longer. + responses: + "204": + $ref: '#/components/responses/IndividualPmJob.Delete' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 - Request 2: - GET …/container?filter=(eq.weight,100) + patch: + description: | + This method allows to modify an "individual PM job" resource. This method shall follow the provisions specified + in the tables 6.4.3.3.4-1 and 6.4.3.3.4-2 for URI query parameters, request and response data structures, + and response codes. + requestBody: + $ref: '#/components/requestBodies/PmJobModificationRequest' + responses: + "200": + $ref: '#/components/responses/IndividualPmJob.Patch' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "409": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409 + "412": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/412 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 - Response 2: - [ - {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} - ] - #Request 2 in EXAMPLE from clause 4.3.2 probably wrong, since "," should be used after opOne (eq), "." is used - in: query - required: false - type: string - - name: all_fields - description: > - Include all complex attributes in the response. - See clause 5.3 of ETSI GS NFV-SOL 013 for details. - The VNFM shall support this parameter. - in: query - required: false - 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 VNFM should support this parameter. - in: query - required: false - 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 VNFM should support this parameter. - in: query - required: false - 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 VNFM shall support this parameter. - The following attributes shall be excluded from the PmJob structure in - the response body if this parameter is provided, or none of the parameters - "all_fields", "fields", "exclude_fields", "exclude_default" are provided: - - reports - in: query - required: false - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. - Shall be supported by the VNFM if the VNFM supports alternative 2 - (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource. - in: query - required: false - type: string + /pm_jobs/{pmJobId}/reports/{reportId}: + parameters: + - $ref: '#/components/parameters/PmJobId' + - $ref: '#/components/parameters/ReportId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + get: + description: | + The client can use this method for reading an individual performance report. + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept responses: - 200: - description: > - 200 OK + "200": + $ref: '#/components/responses/IndividualPmJobReport.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 - Shall be returned when information about zero or more PM jobs was queried successfully. - The response body shall contain in an array the representations of zero or more PM jobs, - as defined in clause 6.5.2.7. - 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 VNFM supports alternative 2 (paging) according to clause 5.4.2.1 of - ETSI GS NFV-SOL 013for this resource, inclusion of the Link HTTP header in this - response shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - Link: - description: > - Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. - type: string - maximum: 1 - minimum: 0 - schema: - type: array - items: - $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJob" - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - ############################################################################### - # Individual PM job # - ############################################################################### - '/pm_jobs/{pmJobId}': - #SOL002 location: 6.4.3 + /thresholds: parameters: - - name: pmJobId - description: > - Identifier of the PM job. - This identifier can be retrieved from the resource referenced by the - "Location" HTTP header in the response to a POST request creating a - new PM job resource. It can also be retrieved from the "id" - attribute in the payload body of that response. - in: path - type: string - required: true - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization get: - description: > - The client can use this method for reading an individual PM job. + description: | + The client can use this method to query information about thresholds. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker responses: - 200: - description: > - 200 OK + "200": + $ref: '#/components/responses/Thresholds.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 - Shall be returned when information about an individual PM job has been - ueried successfully. - The response body shall contain a representation of the "Individual PM job" - resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJob" - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - patch: - description: > - This method allows to modify an "individual PM job" resource. - This method shall follow the provisions specified in the tables 6.4.3.3.4-1 and 6.4.3.3.4-2 for URI query parameters, - request and response data structures, and response codes. + post: + description: | + The POST method can be used by the client to create a threshold. As the result of successfully executing this method, a new "Individual threshold" resource as defined in clause 6.4.6 shall have been created. parameters: - - name: PmJobModifications - description: Parameters for the PM job modification - required: true - in: body - schema: - $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJobModifications" + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + requestBody: + $ref: '#/components/requestBodies/ThresholdCreationRequest' responses: - 200: - description: > - 200 OK + "201": + $ref: '#/components/responses/Thresholds.Post' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + + /thresholds/{thresholdId}: + parameters: + - $ref: '#/components/parameters/ThresholdId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + get: + description: | + The client can use this method for reading an individual threshold. + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + responses: + "200": + $ref: '#/components/responses/IndividualThreshold.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 - Shall be returned when the request has been - processed successfully. - The response body shall contain a data structure of - type "PmJobModifications". - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJobModifications" - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 409: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" - 412: - # description: > - # 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. - # schema: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/412" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" delete: - description: > - This method terminates an individual PM job. - As the result of successfully executing this method, the "Individual PM job" - resource shall not exist any longer. + description: | + This method allows to delete a threshold. As the result of successfully executing this method, the + "Individual threshold" resource shall not exist any longer. + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept responses: - 204: - description: > - 204 NO CONTENT + "204": + $ref: '#/components/responses/IndividualThreshold.Delete' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 - Shall be returned when the PM job has been deleted successfully. - The response body shall be empty. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + patch: + description: | + This method allows to modify an "Individual threshold" resource. This method shall follow the provisions + specified in the tables 6.4.6.3.4-1 and 6.4.6.3.4-2 for URI query parameters, request and response data + structures, and response codes. + requestBody: + $ref: '#/components/requestBodies/ThresholdModificationRequest' + responses: + "200": + $ref: '#/components/responses/IndividualThreshold.Patch' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "409": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409 + "412": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/412 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 - ############################################################################### - # Individual performance report # - ############################################################################### - '/pm_jobs/{pmJobId}/reports/{reportId}': - #SOL002 location: 6.4.4 - parameters: - - name: pmJobId - description: > - Identifier of the PM job. - in: path - type: string - required: true - - name: reportId - description: > - Identifier of the performance report. - in: path +components: + parameters: + PmJobId: + name: pmJobId + in: path + description: | + Identifier of the PM job. This identifier can be retrieved from the resource referenced by the "Location" HTTP + header in the response to a POST request creating a new PM job resource. It can also be retrieved from the "id" + attribute in the payload body of that response. + required: true + style: simple + explode: false + schema: type: string - required: true - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true + + ReportId: + name: reportId + in: path + description: | + Identifier of the performance report. + required: true + style: simple + explode: false + schema: type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false + + ThresholdId: + name: thresholdId + in: path + description: | + Identifier of the threshold. This identifier can be retrieved from the resource referenced by the "Location" + HTTP header in the response to a POST request creating a new threshold resource. It can also be retrieved from + the "id" attribute in the payload body of that response. + required: true + style: simple + explode: false + schema: type: string - get: - description: > - The client can use this method for reading an individual performance - report. - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - responses: - 200: - description: > - 200 OK - Shall be returned when information of an individual performance report - has been read successfully. - The response body shall contain a representation of the "Individual - performance report" resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 + requestBodies: + PmJobCreationRequest: + description: The VNF creation parameters + content: + application/json: schema: - $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PerformanceReport" - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - ############################################################################### - # Thresholds # - ############################################################################### - '/thresholds': - #SOL003 location: 6.4.5 - parameters: - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - post: - description: > - The POST method can be used by the client to create a threshold. - As the result of successfully executing this method, a new - "Individual threshold" resource as defined in clause 6.4.6 shall - have been created. - parameters: - - name: CreateThresholdRequest - description: > - Request parameters to create a new "Individual threshold" resource. - in: body - required: true + $ref: ../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/CreatePmJobRequest + required: true + + PmJobModificationRequest: + description: Parameters for the PM job modification + content: + application/json: schema: - $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/CreateThresholdRequest" - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - responses: - 201: - description: > - 201 CREATED + $ref: ../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJobModifications + required: true - Shall be returned when a threshold has been created successfully. - The response body shall contain a representation of the created - "Individual threshold" resource. - The HTTP response shall include a "Location" HTTP header that - contains the resource URI of the created resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - Location: - description: The resource URI of the created threshold - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 + ThresholdCreationRequest: + description: | + Request parameters to create a new "Individual threshold" resource. + content: + application/json: schema: - $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/Threshold" - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - get: - description: > - The client can use this method to query information about thresholds. - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013. - The VNFM shall support receiving this parameter as part of the URI query string. - The EM may supply this parameter. All attribute names that appear in the Thresholds - and in data types referenced from it shall be supported by the VNFM in attribute-based filtering expression. + $ref: ../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/CreateThresholdRequest + required: true - EXAMPLE - objects - obj1: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} - obj2: {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} + ThresholdModificationRequest: + description: Parameters for the threshold modification. + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/ThresholdModifications + required: true - Request 1: - GET …/container + responses: + PmJobs.Get: + description: | + 200 OK + Shall be returned when information about zero or more PM jobs was queried successfully. The response body + shall contain in an array the representations of zero or more PM jobs, as defined in clause 6.5.2.7. + 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 VNFM supports alternative 2 (paging) according to clause 5.4.2.1 + of ETSI GS NFV-SOL 013for 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: 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 + Link: + description: | + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + 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/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJob - Response 1: - [ - {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}, - {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} - ] + PmJobs.Post: + description: | + 201 CREATED + Shall be returned when the PM job has been created successfully. The response body shall contain a + representation of the created PM job resource. The HTTP response shall include a "Location" HTTP header that + points to the created "Individual PM job" resource. + 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 + Location: + description: The resource URI of the created PM Job + style: simple + explode: false + schema: + type: string + format: url + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJob - Request 2: - GET …/container?filter=(eq.weight,100) + IndividualPmJob.Get: + description: | + 200 OK + Shall be returned when information about an individual PM job has been ueried successfully. The response + body shall contain a representation of the "Individual PM job" resource. + 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/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJob - Response 2: - [ - {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} - ] - #Request 2 in EXAMPLE from clause 4.3.2 probably wrong, since "," should be used after opOne (eq), "." is used - in: query - required: false - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. - Shall be supported by the VNFM if the VNFM supports alternative 2 - (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for - this resource. - in: query - required: false - type: string - responses: - 200: - description: > - 200 OK + IndividualPmJob.Delete: + description: | + 204 NO CONTENT + Shall be returned when the PM job has been deleted successfully. The response body shall be empty. + 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: {} + + IndividualPmJob.Patch: + description: | + 200 OK + Shall be returned when the request has been processed successfully. The response body shall contain a data + structure of type "PmJobModifications". + 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/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJobModifications + + IndividualPmJobReport.Get: + description: | + 200 OK + Shall be returned when information of an individual performance report has been read successfully. + The response body shall contain a representation of the "Individual performance report" resource. + 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/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PerformanceReport - Information about zero or more thresholds was 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 thresholds, as defined in clause 6.5.2.9. - If the VNFM supports alternative 2 (paging) according to - clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, inclusion - of the Link HTTP header in this response shall follow the provisions - in clause 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - Link: - description: > - Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. - type: string - maximum: 1 - minimum: 0 + Thresholds.Get: + description: | + 200 OK + Information about zero or more thresholds was 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 thresholds, as defined in clause 6.5.2.9. If the VNFM 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: 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 + Link: + description: | + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + 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/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/Threshold" - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - ############################################################################### - # Individual threshold # - ############################################################################### - '/thresholds/{thresholdId}': - #SOL003 location: 6.4.6 - parameters: - - name: thresholdId - description: > - Identifier of the threshold. - This identifier can be retrieved from the resource referenced by the - "Location" HTTP header in the response to a POST request creating a - new threshold resource. It can also be retrieved from the "id" - attribute in the payload body of that response. - in: path - type: string - required: true - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - get: - description: > - The client can use this method for reading an individual threshold. - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - responses: - 200: - description: > - 200 OK + $ref: ../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/Threshold - Shall be returned when information about an individual threshold - has been queried successfully. - The response body shall contain a representation of the threshold. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 + Thresholds.Post: + description: | + 201 CREATED + Shall be returned when a threshold has been created successfully. The response body shall contain a representation of the created "Individual threshold" resource. The HTTP response shall include a "Location" HTTP header that contains the resource URI of the created resource. + headers: + Version: + description: The used API version. + style: simple + explode: false schema: - $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/Threshold" - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - patch: - description: > - This method allows to modify an "Individual threshold" resource. - This method shall follow the provisions specified in the tables 6.4.6.3.4-1 and 6.4.6.3.4-2 for URI query parameters, - request and response data structures, and response codes. - parameters: - - name: ThresholdModifications - description: Parameters for the threshold modification. - required: true - in: body + 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: - $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/ThresholdModifications" - responses: - 200: - description: > - 200 OK + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + Location: + description: The resource URI of the created threshold + style: simple + explode: false + schema: + type: string + format: url + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/Threshold - Shall be returned when the request has been - processed successfully. - The response body shall contain a data structure of - type "ThresholdModifications". - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 + IndividualThreshold.Get: + description: | + 200 OK + Shall be returned when information about an individual threshold has been queried successfully. + The response body shall contain a representation of the threshold. + headers: + Version: + description: The used API version. + style: simple + explode: false schema: - $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/ThresholdModifications" - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 409: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" - 412: - # description: > - # 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. - # schema: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/412" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - delete: - description: > - This method allows to delete a threshold. - As the result of successfully executing this method, the - "Individual threshold" resource shall not exist any longer. - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - responses: - 204: - description: > - 204 NO CONTENT + 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/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/Threshold + + IndividualThreshold.Delete: + description: | + 204 NO CONTENT + Shall be returned when the threshold was deleted successfully. The response body shall be empty. + 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: {} - Shall be returned when the threshold was deleted successfully. - The response body shall be empty. - headers: - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" \ No newline at end of file + IndividualThreshold.Patch: + description: | + 200 OK + Shall be returned when the request has been processed successfully. The response body shall contain a data + structure of type "ThresholdModifications". + 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/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/ThresholdModifications \ No newline at end of file diff --git a/src/components/SOL002SOL003_params.yaml b/src/components/SOL002SOL003_params.yaml new file mode 100644 index 0000000000000000000000000000000000000000..2211c23c42ca3de0eb569b07cd96b89bb17e2313 --- /dev/null +++ b/src/components/SOL002SOL003_params.yaml @@ -0,0 +1,106 @@ +components: + parameters: + Version: + name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + + Accept: + name: Accept + description: > + Content-Types that are acceptable for the response. Reference: IETF RFC 7231. + in: header + required: true + schema: + type: string + + Authorization: + name: Authorization + description: > + The authorization token for the request. Reference: IETF RFC 7235. + in: header + required: false + schema: + type: string + + ContentType: + name: Content-Type + description: | + The MIME type of the body of the request. Reference: IETF RFC 7231 + in: header + required: true + schema: + type: string + + filter: + name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of ETSI + GS NFV-SOL 013. The NFV-MANO functional entity shall support + receiving this parameter as part of the URI query string. The API + consumer may supply this parameter. All attribute names that appear + in the FmSubscription and in data types referenced from it shall be + supported by the NFV-MANO functional entity in the filter + expression. + in: query + required: false + schema: + type: string + + all_fields: + 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 + + fields: + 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 + + exclude_fields: + 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 + + exclude_default: + name: exclude_default + in: query + description: >- + Indicates to exclude the following complex attributes from the response. See clause 5.3 of ETSI GS NFV-SOL 013 + for details. The NFV-MANO functional entity shall support this parameter. + required: false + schema: + type: string + + nextpage_opaque_marker: + 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