VNFPerformanceManagement.yaml 46.4 KB
Newer Older
moscatelli's avatar
moscatelli committed
  title: SOL002 - VNF Perfomance Management interface
    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. In case of
    discrepancies the published ETSI Group Specification takes precedence.

    Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues
  contact:
    name: NFV-SOL WG
moscatelli's avatar
moscatelli committed
    name: ETSI Forge copyright notice
    url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
  version: 2.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1
  description: ETSI GS NFV-SOL 002 V3.7.1
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.07.01_60/gs_NFV-SOL002v030701p.pdf
servers:
  - url: http://127.0.0.1/vnfpm/v2
  - url: https://127.0.0.1/vnfpm/v2
  /api_versions:
    $ref: ../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions
      - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version
      - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization
        The API consumer can use this method to retrieve information about PM jobs. See clause 6.4.2.3.2.
        - $ref: ../../components/SOL002_params.yaml#/components/parameters/Accept
        - $ref: ../../components/SOL002_params.yaml#/components/parameters/ContentType
        - $ref: '#/components/parameters/filter_pm_jobs'
        - $ref: ../../components/SOL002_params.yaml#/components/parameters/all_fields_vnfm
        - $ref: ../../components/SOL002_params.yaml#/components/parameters/fields_vnfm
        - $ref: ../../components/SOL002_params.yaml#/components/parameters/exclude_fields_vnfm
        - $ref: '#/components/parameters/exclude_default_pm_jobs'
        - $ref: ../../components/SOL002_params.yaml#/components/parameters/nextpage_opaque_marker_vnfm
          $ref: '#/components/responses/PmJobs.Get.200'
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
        The POST method creates a PM job. See clause 6.4.2.3.1.
        - $ref: ../../components/SOL002_params.yaml#/components/parameters/Accept
        - $ref: ../../components/SOL002_params.yaml#/components/parameters/ContentType
      requestBody:
        $ref: '#/components/requestBodies/PmJobCreationRequest'
          $ref: '#/components/responses/PmJobs.Post.201'
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
          $ref: '#/components/responses/PmJobs.Post.422'
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
moscatelli's avatar
moscatelli committed

  /pm_jobs/{pmJobId}:
    parameters:
      - $ref: '#/components/parameters/PmJobId'
      - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version
      - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization
        The API consumer can use this method for reading an individual PM job. See clause 6.4.3.3.2.
        - $ref: ../../components/SOL002_params.yaml#/components/parameters/Accept
          $ref: '#/components/responses/IndividualPmJob.Get.200'
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
        This method terminates an individual PM job. See clause 6.4.3.3.5.
          $ref: '#/components/responses/IndividualPmJob.Delete.204'
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
        This method allows to modify an "individual PM job" resource. See clause 6.4.3.3.4.
      parameters: 
        - $ref: ../../components/SOL002_params.yaml#/components/parameters/If-Unmodified-Since
        - $ref: ../../components/SOL002_params.yaml#/components/parameters/If-Match
      requestBody:
        $ref: '#/components/requestBodies/PmJobModificationRequest'
      responses:
        "200":
          $ref: '#/components/responses/IndividualPmJob.Patch.200'
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/409
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/412
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
          $ref: '#/components/responses/IndividualPmJob.Patch.422'
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
  /pm_jobs/{pmJobId}/reports/{reportId}:
    parameters:
      - $ref: '#/components/parameters/PmJobId'
      - $ref: '#/components/parameters/ReportId'
      - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version
      - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization
        The API consumer can use this method for reading an individual performance report. See clause 6.4.4.3.2.
        - $ref: ../../components/SOL002_params.yaml#/components/parameters/Accept
          $ref: '#/components/responses/IndividualPmJobReport.Get.200'
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
      - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version
      - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization
        The API cosumer can use this method to query information about thresholds. See clause 6.4.5.3.2.
        - $ref: ../../components/SOL002_params.yaml#/components/parameters/Accept
        - $ref: '#/components/parameters/filter_thresholds'
        - $ref: ../../components/SOL002_params.yaml#/components/parameters/nextpage_opaque_marker_vnfm
          $ref: '#/components/responses/Thresholds.Get.200'
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
        The POST method can be used by API consumer to create a threshold. See clause 6.4.5.3.1.
        - $ref: ../../components/SOL002_params.yaml#/components/parameters/Accept
        - $ref: ../../components/SOL002_params.yaml#/components/parameters/ContentType
      requestBody:
        $ref: '#/components/requestBodies/ThresholdCreationRequest'
          $ref: '#/components/responses/Thresholds.Post.201'
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
          $ref: '#/components/responses/Thresholds.Post.422'
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504

  /thresholds/{thresholdId}:
    parameters:
      - $ref: '#/components/parameters/ThresholdId'
      - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version
      - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization
        The client can use this method for reading an individual threshold. See clause 6.4.6.3.2.
        - $ref: ../../components/SOL002_params.yaml#/components/parameters/Accept
          $ref: '#/components/responses/IndividualThreshold.Get.200'
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
        This method allows to delete a threshold. See clause 6.4.6.3.5.
        - $ref: ../../components/SOL002_params.yaml#/components/parameters/Accept
          $ref: '#/components/responses/IndividualThreshold.Delete.204'
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
        This method allows to modify an "Individual threshold" resource. See clause 6.4.6.3.4.
      parameters: 
        - $ref: ../../components/SOL002_params.yaml#/components/parameters/If-Unmodified-Since
        - $ref: ../../components/SOL002_params.yaml#/components/parameters/If-Match
      requestBody:
        $ref: '#/components/requestBodies/ThresholdModificationRequest'
      responses:
        "200":
          $ref: '#/components/responses/IndividualThreshold.Patch.200'
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/409
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/412
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
          $ref: '#/components/responses/IndividualThreshold.Patch.422'
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
    filter_thresholds:
      name: filter
      description: >
        Attribute-based filtering expression according to clause 5.2 of ETSI
        GS NFV-SOL 013 [6].
        The VNFM 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 Thresholds data type and in data types
        referenced from it shall be supported by the VNFM in the filter expression.
      in: query
      required: false
      schema:
        type: string

    exclude_default_pm_jobs:
      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 [6] 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
      required: false
      schema:
        type: string

    filter_pm_jobs:
      name: filter
      description: >
        Attribute-based filtering expression according to clause 5.2 of ETSI
        GS NFV-SOL 013 [6].
        The VNFM 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 PmJob and in data types referenced from it shall
        be supported by the VNFM in the filter expression.
      in: query
      required: false
      schema:
        type: string

    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 message content of that response.
      required: true
      style: simple
      explode: false
      schema:

    ReportId:
      name: reportId
      in: path
      description: |
        Identifier of the performance report.
      required: true
      style: simple
      explode: false
      schema:

    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 message content of that response.
      required: true
      style: simple
      explode: false
      schema:
  requestBodies:
    PmJobCreationRequest:
      description: The VNF creation parameters
      content:
        application/json:
            $ref: definitions/SOL002VNFPerformanceManagement_def.yaml#/definitions/CreatePmJobRequest
      required: true

    PmJobModificationRequest:
      description: Parameters for the PM job modification
      content:
        application/json:
            $ref: definitions/SOL002VNFPerformanceManagement_def.yaml#/definitions/PmJobModifications
    ThresholdCreationRequest:
      description: |
        Request parameters to create a new "Individual threshold" resource.
      content:
        application/json:
            $ref: definitions/SOL002VNFPerformanceManagement_def.yaml#/definitions/CreateThresholdRequest
