Commit 12ba3bef authored by Muhammad Hamza's avatar Muhammad Hamza
Browse files

Add callback notif endpoints for CertificateManagement

parent 4cd87a71
Loading
Loading
Loading
Loading
+147 −0
Original line number Original line Diff line number Diff line
openapi: 3.0.2

info:
  title: SOL023 - Certificate Notification interface
  description: |
    SOL023 - Certificate 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/SOL023/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 023 V5.2.1
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/023/05.02.01_60/gs_nfv-sol023v050201p.pdf

servers:
  - url: http://127.0.0.1/callback/v2
  - url: https://127.0.0.1/callback/v2
paths:
  
  ####################################################################### 
  ## Notification endpoint CertificateLifecycleStateChangeNotification ##
  #######################################################################
  
  /URI_is_provided_by_the_client_when_creating_the_subscription-CertificateLifecycleStateChangeNotification:
    parameters:
      - $ref: ../components/SOL023_params.yaml#/components/parameters/Authorization
      - $ref: ../components/SOL023_params.yaml#/components/parameters/Version
    post:
      description: |
        The POST method delivers a notification from the API producer to an API consumer. The API consumer shall
        have previously created an "Individual subscription" resource with a matching filter. See clause 5.4.20.3.1.
      requestBody:
        $ref: '#/components/requestBodies/CertificateLifecycleStateChangeNotification'
      responses:
        204:
          $ref: '#/components/responses/CertificateLifecycleStateChangeNotification.Post.204'
        400:
          $ref: "../responses/SOL023_resp.yaml#/responses/400"
        401:
          $ref: "../responses/SOL023_resp.yaml#/responses/401"
        403:
          $ref: "../responses/SOL023_resp.yaml#/responses/403"
        405:
          $ref: "../responses/SOL023_resp.yaml#/responses/405"
        406:
          $ref: "../responses/SOL023_resp.yaml#/responses/406"
        500:
          $ref: "../responses/SOL023_resp.yaml#/responses/500"
        503:
          $ref: "../responses/SOL023_resp.yaml#/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 subscription. See clause 5.4.20.3.2.
      responses:
        204:
          $ref: '#/components/responses/CertificateLifecycleStateChangeNotification.Get.204'
        400:
          $ref: "../responses/SOL023_resp.yaml#/responses/400"
        401:
          $ref: "../responses/SOL023_resp.yaml#/responses/401"
        403:
          $ref: "../responses/SOL023_resp.yaml#/responses/403"
        405:
          $ref: "../responses/SOL023_resp.yaml#/responses/405"
        406:
          $ref: "../responses/SOL023_resp.yaml#/responses/406"
        500:
          $ref: "../responses/SOL023_resp.yaml#/responses/500"
        503:
          $ref: "../responses/SOL023_resp.yaml#/responses/503"
        
components:
  requestBodies:
    CertificateLifecycleStateChangeNotification:
      description: |
        A notification about certificate changes triggered by a certificate management operation occurrence.
      content:
        application/json:
          schema:
            $ref: "../CertificateManagement/definitions/SOL023CertificateManagement_def.yaml#/definitions/CertificateLifecycleStateChangeNotification"
      required: true

  responses:
    CertificateLifecycleStateChangeNotification.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: The used API version.
          style: simple
          explode: false
          schema:
            type: string

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

        Shall be returned to indicate that 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: The used API version.
          style: simple
          explode: false
          schema:
            type: string