NSDManagement.yaml 103 KB
Newer Older
1
swagger: "2.0"
2

3
info:
4
5
  version: 1.0.0
  title: SOL005 - NSD Management Interface
6
7
8
9
10
11
12
  description: >
    SOL005 - NSD Management 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
13
  license:
14
    name: ETSI Forge copyright notice
15
    url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
16
  contact:
17
    name: NFV-SOL WG
18
externalDocs:
19
  description: ETSI GS NFV-SOL 005 V2.4.1
20
  url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.04.01_60/gs_NFV-SOL005v020401p.pdf
21
basePath: /nsd/v1
22
schemes:
23
  - https
24
consumes:
25
  - application/json
26
produces:
27
  - application/json
28
paths:
29
30
31
  ###############################################################################
  # NS Descriptors                                                              #
  ###############################################################################
32
  '/ns_descriptors':
33
    #ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.2
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
    parameters:
      - name: Authorization
        description: >
          The authorization token for the request.
          Reference: IETF RFC 7235.
        in: header
        required: false
        type: string
      - name: Version
        description: >
          Version of the API requested to use when responding to this request.
        in: header
        required: true
        type: string

    post:
      summary: Create a new NS descriptor resource.
      description: >
        The POST method is used to create a new NS descriptor resource or a new version of an on-boarded NS descriptor.
      parameters:
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231.
          in: header
          required: true
          type: string
        - name: Content-Type
          description: >
            The MIME type of the body of the request.
            Reference: IETF RFC 7231.
          in: header
          required: true
          type: string
        - name: CreateNsdInfoRequest
          in: body
          required: true
          schema:
            $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/CreateNsdInfoRequest"
            description: >
              Parameters of creating an NS descriptor resource, as defined in clause 5.5.2.3.
      responses:
        201:
          description: >
            201 CREATED

            An NS descriptor resource was created successfully, as a new NS descriptor resource.
            The response body shall contain a representation of the new NS descriptor resource,
            as defined in clause 5.5.2.2.
            The HTTP response shall include a "Location" HTTP header that contains the resource URI
            of the new NS descriptor resource.
          schema:
            $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdInfo"
          headers:
            Content-Type:
              type: string
              description: >
                The MIME type of the body of the response.This header
                field shall be present if the response has a non-empty message
                body.
            WWW-Authenticate:
              type: string
              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.
              maximum: 1
              minimum: 0
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
        400:
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
        401:
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
        404:
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
        405:
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
        406:
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
        500:
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
124

125
    get:
126
      summary: Query information about multiple NS descriptor resources.
127
128
      description: >
        The GET method queries information about multiple NS descriptor resources.
129
        This method shall follow the provisions specified in the
130
        Tables 5.4.2.3.2-1 and 5.4.2.3.2-2 for URI query parameters,
131
        request and response data structures, and response codes.
132
      parameters:
133
134
        - name: filter
          in: query
135
          required: false
136
137
          type: string
          description: >
138
            Attribute-based filtering expression according to clause 4.3.2.
139
140
141
142
            The NFVO shall support receiving this filtering parameter as part of the URI query string.
            The OSS/BSS may supply this parameter.
            All attribute names that appear in the NsdInfo and in data types referenced from it shall
            be supported by the NFVO in the filter expression.
143
144
        - name: all_fields
          in: query
145
          required: false
146
147
148
          type: string
          description: >
            Include all complex attributes in the response. See clause 4.3.3 for details.
149
            The NFVO shall support this parameter.
150
151
        - name: fields
          in: query
152
          required: false
153
154
155
156
157
158
          type: string
          description: >
            Complex attributes to be included into the response. See clause 4.3.3 for
            details. The NFVO should support this parameter.
        - name: exclude_fields
          in: query
159
          required: false
160
161
162
163
164
165
          type: string
          description: >
            Complex attributes to be excluded from the response. See clause 4.3.3 for
            details. The NFVO should support this parameter.
        - name: exclude_default
          in: query
166
          required: false
167
168
          type: string
          description: >
169
170
171
172
173
            Indicates to exclude the following complex attributes from the response. See clause 4.3.3 for details.
            The VNFM shall support this parameter.
            The following attributes shall be excluded from the NsdInfo structure in the response body if this
            parameter is provided, or none of the parameters "all_fields," "fields", "exclude_fields", "exclude_default"
            are provided: userDefinedData.
