NFVICapacityInformationNotification.yaml 5.56 KB
Newer Older
openapi: 3.0.2

info:
  title: SOL005 - NFVI Capacity Information Notification Interface
  description: |
    SOL005 - NFVI Capacity Information Notification Interface

    IMPORTANT: Please note that this file might be not aligned to the current
    version of the ETSI Group Specification it refers to. In case of
    discrepancies the published ETSI Group Specification takes precedence.

    Please report bugs to https://forge.etsi.org/rep/nfv/SOL005/issues
  contact:
    name: NFV-SOL WG
  license:
    name: ETSI Forge copyright notice
    url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
  version: 1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1

externalDocs:
  description: ETSI GS NFV-SOL 005 V3.6.1
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.05.01_60/gs_nfv-sol005v030501p.pdf

servers:
Giacomo Bernini's avatar
Giacomo Bernini committed
  - url: http://127.0.0.1/callback/v1
  - url: https://127.0.0.1/callback/v1

paths:
  ###############################################################################
  # Notification endpoint NsdOnBoardingNotification                             #
  ###############################################################################
  /URI_is_provided_by_the_client_when_creating_the_subscription-CapacityShortageNotification:
    parameters:
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept

    post:
      description: |
        The POST method delivers a notification regarding an NFVI capacity information event from the API producer to
        an API consumer. The API consumer shall have previously created an "Individual capacity threshold" resource.
        See clause 10.4.6.3.1.
      parameters:
        - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType
      requestBody:
        $ref: '#/components/requestBodies/CapacityShortageNotification'
      responses:
        204:
          $ref: '#/components/responses/CapacityShortageNotification.Post.204'
        400:
          $ref: "../responses/SOL005_resp.yaml#/components/responses/400"
        401:
          $ref: "../responses/SOL005_resp.yaml#/components/responses/401"
        403:
          $ref: "../responses/SOL005_resp.yaml#/components/responses/403"
        404:
          $ref: "../responses/SOL005_resp.yaml#/components/responses/404"
        405:
          $ref: "../responses/SOL005_resp.yaml#/components/responses/405"
        406:
          $ref: "../responses/SOL005_resp.yaml#/components/responses/406"
        500:
          $ref: "../responses/SOL005_resp.yaml#/components/responses/500"
        503:
          $ref: "../responses/SOL005_resp.yaml#/components/responses/503"

    get:
      description: |
        The GET method allows the API producer to test the notification endpoint that is provided by the API consumer,
        e.g. during creation of the capacity threshold resource. See clause 10.4.6.3.2.
      responses:
        204:
          $ref: '#/components/responses/CapacityShortageNotification.Get.204'
        400:
          $ref: "../responses/SOL005_resp.yaml#/components/responses/400"
        401:
          $ref: "../responses/SOL005_resp.yaml#/components/responses/401"
        403:
          $ref: "../responses/SOL005_resp.yaml#/components/responses/403"
        404:
          $ref: "../responses/SOL005_resp.yaml#/components/responses/404"
        405:
          $ref: "../responses/SOL005_resp.yaml#/components/responses/405"
        406:
          $ref: "../responses/SOL005_resp.yaml#/components/responses/406"
        500:
          $ref: "../responses/SOL005_resp.yaml#/components/responses/500"
        503:
          $ref: "../responses/SOL005_resp.yaml#/components/responses/503"

components:
  requestBodies:
    CapacityShortageNotification:
      description: |
        A notification about the successful on-boarding of an NSD.
      content:
        application/json:
          schema:
            $ref: "definitions/SOL005NFVICapacityInformationNotification_def.yaml#/components/schemas/CapacityShortageNotification"
      required: true

  responses:
    CapacityShortageNotification.Post.204:
      description: |
        204 NO CONTENT

        Shall be returned when the notification has been delivered successfully.
      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

    CapacityShortageNotification.Get.204:
      description: |
        204 NO CONTENT

        Shall be returned when the notification endpoint has been tested successfully.
        The response body shall be empty.
      headers:
        WWW-Authenticate:
          description: |
            Challenge if the corresponding HTTP request has not provided authorization, or error details if the
            corresponding HTTP request has provided an invalid authorization token.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: |
            Version of the API used in the response.
          style: simple
          explode: false
          schema:
            type: string