moscatelli's avatar
moscatelli committed

    ThresholdModificationRequest:
      description: Parameters for the threshold modification.
      content:
        application/json:
          schema:
            $ref: definitions/SOL002VNFPerformanceManagement_def.yaml#/definitions/ThresholdModifications
moscatelli's avatar
moscatelli committed

    PmJobs.Get.200:
      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/SOL002VNFPerformanceManagement_def.yaml#/definitions/PmJob
moscatelli's avatar
moscatelli committed

    PmJobs.Post.201:
      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/SOL002VNFPerformanceManagement_def.yaml#/definitions/PmJob
moscatelli's avatar
moscatelli committed

    PmJobs.Post.422:
      description: |
        422 Unprocessable Content

        Shall be returned upon the following error: The content type of the message content is supported and the 
        message content 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 6.4.9.3.2 and the test has failed.
        In this case, the "detail" attribute in the "ProblemDetails" structure shall convey more information 
        about the error.
      headers:
        WWW-Authenticate:
          description: |
            Challenge if the corresponding HTTP request has not provided authorization, or error details if the
            corresponding HTTP request has provided an invalid authorization token.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: Version of the API used in the response.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "../General_Definitions/SOL002_def.yaml#/definitions/ProblemDetails"
    IndividualPmJob.Get.200:
      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
        ETag:
          description: >
            Used to provide the current entity-tag for the selected resource representation. It can be sent in
            "200 OK", "201 Created" and "204 No Content" responses.
          style: simple
          schema:
            type: string
        Last-Modified:
          description: >
            Used to provide a timestamp indicating the date and time at which the server believes the selected resource
            representation was last modified. It can be sent in "200 OK", "201 Created" and "204 No Content" responses.
          style: simple
          schema:
            type: string
            format: date-time
      content:
        application/json:
          schema:
            $ref: definitions/SOL002VNFPerformanceManagement_def.yaml#/definitions/PmJob
