VNFPerformanceManagement.yaml 43.3 KB
Newer Older
1
openapi: 3.0.2
2
3

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

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

12
    Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues
13

14
15
  contact:
    name: NFV-SOL WG
16
  license:
17
    name: ETSI Forge copyright notice
18
    url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
19
  version: 2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1
20

21
externalDocs:
22
23
  description: ETSI GS NFV-SOL 003 V3.5.1
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.05.01_60/gs_NFV-SOL003v030501p.pdf
24

25
26
27
servers:
  - url: http://127.0.0.1/vnfpm/v2
  - url: https://127.0.0.1/vnfpm/v2
28
29
30


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

37
38
39
  ###############################################################################
  # PM jobs                                                                     #
  ###############################################################################
40
  /pm_jobs:
41
    #SOL003 location: 6.4.2
42
43
44
45
    parameters:
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
46
    post:
47
      description: |
48
        The POST method creates a PM job. See clause 6.4.2.3.1.
49
      parameters:
Samir Medjiah's avatar
Samir Medjiah committed
50
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType
51
52
      requestBody:
        $ref: '#/components/requestBodies/CreatePmJobRequest'
53
54
      responses:
        201:
Giacomo Bernini's avatar
Giacomo Bernini committed
55
          $ref: '#/components/responses/PmJobs.Post.201'
56
        400:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
57
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
58
        401:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
59
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
60
        403:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
61
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
62
        404:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
63
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404"
64
        405:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
65
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
66
        406:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
67
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
68
        422:
69
          $ref: '#/components/responses/PmJobs.Post.422'
70
        500:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
71
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
72
        503:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
73
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
74
        504:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
75
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
76

77
    get:
78
      description: |
79
        The API consumer can use this method to retrieve information about PM jobs. See clause 6.4.2.3.2.
80
      parameters:
81
82
83
84
85
86
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/all_fields
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/fields
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/exclude_fields
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/exclude_default
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker
87
88
      responses:
        200:
Giacomo Bernini's avatar
Giacomo Bernini committed
89
          $ref: '#/components/responses/PmJobs.Get.200'
90
        400:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
91
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
92
        401:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
93
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
94
        403:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
95
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
96
        404:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
97
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404"
98
        405:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
99
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
100
        406:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
101
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
102
        422:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
103
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422"
104
        500:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
105
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
106
        503:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
107
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
108
        504:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
109
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
110

111
112
113
  ###############################################################################
  # Individual PM job                                                           #
  ###############################################################################
114
  /pm_jobs/{pmJobId}:
115
116
    #SOL003 location: 6.4.3
    parameters:
117
118
119
      - $ref: '#/components/parameters/PmJobId'
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
120
    get:
121
      description: |
122
        The API consumer can use this method for reading an individual PM job. See clause 6.4.3.3.2.
123
      parameters:
124
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
125
126
      responses:
        200:
Giacomo Bernini's avatar
Giacomo Bernini committed
127
          $ref: '#/components/responses/IndividualPmJob.Get.200'
128
        400:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
129
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
130
        401:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
131
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
132
        403:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
133
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
134
        404:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
135
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404"
136
        405:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
137
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
138
        406:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
139
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
140
        422:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
141
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422"
142
        500:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
143
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
144
        503:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
145
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
146
        504:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
147
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
148

149
    patch:
150
      description: |
151
        This method allows to modify an "Individual PM job" resource. See clause 6.4.3.3.4.
152
153
      responses:
        200:
Giacomo Bernini's avatar
Giacomo Bernini committed
154
          $ref: '#/components/responses/IndividualPmJob.Patch.200'
155
        400:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
156
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
157
        401:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
158
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
159
        403:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
160
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
161
        404:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
162
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404"
163
        405:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
164
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
165
        406:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
166
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
167
        412:
168
          $ref: '#/components/responses/IndividualPmJob.Patch.412'
169
        422:
170
          $ref: '#/components/responses/IndividualPmJob.Patch.422'
171
        500:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
172
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
173
        503:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
174
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
175
        504:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
176
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
177

178
    delete:
179
      description: |
180
        This method terminates an individual PM job. See clause 6.4.3.3.5.