174
175
176
177
178
179
180
        - name: nextpage_opaque_marker
          in: query
          description: >
            Marker to obtain the next page of a paged response. Shall be supported by the NFVO
            if the NFVO supports alternative 2 (paging) according to clause 4.7.2.1 for this resource.
          required: false
          type: string
181
182
183
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
184
            Reference: IETF RFC 7231.
185
          in: header
186
          required: true
187
          type: string
188
189
      responses:
        200:
190
          description: >
191
            200 OK
192

193
            Information about zero or more NS descriptors.
194
195
196
197
            The response body shall contain in an array the representations of zero or more NS descriptors,
            as defined in clause 5.5.2.2.
            If the NFVO supports alternative 2 (paging) according to clause 4.7.2.1 for this resource,
            inclusion of the Link HTTP header in this response shall follow the provisions in clause 4.7.2.3.
198
199
          headers:
            Content-Type:
200
              description: The MIME type of the body of the response.
201
202
203
              type: string
              maximum: 1
              minimum: 1
204
            WWW-Authenticate:
205
              type: string
206
207
              description: >
                Challenge if the corresponding HTTP request has not provided
208
209
210
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
              maximum: 1
211
212
213
214
215
216
              minimum: 0
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
217
              minimum: 1
218
219
220
221
222
223
            Link:
              description: >
                Reference to other resources. Used for paging in the present document, see clause 4.7.2.1.
              type: string
              maximum: 1
              minimum: 0
224
225
226
          schema:
            type: array
            items:
227
              $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdInfo"
228
        400:
229
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
230
        401:
231
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
232
        403:
233
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
234
        404:
235
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
236
        405:
237
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
238
        406:
239
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
240
        500:
241
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
242
        503:
243
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
244
245
246
247

  ###############################################################################
  # Individual NS Descriptor                                                    #
  ###############################################################################
248
  '/ns_descriptors/{nsdInfoId}':
249
250
    #ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.3
    parameters:
251
      - name: nsdInfoId
252
253
        description: >
          Identifier of the individual NS descriptor resource.
254
        in: path
255
        required: true
256
        type: string
257
258
259
260
261
262
263
264
265
266
267
268
269
      - name: Authorization
        description: >
          The authorization token for the request.
          Reference: IETF RFC 7235.
        in: header
        required: false
        type: string
      - name: Version
        description: >
          Version of the API requested to use when responding to this request.
        in: header
        required: true
        type: string
270

271
    get:
272
      summary: Read information about an individual NS descriptor resource.
273
274
      description: >
        The GET method reads information about an individual NS descriptor.
275
276
        This method shall follow the provisions specified in GS NFV-SOL 005 Tables
        5.4.3.3.2-1 and 5.4.3.3.2-2 of GS NFV-SOL 005 for URI query parameters,
277
        request and response data structures, and response codes.
278
      parameters:
279
280
281
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
282
            Reference: IETF RFC 7231.
283
284
285
          in: header
          required: true
          type: string
286
287
      responses:
        200:
288
289
          description: >
            200 OK
290

291
            Information about the individual NS descriptor.
292
293
            The response body shall contain a representation of the individual NS descriptor,
            as defined in clause 5.5.2.2.
294
          schema:
295
            $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdInfo"
296
          headers:
297
            Content-Type:
298
              type: string
299
300
301
              description: >
                The MIME type of the body of the response.This header
                field shall be present if the response has a non-empty message body.
302
            WWW-Authenticate:
303
              type: string
304
305
              description: >
                Challenge if the corresponding HTTP request has not provided
306
307
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
308
309
              maximum: 1
              minimum: 0
310
311
312
313
314
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
315
              minimum: 1
316
        400:
317
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
318
        401:
319
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
320
        403:
321
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
322
        404:
323
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
324
        405:
325
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
326
        406:
327
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
328
        500:
329
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
330
        503:
331
332
          $ref: "../responses/SOL005_resp.yaml#/responses/503"

333
    patch:
334
      summary: Modify the operational state and/or the user defined data of an individual NS descriptor resource.
335
      description: >
336
        The PATCH method modifies the operational state and/or user defined
337
338
339
340
341
342
343
344
        data of an individual NS descriptor resource.  This method can be used to:
        1) Enable a previously disabled individual NS descriptor resource, allowing
        again its use for instantiation of new network service with this descriptor.
        The usage state (i.e. "IN_USE/NOT_IN_USE") shall not change as result.
        2) Disable a previously enabled individual NS descriptor resource, preventing
        any further use for instantiation of new network service(s) with this descriptor.
        The usage state (i.e. "IN_USE/NOT_IN_USE") shall not changes a result.
        3) Modify the user defined data of an individual NS descriptor resource.