moscatelli's avatar
moscatelli committed

    IndividualPmJob.Delete.204:
      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.200:
      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
        ETag:
          description: >
            Used to provide the current entity-tag for the selected resource representation. It can be sent in
            "200 OK", "201 Created" and "204 No Content" responses.
          style: simple
          schema:
            type: string
        Last-Modified:
          description: >
            Used to provide a timestamp indicating the date and time at which the server believes the selected resource
            representation was last modified. It can be sent in "200 OK", "201 Created" and "204 No Content" responses.
          style: simple
          schema:
            type: string
            format: date-time
      content:
        application/json:
          schema:
            $ref: definitions/SOL002VNFPerformanceManagement_def.yaml#/definitions/PmJobModifications
    IndividualPmJob.Patch.422:
      description: |
        422 Unprocessable Content

        Shall be returned upon the following error: The content type of the message content is supported and 
        the message content 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 6.4.9.3.2 and the test has failed.
        In this case, the "detail" attribute in the "ProblemDetails" structure shall convey more information 
        about the error.
      headers:
        WWW-Authenticate:
          description: |
            Challenge if the corresponding HTTP request has not provided authorization, or error details if the
            corresponding HTTP request has provided an invalid authorization token.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: Version of the API used in the response.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "../General_Definitions/SOL002_def.yaml#/definitions/ProblemDetails"
    IndividualPmJobReport.Get.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:
        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/SOL002VNFPerformanceManagement_def.yaml#/definitions/PerformanceReport
    Thresholds.Get.200:
      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:
              $ref: definitions/SOL002VNFPerformanceManagement_def.yaml#/definitions/Threshold
    Thresholds.Post.201:
      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
            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
            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/SOL002VNFPerformanceManagement_def.yaml#/definitions/Threshold
    Thresholds.Post.422:
      description: |
        422 Unprocessable Content

        Shall be returned upon the following error: The content type of the message content is supported and the 
        message content 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 6.4.9.3.2 and the test has failed.
        In this case, the "detail" attribute in the "ProblemDetails" structure shall convey more information about 
        the error.
      headers:
        WWW-Authenticate:
          description: |
            Challenge if the corresponding HTTP request has not provided authorization, or error details if the
            corresponding HTTP request has provided an invalid authorization token.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: Version of the API used in the response.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "../General_Definitions/SOL002_def.yaml#/definitions/ProblemDetails"