VNFIndicator.yaml 28 KB
Newer Older
1
openapi: 3.0.2
Gergely Csatari's avatar
Gergely Csatari committed
2
3

info:
4
  title: SOL003 - VNF Indicator interface
5
  description: |
6
    SOL003 - VNF Indicator interface
7

8
    IMPORTANT: Please note that this file might be not aligned to the current
9
10
    version of the ETSI Group Specification it refers to. In case of
    discrepancies the published ETSI Group Specification takes precedence.
11

12
    Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues
13
14
  contact:
    name: NFV-SOL WG
Gergely Csatari's avatar
Gergely Csatari committed
15
  license:
16
    name: ETSI Forge copyright notice
Gergely Csatari's avatar
Gergely Csatari committed
17
    url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
18
  version: "1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1"
Gergely Csatari's avatar
Gergely Csatari committed
19

20
externalDocs:
21
  description: ETSI GS NFV-SOL 003 V3.3.1
22
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.03.01_60/gs_NFV-SOL003v030301p.pdf
23

24
25
26
servers:
  - url: http://127.0.0.1/vnfind/v1
  - url: https://127.0.0.1/vnfind/v1
Gergely Csatari's avatar
Gergely Csatari committed
27
28
29


paths:
30
31
32
  ###############################################################################
  # API Versions                                                                #
  ###############################################################################
33
34
  /api_versions:
    $ref: ../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions
35

36
37
38
  ###############################################################################
  # VNF indicators                                                              #
  ###############################################################################
39
  /indicators:
40
    #SOL003 location: 8.4.2
Gergely Csatari's avatar
Gergely Csatari committed
41
    get:
42
      description: |
43
        Get Indicator Value.
Gergely Csatari's avatar
Gergely Csatari committed
44
        The GET method queries multiple VNF indicators.
45
46
        This method shall follow the provisions specified in the tables 8.4.2.3.2-1 and 8.4.2.3.2-2
        for URI query parameters, request and response data structures, and response codes.
Gergely Csatari's avatar
Gergely Csatari committed
47
      parameters:
48
49
50
51
52
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
Gergely Csatari's avatar
Gergely Csatari committed
53
54
      responses:
        200:
55
          $ref: '#/components/responses/Indicators.Get.200'
Gergely Csatari's avatar
Gergely Csatari committed
56
        400:
57
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
Gergely Csatari's avatar
Gergely Csatari committed
58
        401:
59
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
Gergely Csatari's avatar
Gergely Csatari committed
60
        403:
61
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
62
        404:
63
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
Gergely Csatari's avatar
Gergely Csatari committed
64
        405:
65
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
Gergely Csatari's avatar
Gergely Csatari committed
66
        406:
67
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
68
        422:
69
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
Gergely Csatari's avatar
Gergely Csatari committed
70
        500:
71
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
Gergely Csatari's avatar
Gergely Csatari committed
72
        503:
73
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
74
        504:
75
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
76

77
78
79
  ###############################################################################
  # VNF indicators related to a VNF instance                                    #
  ###############################################################################
80
  /indicators/{vnfInstanceId}:
81
    #SOL003 location: 8.4.3
Gergely Csatari's avatar
Gergely Csatari committed
82
    parameters:
83
      - $ref: '#/components/parameters/VnfInstanceId'
Gergely Csatari's avatar
Gergely Csatari committed
84
    get:
85
      description: |
86
87
88
89
        Get Indicator Value.
        The GET method queries multiple VNF indicators related to a VNF instance.
        This method shall follow the provisions specified in the tables 8.4.3.3.2-1 and 8.4.3.3.2-2
        for URI query parameters, request and response data structures, and response codes.
Gergely Csatari's avatar
Gergely Csatari committed
90
      parameters:
91
92
93
94
95
96
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
Gergely Csatari's avatar
Gergely Csatari committed
97
98
      responses:
        200:
99
          $ref: '#/components/responses/VnfInstanceIndicators.Get.200'
Gergely Csatari's avatar
Gergely Csatari committed
100
        400:
101
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
Gergely Csatari's avatar
Gergely Csatari committed
102
        401:
103
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
Gergely Csatari's avatar
Gergely Csatari committed
104
        403:
105
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
106
        404:
107
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
Gergely Csatari's avatar
Gergely Csatari committed
108
        405:
109
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
Gergely Csatari's avatar
Gergely Csatari committed
110
        406:
111
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
112
        422:
113
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
Gergely Csatari's avatar
Gergely Csatari committed
114
        500:
115
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
Gergely Csatari's avatar
Gergely Csatari committed
116
        503:
117
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
118
        504:
119
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
120

121
122
123
  ###############################################################################
  # Individual VNF indicator                                                    #
  ###############################################################################
124
  /indicators/{vnfInstanceId}/{indicatorId}:
125
    #SOL003 location: 8.4.4
Gergely Csatari's avatar
Gergely Csatari committed
126
    parameters:
127
128
      - $ref: '#/components/parameters/IndicatorId'
      - $ref: '#/components/parameters/VnfInstanceId'
Gergely Csatari's avatar
Gergely Csatari committed
129
    get:
130
      description: |
131
        Get Indicator Value.
Gergely Csatari's avatar
Gergely Csatari committed
132
        The GET method reads a VNF indicator.
133
134
        This method shall follow the provisions specified in the tables 8.4.4.3.2-1 and 8.4.4.3.2-2
        for URI query parameters, request and response data structures, and response codes.
Gergely Csatari's avatar
Gergely Csatari committed
135
      parameters:
136
137
138
139
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
Gergely Csatari's avatar
Gergely Csatari committed
140
141
      responses:
        200:
142
          $ref: '#/components/responses/VnfInstanceIndividualIndicator.Get.200'
Gergely Csatari's avatar
Gergely Csatari committed
143
        400:
144
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
Gergely Csatari's avatar
Gergely Csatari committed
145
        401:
146
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
Gergely Csatari's avatar
Gergely Csatari committed
147
        403:
148
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
149
        404:
150
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
Gergely Csatari's avatar
Gergely Csatari committed
151
        405:
152
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
Gergely Csatari's avatar
Gergely Csatari committed
153
        406:
154
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
155
        422:
156
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
Gergely Csatari's avatar
Gergely Csatari committed
157
        500:
158
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
Gergely Csatari's avatar
Gergely Csatari committed
159
        503:
160
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
161
        504:
162
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
163

164
165
166
  ###############################################################################
  # Subscriptions                                                              #
  ###############################################################################
167
168
169
170
171
172
  /subscriptions:
    parameters:
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
Gergely Csatari's avatar
Gergely Csatari committed
173
    post:
174
      description: |
175
        Subscribe.
Gergely Csatari's avatar
Gergely Csatari committed
176
        The POST method creates a new subscription.
177
178
        As the result of successfully executing this method, a new "Individual subscription" resource
        as defined in clause 8.4.6 shall have been created. This method shall not trigger any notification.
179
        Creation of two "Individual subscription" resources with the same callback URI and the same filter
180
181
182
        can result in performance degradation and will provide duplicates of notifications to the NFVO,
        and might make sense only in very rare use cases. Consequently, the VNFM may either allow creating
        a new "Individual subscription" resource if another "Individual subscription" resource with the
183
        same filter and callback URI already exists (in which case it shall return the "201 Created" response code),
184
185
        or may decide to not create a duplicate "Individual subscription" resource (in which case it shall return
        a "303 See Other" response code referencing the existing "Individual subscription" resource with the same
186
        filter and callback URI).
187
188
        This method shall follow the provisions specified in the tables 8.4.5.3.1-1 and 8.4.5.3.1-2
        for URI query parameters, request and response data structures, and response codes.
