SOL002SOL003_resp.yaml 20.8 KB
Newer Older
1
2
3
responses:
  202:
    description: >
Gergely Csatari's avatar
Gergely Csatari committed
4
5
      Accepted

6
7
8
      The request was accepted for processing, but processing has not
      been completed. The response shall have an empty payload body.
    headers:
9
10
11
12
13
14
15
16
17
18
19
20
21
22
      Location:
        description: The resource URI of the created VNF instance
        type: string
        format: url
      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
  202-with-Location:
    description: > 
Gergely Csatari's avatar
Gergely Csatari committed
23
24
      Accepted

25
26
27
28
29
30
31
32
33
34
      The request was accepted for processing, but the processing has not
      been completed. On success, the HTTP response shall include a
      "Location" HTTP header that contains the URI of the newly-created
      "VNF LCM operation occurrence" resource corresponding to the
      operation.
    headers:
      #TODO: Add headers defined in 4.3.4.3
      Content-Type:
        description: The MIME type of the body of the response.
        type: string
35
36
37
38
39
40
41
42
43
44
45
46
47
48
        maximum: 1
        minimum: 1
      Location:
        description: The resource URI of the created VNF instance
        type: string
        format: url
      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
49
50
  303:
    description: >
Gergely Csatari's avatar
Gergely Csatari committed
51
52
      See Other

53
54
55
56
57
58
      A subscription with the same callbackURI and the same filter already
      exists and the policy of the VNFM is to not create redundant
      subscriptions.
      The HTTP response shall include a "Location" HTTP header that contains
      the resource URI of the existing subscription resource.
      The response body shall be empty.
59
60
  400:
    description: >
Gergely Csatari's avatar
Gergely Csatari committed
61
62
      Bad Request

