Commit a7ab4caf authored by Francesca Moscatelli's avatar Francesca Moscatelli
Browse files

Merge branch '2.5.1-dev' of https://forge.etsi.org/gitlab/nfv/SOL002-SOL003 into 2.5.1-dev

parents 7b6378f4 2a197e19
Loading
Loading
Loading
Loading
+132 −79
Original line number Diff line number Diff line
swagger: "2.0"

info:
  version: "1.1.1"
  title: SOL002 - VNF Configuration interface
  version: "1.1.0"
  title: "SOL002 - VNF Configuration interface"
  description: >
    VNF Configuration interface of ETSI NFV SOL002


    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. 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&list_id=61&product=NFV&resolution=---
    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
  license:
    name: "ETSI Forge copyright notice"
    url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
  contact:
    name: "NFV-SOL WG"
externalDocs:
  description: ETSI GS NFV-SOL 002 V2.4.1
  url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.04.01_60/gs_NFV-SOL002v020401p.pdf

  description: ETSI GS NFV-SOL 002 V2.5.1
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.05.01_60/gs_nfv-sol002v020501p.pdf
basePath: /vnfconfig/v1

schemes:
  - http
  - https

consumes:
  - application/json

produces:
  - application/json


paths:
  ###############################################################################
  # API Versions                                                                #
  ###############################################################################
  '/api-versions':
    get:
      summary: Retrieve API version information
      description: >
        The GET method reads API version information. This method shall follow the provisions specified in
        table 4.6.3.3.3.2-1 for request and response data structures, and response codes. URI query parameters are not
        supported.
      responses:
        200:
          description: >
            API version information was read successfully.
            The response body shall contain 4.4 API version
            information, as defined in clause 4.4.1.13.
          schema:
            $ref: '../../definitions/SOL002SOL003_def.yaml#/definitions/ApiVersionInformation'
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              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' }
        413: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/413' }
        414: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/414' }
        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' }

    /configuration:
  ###############################################################################
  # VNF Configuration                                                           #
  ###############################################################################
  '/configuration':
    get:
        summary: Read VNF/VNFC configuration from VNF.
      summary: Read VNF/VNFC configuration from VNF
      description: >
        The client can use this method to read configuration information about a VNF instance and/or its VNFC instances.
      responses:
        200:
          description: >
            OK

            Configuration information about a VNF instance was read successfully.
            The response body shall contain a representation of the configuration resource.
          schema:
            $ref: 'definitions/VnfConfiguration_def.yaml#/definitions/VnfConfiguration'
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              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' }
@@ -56,16 +94,22 @@ paths:
        405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' }
        406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' }
        409: { $ref: 'responses/VNFConfiguration_resp.yaml#/responses/409' }
        413: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/413' }
        414: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/414' }
        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:
      summary: Modify VNF/VNFC configuration.
      description: This method sets or modifies a configuration resource.
      parameters:
        - name: configModifications
           description: The parameter for the configuration modification.
          description: >
            The parameter for the configuration modification, as defined in
            clause 9.5.2.2.
          required: true
          in: body
          schema:
@@ -79,17 +123,26 @@ paths:
            of the configuration modification that was applied to the configuration resource.
          schema:
            $ref: 'definitions/VnfConfiguration_def.yaml#/definitions/VnfConfigModifications'
          412: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/412' }
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              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' }
          409: { $ref: 'responses/VNFConfiguration_resp.yaml#/responses/409' }
        413: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/413' }
        414: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/414' }
        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' }