181
182
      responses:
        204:
Giacomo Bernini's avatar
Giacomo Bernini committed
183
          $ref: '#/components/responses/IndividualPmJob.Delete.200'
184
        400:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
185
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
186
        401:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
187
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
188
        403:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
189
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
190
        404:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
191
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404"
192
        405:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
193
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
194
        406:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
195
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
196
        422:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
197
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422"
198
        500:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
199
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
200
        503:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
201
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
202
        504:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
203
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
204

205
206
207
  ###############################################################################
  # Individual performance report                                               #
  ###############################################################################
208
  /pm_jobs/{pmJobId}/reports/{reportId}:
209
210
    #SOL003 location: 6.4.4
    parameters:
211
212
      - $ref: '#/components/parameters/PmJobId'
      - $ref: '#/components/parameters/ReportId'
213
    get:
214
      description: |
215
        The API consumer can use this method for reading an individual performance report. See clause 6.4.4.3.2.
216
      parameters:
217
218
219
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
220
221
      responses:
        200:
222
          $ref: '#/components/responses/IndividualPerformanceReport.Get.200'
223
        400:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
224
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
225
        401:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
226
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
227
        403:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
228
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
229
        404:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
230
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404"
231
        405:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
232
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
233
        406:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
234
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
235
        422:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
236
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422"
237
        500:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
238
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
239
        503:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
240
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
241
        504:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
242
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
243

244
245
246
  ###############################################################################
  # Thresholds                                                                  #
  ###############################################################################
247
  /thresholds:
248
    #SOL003 location: 6.4.5
249
250
251
252
    parameters:
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
253
    post:
254
      description: |
255
        The POST method can be used by the API consumer to create a threshold. See clause 6.4.5.3.1.
256
      parameters:
Samir Medjiah's avatar
Samir Medjiah committed
257
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType
258
259
      requestBody:
        $ref: '#/components/requestBodies/CreateThresholdRequest'
260
261
      responses:
        201:
262
          $ref: '#/components/responses/Thresholds.Post.201'
263
        400:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
264
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
265
        401:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
266
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
267
        403:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
268
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
269
        404:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
270
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404"
271
        405:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
272
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
273
        406:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
274
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
275
        422:
276
          $ref: '#/components/responses/Thresholds.Post.422'
277
        500:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
278
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
279
        503:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
280
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
281
        504:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
282
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
283

284
    get:
285
      description: |
286
        The API consumer can use this method to query information about thresholds. See clause 6.4.5.3.2.
287
      parameters:
288
289
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker
290
291
      responses:
        200:
292
          $ref: '#/components/responses/Thresholds.Get.200'
293
        400:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
294
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
295
        401:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
296
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
297
        403:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
298
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
299
        404:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
300
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404"
301
        405:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
302
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
303
        406:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
304
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
305
        422:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
306
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422"
307
        500:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
308
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
309
        503:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
310
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
311
        504:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
312
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
313

314
315
316
  ###############################################################################
  # Individual threshold                                                        #
  ###############################################################################
317
  /thresholds/{thresholdId}:
318
    #SOL003 location: 6.4.6
319
    parameters:
320
321
322
      - $ref: '#/components/parameters/ThresholdId'
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
323
    get:
324
      description: |
325
        The API consumer can use this method for reading an individual threshold. See clause 6.4.6.3.2.
326
      parameters:
327
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
328
329
      responses:
        200:
330
          $ref: '#/components/responses/IndividualThreshold.Get.200'
331
        400:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
332
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
333
        401:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
334
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
335
        403:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
336
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
337
        404:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
338
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404"
339
        405:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
340
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
341
        406:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
342
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
343
        422:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
344
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422"
345
        500:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
346
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
347
        503:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
348
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
349
        504:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
350
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
351

352
    patch:
353
      description: |
354
        This method allows to modify an "Individual threshold" resource. See clause 6.4.6.3.4.
355
356
      responses:
        200:
357
          $ref: '#/components/responses/IndividualThreshold.Patch.200'
358
        400:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
359
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
360
        401:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
361
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
362
        403:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
363
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
364
        404:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