189
190
      requestBody:
        $ref: '#/components/requestBodies/VnfIndicatorSubscriptionRequest'
Gergely Csatari's avatar
Gergely Csatari committed
191
192
      responses:
        201:
193
          $ref: '#/components/responses/Subscriptions.Post.201'
194
        303:
195
196
197
198
199
200
201
202
203
204
205
206
          #          description: |
          #            303 SEE OTHER
          #
          #            Shall be returned when a subscription with the
          #            same callback URI 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 "Individual subscription" resource.
          #            The response body shall be empty.
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/303
Gergely Csatari's avatar
Gergely Csatari committed
207
        400:
208
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
Gergely Csatari's avatar
Gergely Csatari committed
209
        401:
210
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
Gergely Csatari's avatar
Gergely Csatari committed
211
        403:
212
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
213
        404:
214
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
Gergely Csatari's avatar
Gergely Csatari committed
215
        405:
216
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
Gergely Csatari's avatar
Gergely Csatari committed
217
        406:
218
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
219
        422:
220
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
Gergely Csatari's avatar
Gergely Csatari committed
221
        500:
222
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
Gergely Csatari's avatar
Gergely Csatari committed
223
        503:
224
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
225
        504:
226
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
227

Gergely Csatari's avatar
Gergely Csatari committed
228
    get:
229
      description: |
230
231
232
233
234
        Query Subscription Information.
        The GET method queries the list of active subscriptions of the functional block that
        invokes the method. It can be used e.g. for resynchronization after error situations.
        This method shall follow the provisions specified in the tables 8.4.5.3.2-1 and 8.4.5.3.2-2
        for URI query parameters, request and response data structures, and response codes.
Gergely Csatari's avatar
Gergely Csatari committed
235
      parameters:
236
237
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker
Gergely Csatari's avatar
Gergely Csatari committed
238
239
      responses:
        200:
240
          $ref: '#/components/responses/Subscriptions.Get.200'
Gergely Csatari's avatar
Gergely Csatari committed
241
        400:
242
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
Gergely Csatari's avatar
Gergely Csatari committed
243
        401:
244
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
Gergely Csatari's avatar
Gergely Csatari committed
245
        403:
246
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
247
        404:
248
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
Gergely Csatari's avatar
Gergely Csatari committed
249
        405:
250
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
Gergely Csatari's avatar
Gergely Csatari committed
251
        406:
252
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
253
        422:
254
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
Gergely Csatari's avatar
Gergely Csatari committed
255
        500:
256
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
Gergely Csatari's avatar
Gergely Csatari committed
257
        503:
258
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
259
        504:
260
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
261

262
263
264
  ###############################################################################
  # Individual subscription                                                     #
  ###############################################################################
265
  /indicators/subscriptions/{subscriptionId}:
266
    #SOL003 location: 8.4.6
Gergely Csatari's avatar
Gergely Csatari committed
267
    parameters:
268
269
270
271
      - $ref: '#/components/parameters/SubscriptionId'
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
Gergely Csatari's avatar
Gergely Csatari committed
272
    get:
273
      description: |
274
        Query Subscription Information.
Gergely Csatari's avatar
Gergely Csatari committed
275
        The GET method reads an individual subscription.
276
277
        This method shall follow the provisions specified in the tables 8.4.6.3.2-1 and 8.4.6.3.2-2
        for URI query parameters, request and response data structures, and response codes.
Gergely Csatari's avatar
Gergely Csatari committed
278
      parameters:
279
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
Gergely Csatari's avatar
Gergely Csatari committed
280
281
      responses:
        200:
282
          $ref: '#/components/responses/IndividualSubscription.Get.200'
Gergely Csatari's avatar
Gergely Csatari committed
283
        400:
284
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
Gergely Csatari's avatar
Gergely Csatari committed
285
        401:
286
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
Gergely Csatari's avatar
Gergely Csatari committed
287
        403:
288
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
289
        404:
290
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
Gergely Csatari's avatar
Gergely Csatari committed
291
        405:
292
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
Gergely Csatari's avatar
Gergely Csatari committed
293
        406:
294
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
295
        422:
296
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
Gergely Csatari's avatar
Gergely Csatari committed
297
        500:
298
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
Gergely Csatari's avatar
Gergely Csatari committed
299
        503:
300
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
301
        504:
302
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
303

Gergely Csatari's avatar
Gergely Csatari committed
304
    delete:
305
      description: |
306
        Terminate Subscription.
Gergely Csatari's avatar
Gergely Csatari committed
307
        The DELETE method terminates an individual subscription.
308
309
310
311
312
313
314
315
        This method shall follow the provisions specified in the tables 8.4.6.3.5-1 and 8.4.6.3.5-2
        for URI query parameters, request and response data structures, and response codes.
        As the result of successfully executing this method, the "Individual subscription" resource
        shall not exist any longer. This means that no notifications for that subscription shall be
        sent to the formerly-subscribed API consumer.

          NOTE: Due to race conditions, some notifications might still be received by the formerly-subscribed
                API consumer for a certain time period after the deletion.
Gergely Csatari's avatar
Gergely Csatari committed
316
317
      responses:
        204:
318
          $ref: '#/components/responses/IndividualSubscription.Delete.204'
Gergely Csatari's avatar
Gergely Csatari committed
319
        400:
320
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
Gergely Csatari's avatar
Gergely Csatari committed
321
        401:
322
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
Gergely Csatari's avatar
Gergely Csatari committed
323
        403:
324
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
325
        404:
326
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
Gergely Csatari's avatar
Gergely Csatari committed
327
        405:
328
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
Gergely Csatari's avatar
Gergely Csatari committed
329
        406:
330
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
331
        422:
332
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
Gergely Csatari's avatar
Gergely Csatari committed
333
        500:
334
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
Gergely Csatari's avatar
Gergely Csatari committed
335
        503:
336
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
337
        504:
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
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
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504