345
      parameters:
346
        - name: NsdInfoModifications
347
348
349
          in: body
          required: true
          schema:
350
            $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdInfoModifications"
351
352
353
354
355
356
357
358
359
360
            description: >
              Parameters for the modification of an individual NS descriptor resource.
        - name: Content-Type
          description: >
            The MIME type of the body of the request.
            Reference: IETF RFC 7231.
          in: header
          required: true
          type: string
      responses:
361
        200:
362
          description: >
363
            200 OK
364

365
            The operation was completed successfully.
366
367
            The response body shall contain attribute modifications for an 'Individual NS Descriptor'
            resource (see clause 5.5.2.6).
368
369
          headers:
            Content-Type:
370
371
372
373
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
374
            WWW-Authenticate:
375
              type: string
376
377
              description: >
                Challenge if the corresponding HTTP request has not provided
378
379
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
380
381
              maximum: 1
              minimum: 0
382
383
384
385
386
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
387
              minimum: 1
388
          schema:
389
            $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdInfoModifications"
390
        400:
391
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
392
        401:
393
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
394
        403:
395
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
396
        404:
397
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
398
        405:
399
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
400
        406:
401
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
402
        409:
403
404
405
406
407
408
          description: >
            Error: The operation cannot be executed currently, due to a conflict with the state of the resource.
            Typically, this is due to an operational state mismatch, i.e. enable an already enabled or disable
            an already disabled individual NS descriptor resource, or the "nsdOnboardingState" is not ONBOARDED.
            The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey
            more information about the error.
409
          $ref: "../responses/SOL005_resp.yaml#/responses/409"
410
        412:
411
          $ref: "../responses/SOL005_resp.yaml#/responses/412"
412
        500:
413
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
414
        503:
415
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
416

417
    delete:
418
      summary: Delete an individual NS descriptor resource.
419
      description: >
420
421
422
423
424
425
426
427
        The DELETE method deletes an individual NS descriptor resource.
        An individual NS descriptor resource can only be deleted when there is no NS instance using it (i.e. usageState =
        NOT_IN_USE) and has been disabled already (i.e. operationalState = DISABLED). Otherwise, the DELETE method
        shall fail.
      parameters:
        - name: Authorization
          description: >
            The authorization token for the request.
428
            Reference: IETF RFC 7235.
429
430
          in: header
          required: false
431
432
433
434
435
          type: string
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
436
          required: true
437
          type: string
438
439
      responses:
        204:
440
          description: >
441
            204 No Content
442

443
444
445
446
            The operation has completed successfully.
            The response body shall be empty.
          headers:
            WWW-Authenticate:
447
              type: string
448
449
              description: >
                Challenge if the corresponding HTTP request has not provided
450
451
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
452
453
              maximum: 1
              minimum: 0
454
455
456
457
458
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
459
              minimum: 1
460
        400:
461
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
462
        401:
463
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
464
        403:
465
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
466
        404:
467
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
468
        405:
469
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
470
        406:
471
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
472
        409:
473
474
475
476
477
478
479
          description: >
            Error: The operation cannot be executed currently, due to a conflict with the state of the resource.
            Typically, this is due to the fact the NS descriptor resource is in the enabled operational state
            (i.e. operationalState = ENABLED) or there are running NS instances using the concerned individual
            NS descriptor resource (i.e. usageState = IN_USE).
            The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall
            convey more information about the error.
480
          $ref: "../responses/SOL005_resp.yaml#/responses/409"
481
        500:
482
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
483
        503:
484
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
485
486
487
488

  ###############################################################################
  # NSD Content                                                                 #
  ###############################################################################
489
  '/ns_descriptors/{nsdInfoId}/nsd_content':
490
491
    #ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.4
    parameters:
492
493
      - name: nsdInfoId
        in: path
494
        required: true
495
        type: string
496
497
498
499
500
501
502
503
504
505
506
507
508
509
      - name: Authorization
        description: >
          The authorization token for the request.
          Reference: IETF RFC 7235.
        in: header
        required: false
        type: string
      - name: Version
        description: >
          Version of the API requested to use when responding to this request.
        in: header
        required: true
        type: string

510
    get:
511
      summary: Fetch the content of a NSD.
