VNFConfiguration.yaml 6.99 KB
Newer Older
1
swagger: "2.0"
2

bernini's avatar
bernini committed
3
info:
4
  version: "1.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1"
5
  title: SOL002 - VNF Configuration interface
6
  description: >
bernini's avatar
bernini committed
7
    SOL002 - VNF Configuration Interface
8
    IMPORTANT: Please note that this file might be not aligned to the current
bernini's avatar
bernini committed
9 10 11 12
    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
13
  license:
14
    name: ETSI Forge copyright notice
15
    url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
bernini's avatar
bernini committed
16
  contact:
17
    name: NFV-SOL WG
18

19
externalDocs:
20 21
  description: ETSI GS NFV-SOL 002 V2.6.1
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.06.01_60/gs_nfv-sol002v020601p.pdf
22

23
basePath: /vnfconfig/v1
24

bernini's avatar
bernini committed
25
schemes:
26 27
  - http
  - https
28

bernini's avatar
bernini committed
29
consumes:
30
  - application/json
31

bernini's avatar
bernini committed
32
produces:
33
  - application/json
34

35
paths:
bernini's avatar
bernini committed
36 37 38 39
  ###############################################################################
  # API Versions                                                                #
  ###############################################################################
  '/api-versions':
40
    $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions'
bernini's avatar
bernini committed
41 42 43 44 45

  ###############################################################################
  # VNF Configuration                                                           #
  ###############################################################################
  '/configuration':
46 47 48 49 50 51 52
    parameters:
      - name: Version
        description: >
          Version of the API requested to use when responding to this request.
        in: header
        required: true
        type: string
53 54 55 56 57 58 59
      - name: Authorization
        description: >
          The authorization token for the request.
          Reference: IETF RFC 7235
        in: header
        required: false
        type: string
bernini's avatar
bernini committed
60 61 62 63 64 65 66
    get:
      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: >
67
            200 OK
68 69 70
            
            Shall be returned when configuration information about a VNF instance 
            has been read successfully.
bernini's avatar
bernini committed
71 72
            The response body shall contain a representation of the configuration resource.
          schema:
73
            $ref: 'definitions/SOL002VNFConfiguration_def.yaml#/definitions/VnfConfiguration'
bernini's avatar
bernini committed
74 75 76 77 78 79
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
80 81 82 83 84
            Version:
              description: The used API version.
              type: string
              maximum: 1
              minimum: 1
85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
            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:
102
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
103 104 105 106 107 108 109 110 111 112 113 114 115 116
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
        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"
bernini's avatar
bernini committed
117 118 119 120 121 122 123 124 125 126 127
    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:
128
            $ref: 'definitions/SOL002VnfConfiguration_def.yaml#/definitions/VnfConfigModifications'
bernini's avatar
bernini committed
129 130 131
      responses:
        200:
          description: >
132
            200 OK
bernini's avatar
bernini committed
133

134 135 136
            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.
bernini's avatar
bernini committed
137
          schema:
138
            $ref: 'definitions/SOL002VnfConfiguration_def.yaml#/definitions/VnfConfigModifications'
bernini's avatar
bernini committed
139 140 141 142 143 144
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
145 146 147 148 149
            Version:
              description: The used API version.
              type: string
              maximum: 1
              minimum: 1
150 151 152 153 154 155 156 157 158
        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:
159
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
160 161 162
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
        412:
163 164 165 166 167 168 169 170 171 172
          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.

173 174 175 176 177 178 179 180 181 182 183 184 185
          $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"