365
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404"
366
        405:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
367
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
368
        406:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
369
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
370
        412:
371
          $ref: '#/components/responses/IndividualThreshold.Patch.412'
372
        422:
373
          $ref: '#/components/responses/IndividualThreshold.Patch.422'
374
        500:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
375
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
376
        503:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
377
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
378
        504:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
379
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
380

381
    delete:
382
      description: |
383
        This method allows to delete a threshold. See clause 6.4.6.3.5.
384
385
      responses:
        204:
386
          $ref: '#/components/responses/IndividualThreshold.Delete.200'
387
        400:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
388
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
389
        401:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
390
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
391
        403:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
392
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
393
        404:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
394
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404"
395
        405:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
396
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
397
        406:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
398
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
399
        422:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
400
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422"
401
        500:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
402
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
403
        503:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
404
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
405
        504:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
406
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
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
components:
  parameters:
    PmJobId:
      name: pmJobId
      in: path
      description: |
        Identifier of the PM job.
        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 PM job" 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

    ReportId:
      name: reportId
      in: path
      description: |
        Identifier of the performance report.
      required: true
      style: simple
      explode: false
      schema:
        type: string

    ThresholdId:
      name: thresholdId
      in: path
      description: |
        Identifier of the threshold.
        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 threshold" 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:
    CreatePmJobRequest:
      description: The VNF creation parameters
      content:
        application/json:
          schema:
            $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/CreatePmJobRequest"
      required: true
    
    CreateThresholdRequest:
      description: Request parameters to create a threshold resource.
      content:
        application/json:
          schema:
            $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/CreateThresholdRequest"
      required: true

  responses:
Giacomo Bernini's avatar
Giacomo Bernini committed
469
    PmJobs.Post.201:
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
      description: |
        201 CREATED

        Shall be returned when the PM job has been created successfully.
        The response body shall contain a representation of the created "Individual PM job" resource,
        as defined in clause 6.5.2.7.
        The HTTP response shall include a "Location" HTTP header that points to the created
        "Individual PM job" resource.
      headers:
        Location:
          description: The resource URI of the created PM Job
          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:
            $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJob"

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
    PmJobs.Post.422:
      description: |
        422 Unprocessable Entity

        Shall be returned upon the following error: The
        content type of the payload body is supported and
        the payload body of a request contains syntactically
        correct data but the data cannot be processed.
        The general cause for this error and its handling is
        specified in clause 6.4 of ETSI GS NFV-SOL 013 [8],
        including rules for the presence of the response
        body.
        Specifically in case of this resource, the response
        code 422 shall also be returned if the VNFM has
        tested the Notification endpoint as described in
        clause 6.4.9.3.2 and the test has failed.
        In this case, the "detail" attribute in the
        "ProblemDetails" structure sh
      headers:
        Location:
          description: The resource URI of the created PM Job
          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:
Giacomo Bernini's avatar
fix    
Giacomo Bernini committed
548
            $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
549

Giacomo Bernini's avatar
Giacomo Bernini committed
550
    PmJobs.Get.200:
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
      description: |
        200 OK

        Shall be returned when information about zero or more PM jobs has been queried successfully.
        The response body shall contain in an array the representations of zero or more PM jobs,
        as defined in clause 6.5.2.7.
        If the "filter" URI parameter or one of the "all_fields", "fields" (if supported), "exclude_fields"
        (if supported) or "exclude_default" URI parameters was supplied in the request, the data in the
        response body shall have been transformed according to the rules specified in clauses 5.2.2 and 5.3.2
        of ETSI GS NFV-SOL 013, respectively.
        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:
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
        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/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJob"

Giacomo Bernini's avatar
Giacomo Bernini committed
600
    IndividualPmJob.Get.200:
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
      description: |
        200 OK

        Shall be returned when information about an individual PM job has been read successfully.
        The response body shall contain a representation of the "Individual PM job" resource,
        as defined in clause 6.5.2.7.
      headers:
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
        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/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJob"

Giacomo Bernini's avatar
Giacomo Bernini committed
634
    IndividualPmJob.Patch.200:
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
      description: |
        200 OK

        Shall be returned when the request has been processed successfully.
        The response body shall contain a data structure of type "PmJobModifications".
      headers:
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
        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/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJobModifications"