512
      description: >
513
514
515
        The GET method fetches the content of the NSD.
        The NSD can be implemented as a single file or as a collection of multiple files. 
        If the NSD is implemented in the form of multiple files, a ZIP file embedding
516
517
518
519
520
521
522
523
524
525
526
        these files shall be returned. If the NSD is implemented as a single file,
        either that file or a ZIP file embedding that file shall be returned.
        The selection of the format is controlled by the "Accept" HTTP header passed
        in the GET request:• If the "Accept" header contains only "text/plain"
        and the NSD is implemented as a single file, the file shall be returned;
        otherwise, an error message shall be returned.• If the "Accept" header
        contains only "application/zip", the single file or the multiple files
        that make up the NSD shall be returned embedded in a ZIP file.• If the
        "Accept" header contains both "text/plain" and "application/zip",
        it is up to the NFVO to choose the format to return for a single-file NSD;
        for a multi-file NSD, a ZIP file shall be returned.NOTE: The structure
527
        of the NSD zip file is outside the scope of the present document.
528
      parameters:
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
          in: header
          required: true
          type: string
          enum:
            - text/plain
            - application/zip
        - name: Range
          in: header
          required: false
          type: string
          description: >
            "The request may contain a "Range" HTTP header to obtain single
            range of bytes from the NSD file. This can be used to continue an aborted
            transmission.If the NFVO does not support range requests, the NFVO
            shall ignore the 'Range" header, process the GET request, and return
            the whole NSD file with a 200 OK response (rather than returning a 4xx
            error status code)."
549
550
      responses:
        200:
551
          description: >
552
            200 OK
553

554
555
556
557
558
559
560
561
562
            On success, the content of the NSD is returned.
            The payload body shall contain a copy of the file
            representing the NSD or a ZIP file that contains the file
            or multiple files representing the NSD, as specified
            above.
            The "Content-Type" HTTP header shall be set
            according to the format of the returned file, i.e. to
            "text/plain" for a YAML file or to "application/zip" for a
            ZIP file.
563
564
          headers:
            Content-Type:
565
566
567
568
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
569
            WWW-Authenticate:
570
              type: string
571
572
              description: >
                Challenge if the corresponding HTTP request has not provided
573
574
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
575
576
              maximum: 1
              minimum: 0
577
578
579
580
581
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
582
              minimum: 1
583
        206:
584
585
586
587
588
589
          description: >
            On success, if the NFVO supports range requests, a single consecutive byte range from the content
            of the NSD file is returned.
            The response body shall contain the requested part of the NSD file.
            The "Content-Range" HTTP header shall be provided according to IETF RFC 7233.
            The "Content-Type" HTTP header shall be set as defined above for the "200 OK" response.
590
          $ref: "../responses/SOL005_resp.yaml#/responses/206"
591
        400:
592
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
593
        401:
594
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
595
        403:
596
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
597
        404:
598
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
599
        405:
600
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
601
        406:
602
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
603
        409:
604
605
606
607
608
          description: >
            Error: The operation cannot be executed currently, due to a conflict with the state of the resource.
            Typically, this is due to the fact "nsdOnboardingState" has a value different from ONBOARDED.
            The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall
            convey more information about the error.
609
          $ref: "../responses/SOL005_resp.yaml#/responses/409"
610
        416:
611
612
613
614
          description: >
            The byte range passed in the "Range" header did not match any available byte range in the NSD file
            (e.g. "access after end of file").
            The response body may contain a ProblemDetails structure.
615
          $ref: "../responses/SOL005_resp.yaml#/responses/416"
616
        500:
617
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
618
        503:
619
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
620

621
    put:
622
      summary: Upload the content of a NSD.
623
      description: >
624
625
        "The PUT method is used to upload the content of a NSD. The NSD
        to be uploaded can be implemented as a single file or as a collection of
626
627
628
629
630
        multiple files, as defined in clause 5.4.4.3.2 of GS NFV-SOL 005. 
        If the NSD is implemented in the form of multiple files, a ZIP file embedding these
        files shall be uploaded. 
        If the NSD is implemented as a single file, either that file or a ZIP file 
        embedding that file shall be uploaded. The "Content-Type"
631
        HTTP header in the PUT request shall be set accordingly based on the format
632
633
634
635
636
637
        selection of the NSD. 
        If the NSD to be uploaded is a text file, the "Content-Type"
        header is set to "text/plain". 
        If the NSD to be uploaded is a zip file,
        the "Content-Type" header is set to "application/zip". 
        This method shall follow the provisions specified in the Tables 5.4.4.3.3-1 and 5.4.4.3.3-2