63
      If the request is malformed or syntactically incorrect (e.g. if the
Giacomo Bernini's avatar
Giacomo Bernini committed
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
      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.
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
    headers:
      Content-Type:
        description: The MIME type of the body of the response.
        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
    schema:
      $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
  400-attr-based-filtering-error:
    description: >
Gergely Csatari's avatar
Gergely Csatari committed
104
105
      Bad Request

106
107
108
109
110
111
112
113
114
115
116
      Invalid attribute-based filtering parameters or Invalid attribute
      selector.
      It fhe 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
117
118
      IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be
      provided.
119
      If there is an application error related to the client's input that
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
      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.
    headers:
      Content-Type:
        description: The MIME type of the body of the response.
        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
    schema:
      $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
  400-attr-selector:
    description: >
Gergely Csatari's avatar
Gergely Csatari committed
141
142
      Bad Request

143
144
145
146
147
148
149
150
151
      It fhe 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
152
153
      IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be
      provided.
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
      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.
    headers:
      Content-Type:
        description: The MIME type of the body of the response.
        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
    schema:
      $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
  401:
    description: >
Gergely Csatari's avatar
Gergely Csatari committed
178
179
      Unauthorized

180
181
182
183
184
      If the request contains no access token even though one is
      required, or if the request contains an authorization token that
      is invalid (e.g. expired or revoked), 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
185
      IETF RFC 6750 and IETF RFC 7235. The ProblemDetails
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
      structure may be provided.
    headers:
      Content-Type:
        description: The MIME type of the body of the response.
        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
    schema:
      $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
  403:
    description: >
Gergely Csatari's avatar
Gergely Csatari committed
205
206
      Forbidden

207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
      If the API consumer is not allowed to perform a particular request
      to a particular resource, the API producer shall respond with this
      response code. The "ProblemDetails" structure shall be provided. 
      It should include in the "detail" attribute information about the
      source of the problem, and may indicate how to solve it.
    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"
  404:
    description: >
Gergely Csatari's avatar
Gergely Csatari committed
222
223
      Not Found

224
225
226
227
228
229
230
231
232
233
234
235
236
      If the API producer did not find a current representation for the
      resource addressed by the URI passed in the request, or is not
      willing to disclose that one exists, it shall respond with this
      response code. 
      The "ProblemDetails" structure may be provided,
      including in the "detail" attribute information about the source
      of the problem, e.g. a wrong resource URI variable.
    headers:
      Content-Type:
        description: The MIME type of the body of the response.
        type: string
        maximum: 1
        minimum: 1
237
238
239
240
    schema:
      $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
  404-task-resource-not-exists:
    description: >
Gergely Csatari's avatar
Gergely Csatari committed
241
242
      Not Found

243
244
245
246
247
248
249
250
251
      Error: The API producer did not find a current representation for the
      target resource or is not willing to disclose that one exists.
      Specifically in case of this task resource, the  response code 404 shall
      also returned if the task is not supported for the VNF instance
      represented by the parent resource, which means that the task resource
      consequently does not exist. 
      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.
Giacomo Bernini's avatar
Giacomo Bernini committed
252
253
254
255
256
257
      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
258
259
260
    headers:
      Content-Type:
        description: The MIME type of the body of the response.
261
262
        type: string
        maximum: 1
263
264
265
266
267
        minimum: 1
    schema:
      $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
  404-task-resource-not-exists-VNF-LCM:
    description: >
Gergely Csatari's avatar
Gergely Csatari committed
268
269
      Not Found

270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
      Error: The API producer did not find a current representation for the
      target resource or is not willing to disclose that one exists.
      Specifically in case of this task resource, the  response code 404 shall
      also be returned if the task is not supported for the VNF LCM operation
      occurrence represented by the parent resource, which means that the task
      resource consequently does not exist. 
      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.
    headers:
      Content-Type:
        description: The MIME type of the body of the response.
        type: string
        maximum: 1
        minimum: 1
285
286
287
288
    schema:
      $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
  404-task-not-suported:
    description: >
Gergely Csatari's avatar
Gergely Csatari committed
289
290
      Not Found

291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
      If the API producer did not find a current representation for the
      resource addressed by the URI passed in the request, or is not
      willing to disclose that one exists, it shall respond with this
      response code. 
      Specifically in case of this task resource, the reason can also be that
      the task is not supported for the VNF instance represented by the parent
      resource, and that the task resource consequently does not exist.
      The "ProblemDetails" structure may be provided, including in the
      "detail" attribute information about the sourceof the problem, e.g. a
      wrong resource URI variable.
    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"
309
310
  404-task-not-suported-VNF-LCM:
    description: >
Gergely Csatari's avatar
Gergely Csatari committed
311
312
      Not Found

313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
      If the API producer did not find a current representation for the
      resource addressed by the URI passed in the request, or is not
      willing to disclose that one exists, it shall respond with this
      response code. 
      Specifically in case of this task resource, the reason can also be that
      the task is not supported for the VNF LCM operation occurrence
      represented by the parent resource, and that the task resource
      consequently does not exist.
      The "ProblemDetails" structure may be provided, including in the
      "detail" attribute information about the sourceof the problem, e.g. a
      wrong resource URI variable.
    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"
332
333
  405:
    description: >
Gergely Csatari's avatar
Gergely Csatari committed
334
335
      Method Not Allowed

336
337
338
339
340
341
342
343
344
345
346
347
348
      If a particular HTTP method is not supported for a particular
      resource, the API producer shall respond with this response code.
      The "ProblemDetails" structure may be omitted in that case.
    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"
  406:
    description: >
Gergely Csatari's avatar
Gergely Csatari committed
349
350
      Not Acceptable

351
352
353
354
355
356
357
358
359
360
361
362
363
364
      If the "Accept" HTTP header does not contain at least one name of
      a content type that is acceptable to the API producer, the API
      producer shall respond with this response code. The
      "ProblemDetails" structure may be omitted in that case.        
    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"
  412:
    description: >
Gergely Csatari's avatar
Gergely Csatari committed
365
366
      Precondition Failed

367
368
369
370
371
372
373
374
375
376
377
378
      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.
    headers:
      Content-Type:
        description: The MIME type of the body of the response.
        type: string
        maximum: 1
        minimum: 1
    schema:
Giacomo Bernini's avatar
Giacomo Bernini committed
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
      $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"


415
416
  416:
    description: >
Gergely Csatari's avatar
Gergely Csatari committed
417
418
      Requested Range Not Satisfiable

419
420
421
422
423
424
425
426
427
428
429
430
      This code is returned if the requested byte range in the
      Range HTTP header is not present in the requested resource.
    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"               
  422:
    description: >
Gergely Csatari's avatar
Gergely Csatari committed
431
432
      Unprocessable Entity

433
434
435
436
437
438
439
      If the payload body of a request contains syntactically correct
      data (e.g. well-formed JSON) but the data cannot be processed
      (e.g. because it fails validation against a schema), 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.
Giacomo Bernini's avatar
Giacomo Bernini committed
440
      NOTE: This error response code is only applicable for methods
441
442
443
444
445
446
447
448
449
      that have a request body.
    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"
Giacomo Bernini's avatar
Giacomo Bernini committed
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
  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"


473
474
  500:
    description: >
Gergely Csatari's avatar
Gergely Csatari committed
475
476
      Internal Server Error

477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
      If there is an application error not 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 withthis
      response code. The "ProblemDetails" structure shall be provided,
      and shall include in the "detail" attribute more information about
      the source of the problem.
    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"
  503:
    description: >
Gergely Csatari's avatar
Gergely Csatari committed
493
494
      Service Unavailable

495
496
497
498
499
500
501
502
503
504
505
506
507
      If the API producer encounters an internal overload situation of
      itself or of a system it relies on, it should respond with this
      response code, following the provisions in IETF RFC 7231 [13] for
      the use of the "Retry-After" HTTP header and for the alternative
      to refuse 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"
Giacomo Bernini's avatar
Giacomo Bernini committed
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
  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"