components:
  parameters:
    VnfInstanceId:
      name: vnfInstanceId
      in: path
      description: |
        Identifier of the VNF instance to which the VNF indicator applies.
        This identifier can be retrieved from the resource referenced by the
        "Location" HTTP header in the response to a POST request creating a
        new "Individual VNF instance" resource. It can also be retrieved from the "id"
        attribute in the payload body of that response.
      required: true
      style: simple
      explode: false
      schema:
        type: string

    IndicatorId:
      name: indicatorId
      in: path
      description: |
        Identifier of the VNF indicator.
        This identifier can be retrieved from the resource referenced by the
        payload body in the response to a POST request creating a new "Individual VNF
        instance" resource.
      required: true
      style: simple
      explode: false
      schema:
        type: string

    SubscriptionId:
      name: subscriptionId
      in: path
      description: |
        Identifier of this subscription.
        This identifier can be retrieved from the resource referenced by the
        "Location" HTTP header in the response to a POST request creating a
        new "Individual subscription" resource. It can also be retrieved from the "id"
        attribute in the payload body of that response.
      required: true
      style: simple
      explode: false
      schema:
        type: string

  requestBodies:
    VnfIndicatorSubscriptionRequest:
      description: Details of the subscription to be created.
      content:
        application/json:
          schema:
            $ref: ../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorSubscriptionRequest
      required: true

  responses:
    Indicators.Get.200:
      description: |
        200 OK

        Shall be returned when information about zero or more VNF indicators has been queried successfully.
        The response body shall contain in an array the representations of all VNF indicators that match
        the attribute filter, i.e. zero or more representations of VNF indicators as defined in clause 8.5.2.2.
        If the "filter" URI parameter was supplied in the request, the data in the response body shall have
        been transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013.
        If the VNFM supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013
        for this resource, inclusion of the Link HTTP header in this response shall follow the provisions
        in clause 5.4.2.3 of ETSI GS NFV-SOL 013.
      headers:
        WWW-Authenticate:
          description: |
            Challenge if the corresponding HTTP request has not provided authorization, or error details if the
            corresponding HTTP request has provided an invalid authorization token.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Link:
          description: |
            Reference to other resources. Used for paging in the present document, see clause 4.7.2.1.
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            type: array
            items:
              $ref: ../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicator
    
    VnfInstanceIndicators.Get.200:
      description: |
        200 OK

        Shall be returned when information about zero or more VNF indicators has been queried successfully.
        The response body shall contain in an array the representations of all VNF indicators that are related
        to the particular VNF instance and that match the attribute filter, i.e. zero or more representations
        of VNF indicators as defined in clause 8.5.2.2.
        If the "filter" URI parameter was supplied in the request, the data in the response body shall have been
        transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013.
        If the VNFM supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013
        for this resource, inclusion of the Link HTTP header in this response shall follow the provisions
        in clause 5.4.2.3 of ETSI GS NFV-SOL 013.
      headers:
        WWW-Authenticate:
          description: |
            Challenge if the corresponding HTTP request has not provided authorization, or error details if the
            corresponding HTTP request has provided an invalid authorization token.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Link:
          description: |
            Reference to other resources. Used for paging in the present document, see clause 4.7.2.1.
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            type: array
            items:
              $ref: ../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicator
    
    VnfInstanceIndividualIndicator.Get.200:
      description: |
        200 OK
        Shall be returned when the VNF indicator has been read successfully.
        The response body shall contain the representation of the VNF indicator.
      headers:
        WWW-Authenticate:
          description: |
            Challenge if the corresponding HTTP request has not provided authorization, or error details if the
            corresponding HTTP request has provided an invalid authorization token.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: ../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicator
    
    Subscriptions.Post.201:
      description: |
        201 CREATED

        Shall be returned when the subscription has been created successfully.
        The response body shall contain a representation of the created "Individual subscription" resource.
        The HTTP response shall include a "Location" HTTP header that points to the created resource.
      headers:
        Location:
          description: |
            The resource URI of the created subscription resource.
          style: simple
          explode: false
          schema:
            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.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            type: array
            items:
              $ref: ../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorSubscription
    
    Subscriptions.Get.200:
      description: |
        200 OK

        Shall be returned when the list of subscriptions has been queried successfully.
        The response body shall contain in an array the representations of all active
        subscriptions of the functional block that invokes the method which match the attribute filter,
        i.e. zero or more representations of VNF indicator subscriptions as defined in clause 8.5.2.4.
        If the "filter" URI parameter was supplied in the request, the data in the response body shall
        have been transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013.
        If the VNFM supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013
        for this resource, inclusion of the Link HTTP header in this response shall follow the provisions
        in clause 5.4.2.3 of ETSI GS NFV-SOL 013.
      headers:
        Location:
          description: |
            The resource URI of the created subscription resource.
          style: simple
          explode: false
          schema:
            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.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Link:
          description: |
            Reference to other resources. Used for paging in the present document, see clause 4.7.2.1.
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            type: array
            items:
              $ref: ../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorSubscription
    
    IndividualSubscription.Get.200:
      description: |
        200 OK

        Shall be returned when information about an individual subscription has been read successfully.
        The response body shall contain a representation of the "Individual subscription" resource.
      headers:
        WWW-Authenticate:
          description: |
            Challenge if the corresponding HTTP request has not provided authorization, or error details if the
            corresponding HTTP request has provided an invalid authorization token.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: ../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorSubscription
    
    IndividualSubscription.Delete.204:
      description: |
        204 NO CONTENT

        Shall be returned when the "Individual subscription" resource has been deleted successfully.
        The response body shall be empty.
      headers:
        WWW-Authenticate:
          description: |
            Challenge if the corresponding HTTP request has not provided authorization, or error details if the
            corresponding HTTP request has provided an invalid authorization token.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string