+108 −33
Original line number Diff line number Diff line
@@ -83,16 +83,35 @@ definitions:

  Link:
    description: >
      This type represents a link to a resource.
      This type represents a link to a resource. using an absolute URI.
      It shall comply with the provisions defined in table  4.4.1.3-1.
    type: object
    required:
      - href
    properties:
      href:
        description: >
          URI of the referenced resource.
        type: string
        format: url
          URI of  another resource referenced from a resource.
          Shall be an absolute URI (i.e. a UTI that contains {apiRoot}.
        $ref: "#/definitions/Uri"

  NotificationLink:
    description: >
      This type represents a link to a resource in a notification,
      using an absolute or relative URI. It shall comply with the
      provisions defined in table 4.4.1.3a-1.
    type: object
    required:
      - href
    properties:
      href:
        description: >
          URI of a resource referenced from a notification.
          Should be an absolute URI (i.e. a URI that contains
          {apiRoot}), however, may be a relative URI (i.e. a URI
          where the {apiRoot} part is omitted) if the {apiRoot}
          information is not available.
        $ref: "#/definitions/Uri"

  Version:
    description: >
@@ -806,3 +825,59 @@ definitions:
        type: array
        items:
          type: string

  ApiVersionInformation:
    description: >
      This type represents API version information. It shall comply with the
      provisions defined in table 4.4.1.6-1.
    type: object
    required:
      - uriPrefix
      - apiVersions
    properties:
      uriPrefix:
        description: >
          Specifies the URI prefix for the API, in the following
          form {apiRoot}/{apiName}/{apiMajorVersion}/
        type: string
      apiVersions:
        description: >
          Version(s) supported for the API signaled by the
          uriPrefix attribute.
        type: array
        items:
          type: object
            required:
              - version
            properties:
              version:
                description: >
                  Identifies a supported version. The value of the
                  version attribute shall be a version identifier as
                  specified in clause 4.6.1.
                type: string
              isDeprecated:
                description: >
                  If such information is available, this attribute
                  indicates whether use of the version signaled by the
                  version attribute is deprecated (true) or not (false).
                  A deprecated version is still supported by the API producer
                  but is recommended not to be used any longer.
                  When a version is no longer supported, it does not appear in
                  the response body.
                type: boolean
              retirementDate:
                description: >
                  The date and time after which the API version will no
                  longer be supported.
                  This attribute may be included if the value of the
                  isDeprecated attribute is set to true and shall be
                  absent otherwise.
                $ref: "#/definitions/DateTime"






+103 −18
Original line number Diff line number Diff line
@@ -61,22 +61,28 @@ responses:
      Bad Request

      If the request is malformed or syntactically incorrect (e.g. if the
      request URI contains incorrect query parameters or a syntactically
      incorrect payload body), the API producer shall respond with this
      response code. The "ProblemDetails" structure shall be provided,
      and should include in the "detail" attribute more information about
      the source of the problem.
      If the request contains a malformed access token, the API producer
      should respond with this response. The details of the error shall
      be returned in the WWW-Authenticate HTTP header, as defined in
      IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be
      provided.
      If there is an application error related to the client's input that
      cannot be easily mapped to any other HTTP response code ("catch all
      error"), the API producer shall respond with this response code.The
      "ProblemDetails" structure shall be provided, and shall include in
      the "detail" attribute more information about the source of the
      problem.
      request URI contains incorrect query parameters or a payload body contains
      a syntactically incorrect payload bodydata structure), the API producer
      shall respond with this response code. The "ProblemDetails" structure
      shall be provided, and should include in the "detail" attribute more
      information about the source of the problem.
      If the response to a GET request which queries a container resource
      would be so big that the performance of the API producer is adversely
      affected, and the API producer does not support paging for the
      affected resource, it shall respond with this response code.
      The "ProblemDetails" structure shall be provided, and should include
      in the "detail" attribute more information about the source of the problem.
      If there is an application error related to the client's input that cannot
      be easily mapped to any other HTTP response code ("catch all error"),
      the API producer shall respond with this response code. The
      "ProblemDetails" structure shall be provided, and shall include
      in the "detail" attribute more information about the source of
      the problem.
      If the request contains a malformed access token, the API Producer
      should respond with this response. The details of the error shall be
      returned in the WWW-Authenticate HTTP header, as defined in IETF
      RFC 6750 and IETF RFC 7235. The ProblemDetails structure
      may be provided.
    headers:
      Content-Type:
        description: The MIME type of the body of the response.
@@ -243,6 +249,12 @@ responses:
      In this case, the response body shall be present, and shall contain a
      ProblemDetails structure, in which the "detail" attribute shall convey
      more information about the error.
      This response code is not appropriate in case the resource addressed by
      the URI is a container resource which is designed to contain child
      resources, but does not contain any child resource at the time the request
      is received. For a GET request to an existing empty container resource,
      a typical response contains a 200 OK response code and a payload body
      with an empty array
    headers:
      Content-Type:
        description: The MIME type of the body of the response.
@@ -365,6 +377,41 @@ responses:
        minimum: 1
    schema:
      $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
  413:
    description: >
      Payload Too Large

      If the payload body of a request is larger than the amount of data
      the API producer is willing or able to process, it shall respond with
      this response code, following the provisions in IETF RFC 7231 for
      the use of the "Retry-After" HTTP header and for closing the connection.
      The "ProblemDetails" structure may be omitted
    headers:
      Content-Type:
        description: The MIME type of the body of the response.
        type: string
        maximum: 1
        minimum: 1
    schema:
      $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
  414:
    description: >
      URI Too Long

      If the request URI of a request is longer than the API producer is
      willing or able to process, it shall respond with this response code.
      This condition can e.g. be caused by passing long queries in the request
      URI of a GET request. The "ProblemDetails" structure may be omitted
    headers:
      Content-Type:
        description: The MIME type of the body of the response.
        type: string
        maximum: 1
        minimum: 1
    schema:
      $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"


  416:
    description: >
      Requested Range Not Satisfiable
@@ -390,7 +437,7 @@ responses:
      "ProblemDetails" structure shall be provided, and should include
      in the "detail" attribute more information about the source of the
      problem.
      NOTE 2: This error response code is only applicable for methods
      NOTE: This error response code is only applicable for methods
      that have a request body.
    headers:
      Content-Type:
@@ -400,6 +447,29 @@ responses:
        minimum: 1
    schema:
      $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
  429:
    description: >
      Too many requests

      If the API consumer has sent too many requests in a defined period of
      time and the API producer is able to detect that condition
      ("rate limiting"), the API producer shall respond with this response
      code, following the provisions in IETF RFC 6585 [8] for the use of
      the "Retry-After" HTTP header. The "ProblemDetails" structure shall be
      provided, and shall include in the "detail" attribute more information
      about the source of the problem.
      The period of time and allowed number of requests are configured
      within the API producer by means outside the scope of SOL002.
    headers:
      Content-Type:
        description: The MIME type of the body of the response.
        type: string
        maximum: 1
        minimum: 1
    schema:
      $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"


  500:
    description: >
      Internal Server Error
@@ -435,3 +505,18 @@ responses:
        minimum: 1
    schema:
      $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
  504:
    description: >
      Gateway Timeout

      If the API producer encounters a timeout while waiting for a response
      from an upstream server (i.e. a server that the API producer communicates
      with when fulfilling a request), it should respond with this response code.
    headers:
      Content-Type:
        description: The MIME type of the body of the response.
        type: string
        maximum: 1
        minimum: 1
    schema:
      $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
 No newline at end of file