Commit 4cb43914 authored by Francesca Moscatelli's avatar Francesca Moscatelli
Browse files

SOL002 initial migration to OpenAPI v3.0.2

parent cd75e32f
Loading
Loading
Loading
Loading
+14 −33
Original line number Diff line number Diff line
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
+133 −156
Original line number Diff line number Diff line
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
        "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

            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"
    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'
            $ref: ./definitions/SOL002VNFConfiguration_def.yaml#/definitions/VnfConfigModifications
      required: true

  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
              maximum: 1
              minimum: 1
      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
              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

          #   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
        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
+595 −837

File changed.

Preview size limit exceeded, changes collapsed.

+521 −722

File changed.

Preview size limit exceeded, changes collapsed.

+817 −1042

File changed.

Preview size limit exceeded, changes collapsed.

Loading