638
639
        of GS-NFV-SOL 005 for URI query parameters, request and response data structures,
        and response codes."
640
      parameters:
641
642
643
644
645
646
647
648
649
650
651
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            The payload body contains a copy of the file representing the NSD
            or a ZIP file that contains the file or multiple files representing the NSD.
          in: header
          required: true
          type: string
          enum:
            - text/plain
            - application/zip
652
653
      responses:
        202:
654
          description: >
655
            202 ACCEPTED
656

657
658
659
            The NSD content was accepted for uploading, but the processing has not been completed.
            It is expected to take some time for processing (asynchronous mode).
            The response body shall be empty.
660

661
662
663
            The client can track the uploading progress by receiving the "NsdOnBoardingNotification" and
            "NsdOnBoardingFailureNotification" from the NFVO or by reading the status of the individual
            NS descriptor resource using the GET method.
664
665
666
667
668
669
670
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
            WWW-Authenticate:
671
              type: string
672
673
              description: >
                Challenge if the corresponding HTTP request has not provided
674
675
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
676
677
              maximum: 1
              minimum: 0
678
679
680
681
682
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
683
              minimum: 1
684
        204:
685
          description: >
686
            204 NO CONTENT
687

688
689
            The NSD content was successfully uploaded and validated (synchronous mode). 
            The response body shall be empty.
690
        400:
691
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
692
        401:
693
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
694
        403:
695
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
696
        404:
697
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
698
        405:
699
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
700
        406:
701
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
702
        409:
703
704
705
706
707
          description: >
            Error: The operation cannot be executed currently, due to a conflict with the state of the resource.
            Typically, this is due to the fact that the NsdOnboardingState has a value other than CREATED.
            The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall
            convey more information about the error.
708
          $ref: "../responses/SOL005_resp.yaml#/responses/409"
709
        500:
710
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
711
        503:
712
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
713
714
715
716

  ###############################################################################
  # PNF Descriptors                                                             #
  ###############################################################################
717
  '/pnf_descriptors':
718
    #ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.5
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
    parameters:
      - name: Authorization
        description: >
          The authorization token for the request.
          Reference: IETF RFC 7235.
        in: header
        required: false
        type: string
      - name: Version
        description: >
          Version of the API requested to use when responding to this request.
        in: header
        required: true
        type: string

    post:
      summary: Create a new PNF descriptor resource.
      description: >
        The POST method is used to create a new PNF descriptor resource
      parameters:
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231.
          in: header
          required: true
          type: string
        - name: Content-Type
          description: >
            The MIME type of the body of the request.
            Reference: IETF RFC 7231.
          in: header
          required: true
          type: string
        - name: CreatePnfdInfoRequest
          in: body
          required: true
          schema:
            $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/CreatePnfdInfoRequest"
            description: >
              Parameters of creating a PNF descriptor resource.
      responses:
        201:
          description: >
            201 CREATED

            A PNF descriptor resource was created successfully, as a new PNF descriptor resource.
            The response body shall contain a representation of
            the new PNF descriptor resource, as defined in
            clause 5.5.2.5.
            The HTTP response shall include a "Location" HTTP
            header that contains the resource URI of the new
            PNF descriptor resource.            
          schema:
            $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/PnfdInfo"
          headers:
            Content-Type:
              type: string
              description: >
                The MIME type of the body of the response.This header
                field shall be present if the response has a non-empty message
                body.
            WWW-Authenticate:
              type: string
              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.
              maximum: 1
              minimum: 0
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
        400:
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
        401:
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
        404:
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
        405:
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
        406:
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
        500:
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
811

812
    get:
813
      summary: Query information about multiple PNF descriptor resources.
814
      description: >
815
816
        "The GET method queries information about multiple PNF descriptor
        resources."
817
      parameters:
818
819
820
821
822
        - name: filter
          in: query
          required: false
          type: string
          description: >
823
824
825
826
            Attribute-based filtering expression according to clause 4.3.2.
            The NFVO shall support receiving this filtering parameter as part
            of the URI query string. The OSS/BSS may supply this parameter.
            All attribute names that appear in the PnfdInfo and in data types