667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
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
    IndividualPmJob.Patch.412:
      description: |
        412 Precondition Failed

        Shall be returned upon the following error: A
        precondition given in an HTTP request header is not
        fulfilled.
        Typically, this is due to an ETag mismatch, indicating
        that the resource was modified by another entity.
        The response body should contain a ProblemDetails
        structure, in which the "detail" attribute should convey
        more information about the error.
      headers:
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
        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

    IndividualPmJob.Patch.422:
      description: |
        422 Unprocessable Entity

        Shall be returned upon the following error: The
        content type of the payload body is supported and the
        payload body of a request contains syntactically
        correct data but the data cannot be processed.
        The general cause for this error and its handling is
        specified in clause 6.4 of ETSI GS NFV-SOL 013 [8],
        including rules for the presence of the response body.
        Specifically in case of this resource, the response
        code 422 shall also be returned if the VNFM has
        tested the Notification endpoint as described in
        clause 6.4.9.3.2 and the test has failed.
        In this case, the "detail" attribute in the
        "ProblemDetails" structure shall convey more
        information about the error.
      headers:
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
        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:
Giacomo Bernini's avatar
fix    
Giacomo Bernini committed
745
            $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
746

Giacomo Bernini's avatar
Giacomo Bernini committed
747
    IndividualPmJob.Delete.200:
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
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
      description: |
        204 NO CONTENT

        Shall be returned when the PM job 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

    IndividualPerformanceReport.Get.200:
      description: |
        200 OK

        Shall be returned when information of an individual performance report has been read successfully.
        The response body shall contain a representation of the "Individual performance report" resource,
        as defined in clause 6.5.2.10.
      headers:
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
        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/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PerformanceReport"

    Thresholds.Post.201:
      description: |
        201 CREATED

        Shall be returned when a threshold has been created successfully.
        The response body shall contain a representation of the created "Individual threshold" resource,
        as defined in clause 6.5.2.9.
        The HTTP response shall include a "Location" HTTP header that contains the resource URI of the
        created threshold resource.
      headers:
        Location:
          description: TThe resource URI of the created VNF instance
          style: simple
          explode: false
          schema:
            type: string
            format: url
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
        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/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/Threshold"

846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
    Thresholds.Post.422:
      description: |
        422 Unprocessable Entity

        Shall be returned upon the following error: The
        content type of the payload body is supported and
        the payload body of a request contains
        syntactically correct data but the data cannot be
        processed.
        The general cause for this error and its handling is
        specified in clause 6.4 of ETSI
        GS NFV-SOL 013 [8], including rules for the
        presence of the response body.
        Specifically in case of this resource, the response
        code 422 shall also be returned if the VNFM has
        tested the Notification endpoint as described in
        clause 6.4.9.3.2 and the test has failed.
        In this case, the "detail" attribute in the
        "ProblemDetails" structure shall convey more
        information about the error
      headers:
        Location:
          description: TThe resource URI of the created VNF instance
          style: simple
          explode: false
          schema:
            type: string
            format: url
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
        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:
Giacomo Bernini's avatar
fix    
Giacomo Bernini committed
898
            $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
899

900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
    Thresholds.Get.200:
      description: |
        200 OK

        Shall be returned when information about zero or more thresholds has been queried successfully.
        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.
        The response body shall contain in an array the representations of zero or more thresholds,
        as defined in clause 6.5.2.9.
        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 VNF instance
          style: simple
          explode: false
          schema:
            type: string
            format: url
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
        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/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/Threshold"

    IndividualThreshold.Get.200:
      description: |
        200 OK

        Shall be returned when information about an individual threshold has been read successfully.
        The response body shall contain a representation of the threshold, as defined in clause 6.5.2.9.
      headers:
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
        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/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/Threshold"

    IndividualThreshold.Patch.200:
      description: |
        200 OK

        Shall be returned when the request has been processed successfully.
        The response body shall contain a data structure of type "ThresholdModifications".
      headers:
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
For faster browsing, not all history is shown. View entire blame