827
            referenced from it shall be supported by the NFVO in the filter expression.
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
        - name: all_fields
          in: query
          required: false
          type: string
          description: >
            Include all complex attributes in the response. See clause 4.3.3 for details.
            The NFVO shall support this parameter.
        - name: fields
          in: query
          required: false
          type: string
          description: >
            Complex attributes to be included into the response. See clause 4.3.3 for
            details. The NFVO should support this parameter.
        - name: exclude_fields
          in: query
          required: false
          type: string
          description: >
            Complex attributes to be excluded from the response. See clause 4.3.3 for
            details. The NFVO should support this parameter.
        - name: exclude_default
          in: query
          required: false
          type: string
          description: >
            Indicates to exclude the following complex attributes from the response. See
            clause 4.3.3 for details. The NFVO shall support this parameter.
            The following attributes shall be excluded from the PnfdInfo structure in the
            response body if this parameter is provided, or none of the parameters
            "all_fields," "fields", "exclude_fields", "exclude_default" are provided:
            userDefinedData.
        - name: nextpage_opaque_marker
          in: query
          type: string
          required: false
          description: >
            Marker to obtain the next page of a paged response. Shall be supported by the NFVO
            if the NFVO supports alternative 2 (paging) according to clause 4.7.2.1 for this resource.
867
868
      responses:
        200:
869
          description: >
870
            200 OK
871

872
873
874
875
            Information about zero or more PNF descriptors.
            The response body shall contain a representation of
            zero or more PNF descriptors, as defined in
            clause 5.5.2.2
876
877
          headers:
            Content-Type:
878
879
880
881
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
882
            WWW-Authenticate:
883
              type: string
884
885
              description: >
                Challenge if the corresponding HTTP request has not provided
886
887
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
888
889
              maximum: 1
              minimum: 0
890
891
892
893
894
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
895
              minimum: 1
896
897
898
899
900
901
            Link:
              description: >
                Reference to other resources. Used for paging in the present document, see clause 4.7.2.1.
              type: string
              maximum: 1
              minimum: 0
902
          schema:
903
904
            description: >
              Information about zero or more PNF descriptors.
905
              The response body shall contain a representation in an array the representations
906
907
908
              of zero or more PNF descriptors, as defined in clause  5.5.2.2.
              If the NFVO supports alternative 2 (paging) according to clause 4.7.2.1 for this resource,
              inclusion of the Link HTTP header in this response shall follow the provisions in clause 4.7.2.3.
909
            type: array
910
            items:
911
              $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/PnfdInfo"
912
        400:
913
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
914
        401:
915
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
916
        403:
917
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
918
        404:
919
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
920
        405:
921
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
922
        406:
923
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
924
        500:
925
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
926
        503:
927
928
          $ref: "../responses/SOL005_resp.yaml#/responses/503"

929
930
931
  ###############################################################################
  # Individual PNF Descriptor                                                   #
  ###############################################################################
932
  '/pnf_descriptors/{pnfdInfoId}':
933
934
    #ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.6
    parameters:
935
      - name: pnfdInfoId
936
937
        description: >
          Identifier of the individual PNF descriptor resource.
938
        in: path
939
        required: true
940
        type: string
941

942
    get:
943
      summary: Read an individual PNFD resource.
944
      description: >
945
        The GET method reads information about an individual PNF descriptor.
946
947
        This method shall follow the provisions specified in the Tables 5.4.6.3.2-1
        and 5.4.6.3.2-2 of GS NFV-SOL 005 for URI query parameters, request and
948
949
        response data structures, and response codes.
      parameters:
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
        - name: Accept
          in: header
          required: true
          type: string
          description: >
            Content-Types that are acceptable for the response. This header
            field shall be present if the response is expected to have a non-empty
            message body.
        - name: Authorization
          in: header
          required: false
          type: string
          description: >
            The authorization token for the request. Details are specified
            in clause 4.5.3 of GS NFV-SOL 005.
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
971
972
      responses:
        200:
973
          description: >
974
            200 OK
975

976
            Information about the individual PNFD descriptor.
977
            The response body shall contain a representation of
978
            the individual PNF descriptor.
979
980
          headers:
            Content-Type:
981
982
983
984
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
985
            WWW-Authenticate:
986
              type: string
987
988
              description: >
                Challenge if the corresponding HTTP request has not provided
989
990
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
991
992
              maximum: 1
              minimum: 0
993
994
995
996
997
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
998
              minimum: 1
999
          schema:
1000
            $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/PnfdInfo"
For faster browsing, not all history is shown. View entire blame