NFVManoLogManagement.yaml 70.8 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
openapi: 3.0.2
info:
  version: 1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1
  title: SOL009 - NFV-MANO Log Management interface
  description: >
    SOL009 - NFV-MANO Log Management interface

    IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification
     it refers to. 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&list_id=61&product=NFV&resolution=
  license:
    name: ETSI Forge copyright notice
    url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
externalDocs:
  description: ETSI GS NFV-SOL 009 V0.8.0
  url: https://docbox.etsi.org/ISG/NFV/Open/Drafts/SOL009ed331_MANO_mgmt_stage_3/NFV-SOL009ed331v080.zip

security:
  - OauthSecurity:
      - all
servers:
  - url: http://127.0.0.1/nfvmanologm/v1
  - url: https://127.0.0.1/nfvmanologm/v1

paths:
  "/api_versions":
28
      $ref: '../endpoints/SOL009_endpoints.yaml#/endpoints/api_versions'
29
30
31
32
33
34
35
36
37
38
39
  "/log_jobs":
    description: >-
      This resource represents logging jobs. The API consumer can use this resource to create and query logging jobs.
    post:
      description: >-
        The POST method creates a logging job.
        This method shall follow the provisions specified in the tables 8.5.3.3.1-1 and 8.5.3.3.1-2 for URI query
        parameters, request and response data structures, and response codes.
        As the result of successfully executing this method, a new "Individual logging job" resource as defined in
        clause 9.5.4 shall have been created.
      parameters:
40
41
42
43
        - $ref: "../components/SOL009_params.yaml#/components/parameters/Version"
        - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept"
        - $ref: "../components/SOL009_params.yaml#/components/parameters/ContentType"
        - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization"
44
45
46
47
48
49
      requestBody:
        $ref: "#/components/requestBodies/CreateLoggingJobRequest"
      responses:
        "201":
          $ref: '#/components/responses/LoggingJob.Post'
        "400":
Giacomo Bernini's avatar
Giacomo Bernini committed
50
          $ref: ../components/SOL009_resp.yaml#/components/responses/400
51
        "401":
Giacomo Bernini's avatar
Giacomo Bernini committed
52
          $ref: ../components/SOL009_resp.yaml#/components/responses/401
53
        "403":
Giacomo Bernini's avatar
Giacomo Bernini committed
54
          $ref: ../components/SOL009_resp.yaml#/components/responses/403
55
        "404":
Giacomo Bernini's avatar
Giacomo Bernini committed
56
          $ref: ../components/SOL009_resp.yaml#/components/responses/404
57
        "405":
Giacomo Bernini's avatar
Giacomo Bernini committed
58
          $ref: ../components/SOL009_resp.yaml#/components/responses/405
59
        "406":
Giacomo Bernini's avatar
Giacomo Bernini committed
60
          $ref: ../components/SOL009_resp.yaml#/components/responses/406
61
        "422":
Giacomo Bernini's avatar
Giacomo Bernini committed
62
          $ref: ../components/SOL009_resp.yaml#/components/responses/422
63
        "500":
Giacomo Bernini's avatar
Giacomo Bernini committed
64
          $ref: ../components/SOL009_resp.yaml#/components/responses/500
65
        "503":
Giacomo Bernini's avatar
Giacomo Bernini committed
66
          $ref: ../components/SOL009_resp.yaml#/components/responses/503
67
        "504":
Giacomo Bernini's avatar
Giacomo Bernini committed
68
          $ref: ../components/SOL009_resp.yaml#/components/responses/504
69
70
71
72
73
74
    get:
      description: >-
        The API consumer can use this method to retrieve information about logging jobs.
        This method shall follow the provisions specified in the tables 8.5.3.3.2-1 and 8.5.3.3.2-2 for
        URI query parameters, request and response data structures, and response codes.
      parameters:
75
76
77
78
79
80
81
82
83
        - $ref: "../components/SOL009_params.yaml#/components/parameters/filter"
        - $ref: "../components/SOL009_params.yaml#/components/parameters/all_fields"
        - $ref: "../components/SOL009_params.yaml#/components/parameters/fields"
        - $ref: "../components/SOL009_params.yaml#/components/parameters/exclude_fields"
        - $ref: "../components/SOL009_params.yaml#/components/parameters/exclude_default"
        - $ref: "../components/SOL009_params.yaml#/components/parameters/nextpage_opaque_marker"
        - $ref: "../components/SOL009_params.yaml#/components/parameters/Version"
        - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept"
        - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization"
84
85
86
87
      responses:
        "200":
          $ref: '#/components/responses/LoggingJobs.Get'
        "400":
Giacomo Bernini's avatar
Giacomo Bernini committed
88
          $ref: ../components/SOL009_resp.yaml#/components/responses/400
89
        "401":
Giacomo Bernini's avatar
Giacomo Bernini committed
90
          $ref: ../components/SOL009_resp.yaml#/components/responses/401
91
        "403":
Giacomo Bernini's avatar
Giacomo Bernini committed
92
          $ref: ../components/SOL009_resp.yaml#/components/responses/403
93
        "404":
Giacomo Bernini's avatar
Giacomo Bernini committed
94
          $ref: ../components/SOL009_resp.yaml#/components/responses/404
95
        "405":
Giacomo Bernini's avatar
Giacomo Bernini committed
96
          $ref: ../components/SOL009_resp.yaml#/components/responses/405
97
        "406":
Giacomo Bernini's avatar
Giacomo Bernini committed
98
          $ref: ../components/SOL009_resp.yaml#/components/responses/406
99
        "422":
Giacomo Bernini's avatar
Giacomo Bernini committed
100
          $ref: ../components/SOL009_resp.yaml#/components/responses/422
101
        "500":
Giacomo Bernini's avatar
Giacomo Bernini committed
102
          $ref: ../components/SOL009_resp.yaml#/components/responses/500
103
        "503":
Giacomo Bernini's avatar
Giacomo Bernini committed
104
          $ref: ../components/SOL009_resp.yaml#/components/responses/503
105
        "504":
Giacomo Bernini's avatar
Giacomo Bernini committed
106
          $ref: ../components/SOL009_resp.yaml#/components/responses/504
107
108
109
110
111
112
113
114
115
116
117
118

  "/log_jobs/{logJobId}":
    description: >-
      This resource represents an individual logging job. The API consumer can use this resource to delete
      and read the underlying logging job.
    get:
      description: >-
        The API consumer can use this method for reading an individual logging job.
        This method shall follow the provisions specified in the tables 8.5.4.3.2-1 and 8.5.4.3.2-2 for
        URI query parameters, request and response data structures, and response codes.
      parameters:
        - $ref: "#/components/parameters/logJobId"
119
120
121
        - $ref: "../components/SOL009_params.yaml#/components/parameters/Version"
        - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept"
        - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization"
122
123
124
125
126

      responses:
        "200":
          $ref: '#/components/responses/LoggingJob.Get'
        "400":
Giacomo Bernini's avatar
Giacomo Bernini committed
127
          $ref: ../components/SOL009_resp.yaml#/components/responses/400
128
        "401":
Giacomo Bernini's avatar
Giacomo Bernini committed
129
          $ref: ../components/SOL009_resp.yaml#/components/responses/401
130
        "403":
Giacomo Bernini's avatar
Giacomo Bernini committed
131
          $ref: ../components/SOL009_resp.yaml#/components/responses/403
132
        "404":
Giacomo Bernini's avatar
Giacomo Bernini committed
133
          $ref: ../components/SOL009_resp.yaml#/components/responses/404
134
        "405":
Giacomo Bernini's avatar
Giacomo Bernini committed
135
          $ref: ../components/SOL009_resp.yaml#/components/responses/405
136
        "406":
Giacomo Bernini's avatar
Giacomo Bernini committed
137
          $ref: ../components/SOL009_resp.yaml#/components/responses/406
138
        "422":
Giacomo Bernini's avatar
Giacomo Bernini committed
139
          $ref: ../components/SOL009_resp.yaml#/components/responses/422
140
        "500":
Giacomo Bernini's avatar
Giacomo Bernini committed
141
          $ref: ../components/SOL009_resp.yaml#/components/responses/500
142
        "503":
Giacomo Bernini's avatar
Giacomo Bernini committed
143
          $ref: ../components/SOL009_resp.yaml#/components/responses/503
144
        "504":
Giacomo Bernini's avatar
Giacomo Bernini committed
145
          $ref: ../components/SOL009_resp.yaml#/components/responses/504
146
147
148
149
150
151
152
153
154

    delete:
      description: >-
        This method terminates an individual logging job.
        This method shall follow the provisions specified in the tables 8.5.4.3.5-1 and 8.5.4.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 logging job" resource shall not
        exist any longer
      parameters:
155
156
        - $ref: "../components/SOL009_params.yaml#/components/parameters/Version"
        - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization"
157
158
159
160
      responses:
        "204":
          $ref: '#/components/responses/LoggingJob.Delete'
        "400":
Giacomo Bernini's avatar
Giacomo Bernini committed
161
          $ref: '../components/SOL009_resp.yaml#/components/responses/400'
162
        "401":
Giacomo Bernini's avatar
Giacomo Bernini committed
163
          $ref: '../components/SOL009_resp.yaml#/components/responses/401'
164
        "403":
Giacomo Bernini's avatar
Giacomo Bernini committed
165
          $ref: '../components/SOL009_resp.yaml#/components/responses/403'
166
        "404":
Giacomo Bernini's avatar
Giacomo Bernini committed
167
          $ref: '../components/SOL009_resp.yaml#/components/responses/404'
168
        "405":
Giacomo Bernini's avatar
Giacomo Bernini committed
169
          $ref: '../components/SOL009_resp.yaml#/components/responses/405'
170
        "406":
Giacomo Bernini's avatar
Giacomo Bernini committed
171
          $ref: '../components/SOL009_resp.yaml#/components/responses/406'
172
        "422":
Giacomo Bernini's avatar
Giacomo Bernini committed
173
          $ref: '../components/SOL009_resp.yaml#/components/responses/422'
174
        "500":
Giacomo Bernini's avatar
Giacomo Bernini committed
175
          $ref: '../components/SOL009_resp.yaml#/components/responses/500'
176
        "503":
Giacomo Bernini's avatar
Giacomo Bernini committed
177
          $ref: '../components/SOL009_resp.yaml#/components/responses/503'
178
        "504":
Giacomo Bernini's avatar
Giacomo Bernini committed
179
          $ref: '../components/SOL009_resp.yaml#/components/responses/504'
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194

  "/log_jobs/{logJobId}/log_reports/{logReportId}":
    description: >-
      This resource represents an individual log report. The API consumer can use this resource to read
      information about a log report.
      The log report provides metadata information about a log and location information of the log file
      from where it can be obtained.
      NOTE:	The present document does not specify the mechanism how to retrieve the log files.
    get:
      description: >-
        The API consumer can use this method for reading an individual log report.
        This method shall follow the provisions specified in the tables 8.5.5.3.2-1 and
        8.5.5.3.2-2 for URI query parameters, request and response data structures, and response codes.
      parameters:
        - $ref: "#/components/parameters/logJobId"
Giacomo Bernini's avatar
Giacomo Bernini committed
195
        - $ref: "#/components/parameters/logJReportId"
196
197
198
        - $ref: "../components/SOL009_params.yaml#/components/parameters/Version"
        - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept"
        - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization"
199
200
201
202
203
204
      responses:
        "200":
          $ref: '#/components/responses/LogReport.Get'
        "202":
          $ref: '#/components/responses/LogReport.Get.202'
        "400":
Giacomo Bernini's avatar
Giacomo Bernini committed
205
          $ref: '../components/SOL009_resp.yaml#/components/responses/400'
206
        "401":
Giacomo Bernini's avatar
Giacomo Bernini committed
207
          $ref: '../components/SOL009_resp.yaml#/components/responses/401'
208
        "403":
Giacomo Bernini's avatar
Giacomo Bernini committed
209
          $ref: '../components/SOL009_resp.yaml#/components/responses/403'
210
        "404":
Giacomo Bernini's avatar
Giacomo Bernini committed
211
          $ref: '../components/SOL009_resp.yaml#/components/responses/404'
212
        "405":
Giacomo Bernini's avatar
Giacomo Bernini committed
213
          $ref: '../components/SOL009_resp.yaml#/components/responses/405'
214
        "406":
Giacomo Bernini's avatar
Giacomo Bernini committed
215
          $ref: '../components/SOL009_resp.yaml#/components/responses/406'
216
        "422":
Giacomo Bernini's avatar
Giacomo Bernini committed
217
          $ref: '../components/SOL009_resp.yaml#/components/responses/422'
218
        "500":
Giacomo Bernini's avatar
Giacomo Bernini committed
219
          $ref: '../components/SOL009_resp.yaml#/components/responses/500'
220
        "503":
Giacomo Bernini's avatar
Giacomo Bernini committed
221
          $ref: '../components/SOL009_resp.yaml#/components/responses/503'
222
        "504":
Giacomo Bernini's avatar
Giacomo Bernini committed
223
          $ref: '../components/SOL009_resp.yaml#/components/responses/504'
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241

  "/log_jobs/{logJobId}/compile_log":
    description: >-
      This resource represents the "Compile log" operation. The API consumer can use this resource to request
      compiling the logged data, collected via a logging job, into a file and creating the associated log report.
      As the result of successfully processing this request, a new "Individual log report" resource shall be created.
      Two modes of operation, synchronous or asynchronous, can take place depending on whether the NFV-MANO functional
      entity can compile the log data and create the log report immediately. In the synchronous case, which is
      indicated by responding with "201 Created", the resource shall be created before the "201 Created" response
      is returned. In the asynchronous case, which is indicated by responding with "202 Accepted", the resource may
      be created after the response is returned.
    post:
      description: >-
        The POST method requests to compile the logged data into a file and create an associated log report.
        This method shall follow the provisions specified in the tables 8.5.6.3.1-1 and 8.5.6.3.1-2 for URI
        query parameters, request and response data structures, and response codes.
      parameters:
        - $ref: "#/components/parameters/logJobId"
242
243
244
245
        - $ref: "../components/SOL009_params.yaml#/components/parameters/Version"
        - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept"
        - $ref: "../components/SOL009_params.yaml#/components/parameters/ContentType"
        - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization"
246
247
248
249
250
251
252
253
254
255
256
257
      requestBody:
        $ref: "#/components/requestBodies/CompileLogRequest"
      responses:
        "200":
          $ref: '#/components/responses/LogReportCompiled'
        "202":
          $ref: '#/components/responses/LogReportCompiled.202'
        "303":
          $ref: '#/components/responses/LogReportCompiled.303'
        "422":
          $ref: '#/components/responses/LogReportCompiled.422'
        "400":
Giacomo Bernini's avatar
Giacomo Bernini committed
258
          $ref: '../components/SOL009_resp.yaml#/components/responses/400'
259
        "401":
Giacomo Bernini's avatar
Giacomo Bernini committed
260
          $ref: '../components/SOL009_resp.yaml#/components/responses/401'
261
        "403":
Giacomo Bernini's avatar
Giacomo Bernini committed
262
          $ref: '../components/SOL009_resp.yaml#/components/responses/403'
263
        "404":
Giacomo Bernini's avatar
Giacomo Bernini committed
264
          $ref: '../components/SOL009_resp.yaml#/components/responses/404'
265
        "405":
Giacomo Bernini's avatar
Giacomo Bernini committed
266
          $ref: '../components/SOL009_resp.yaml#/components/responses/405'
267
        "406":
Giacomo Bernini's avatar
Giacomo Bernini committed
268
          $ref: '../components/SOL009_resp.yaml#/components/responses/406'
269
        "500":
Giacomo Bernini's avatar
Giacomo Bernini committed
270
          $ref: '../components/SOL009_resp.yaml#/components/responses/500'
271
        "503":
Giacomo Bernini's avatar
Giacomo Bernini committed
272
          $ref: '../components/SOL009_resp.yaml#/components/responses/503'
273
        "504":
Giacomo Bernini's avatar
Giacomo Bernini committed
274
          $ref: '../components/SOL009_resp.yaml#/components/responses/504'
275
276

  "/subscriptions":
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
    description: >-
      This resource represents subscriptions. The client can use this resource to subscribe to notifications
      related to NFV-MANO performance management and to query its subscriptions.
    post:
      description: >-
        The POST method creates a new subscription.
        This method shall follow the provisions specified in the tables 8.5.7.3.1-1 and 8.5.7.3.1-2 for URI query
         parameters, request and response data structures, and response codes.
        As the result of successfully executing this method, a new "Individual subscription" resource as defined in
        clause 8.5.8 shall have been created. This method shall not trigger any notification.
        Creation of two "Individual subscription" resources with the same callbackURI and the same filter can result
        in performance degradation and will provide duplicates of notifications to the API consumer, and might make
        sense only in very rare use cases. Consequently, the NFV-MANO functional entity may either allow creating a
        new "Individual subscription" resource if another "Individual subscription" resource with the same filter
        and callbackUri already exists (in which case it shall return the "201 Created" response code), 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 filter and callbackUri).
      parameters:
295
296
297
298
        - $ref: "../components/SOL009_params.yaml#/components/parameters/Version"
        - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept"
        - $ref: "../components/SOL009_params.yaml#/components/parameters/ContentType"
        - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization"
299
300
301
302
303
304
305
306
      requestBody:
        $ref: '#/components/requestBodies/LogmSubscriptionRequest'
      responses:
        "201":
          $ref: '#/components/responses/LogmSubscription'
        "303":
          $ref: '#/components/responses/LogmSubscription.303'
        "422":
Giacomo Bernini's avatar
Giacomo Bernini committed
307
          $ref: '../components/SOL009_resp.yaml#/components/responses/422'
308
        "400":
Giacomo Bernini's avatar
Giacomo Bernini committed
309
          $ref: '../components/SOL009_resp.yaml#/components/responses/400'
310
        "401":
Giacomo Bernini's avatar
Giacomo Bernini committed
311
          $ref: '../components/SOL009_resp.yaml#/components/responses/401'
312
        "403":
Giacomo Bernini's avatar
Giacomo Bernini committed
313
          $ref: '../components/SOL009_resp.yaml#/components/responses/403'
314
        "404":
Giacomo Bernini's avatar
Giacomo Bernini committed
315
          $ref: '../components/SOL009_resp.yaml#/components/responses/404'
316
        "405":
Giacomo Bernini's avatar
Giacomo Bernini committed
317
          $ref: '../components/SOL009_resp.yaml#/components/responses/405'
318
        "406":
Giacomo Bernini's avatar
Giacomo Bernini committed
319
          $ref: '../components/SOL009_resp.yaml#/components/responses/406'
320
        "500":
Giacomo Bernini's avatar
Giacomo Bernini committed
321
          $ref: '../components/SOL009_resp.yaml#/components/responses/500'
322
        "503":
Giacomo Bernini's avatar
Giacomo Bernini committed
323
          $ref: '../components/SOL009_resp.yaml#/components/responses/503'
324
        "504":
Giacomo Bernini's avatar
Giacomo Bernini committed
325
          $ref: '../components/SOL009_resp.yaml#/components/responses/504'
326
327
328
329
330
331
332
333
    get:
      description: >-
        The API consumer can use this method to query the list of active subscriptions to log management
        notifications subscribed by the API consumer.
        This method shall follow the provisions specified in the tables 8.5.7.3.2-1 and 8.5.7.3.2-2 for URI
        query parameters, request and response data structures, and response codes.

      parameters:
334
335
336
337
338
        - $ref: "../components/SOL009_params.yaml#/components/parameters/filter"
        - $ref: "../components/SOL009_params.yaml#/components/parameters/nextpage_opaque_marker"
        - $ref: "../components/SOL009_params.yaml#/components/parameters/Version"
        - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept"
        - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization"
339
340
341
342
      responses:
        "200":
          $ref: '#/components/responses/LogmSubscriptions'
        "400":
Giacomo Bernini's avatar
Giacomo Bernini committed
343
          $ref: '../components/SOL009_resp.yaml#/components/responses/400'
344
        "401":
Giacomo Bernini's avatar
Giacomo Bernini committed
345
          $ref: '../components/SOL009_resp.yaml#/components/responses/401'
346
        "403":
Giacomo Bernini's avatar
Giacomo Bernini committed
347
          $ref: '../components/SOL009_resp.yaml#/components/responses/403'
348
        "404":
Giacomo Bernini's avatar
Giacomo Bernini committed
349
          $ref: '../components/SOL009_resp.yaml#/components/responses/404'
350
        "405":
Giacomo Bernini's avatar
Giacomo Bernini committed
351
          $ref: '../components/SOL009_resp.yaml#/components/responses/405'
352
        "406":
Giacomo Bernini's avatar
Giacomo Bernini committed
353
          $ref: '../components/SOL009_resp.yaml#/components/responses/406'
354
        "500":
Giacomo Bernini's avatar
Giacomo Bernini committed
355
          $ref: '../components/SOL009_resp.yaml#/components/responses/500'
356
        "503":
Giacomo Bernini's avatar
Giacomo Bernini committed
357
          $ref: '../components/SOL009_resp.yaml#/components/responses/503'
358
        "504":
Giacomo Bernini's avatar
Giacomo Bernini committed
359
          $ref: '../components/SOL009_resp.yaml#/components/responses/504'
360
361

  "/subscriptions/{subscriptionId}":
362
363
364
365
366
367
368
369
370
371
372
373
374
    description: >-
      This resource represents an individual subscription for notifications about log management related events.
      The API consumer can use this resource to read and to terminate a subscription to notifications related
      o NFV-MANO log management.
    parameters:
      - $ref: "#/components/parameters/subscriptionId"
    get:
      description: >-
        The API consumer can use this method for reading an individual subscription about log management
        notifications subscribed by the API consumer.
        This method shall follow the provisions specified in the tables 8.5.8.3.2-1 and 8.5.8.3.2-2 for
        URI query parameters, request and response data structures, and response codes.
      parameters:
375
376
377
        - $ref: "../components/SOL009_params.yaml#/components/parameters/Version"
        - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept"
        - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization"
378
379
380
381
      responses:
        "200":
          $ref: '#/components/responses/LogmSubscription.Get'
        "400":
Giacomo Bernini's avatar
Giacomo Bernini committed
382
          $ref: '../components/SOL009_resp.yaml#/components/responses/400'
383
        "401":
Giacomo Bernini's avatar
Giacomo Bernini committed
384
          $ref: '../components/SOL009_resp.yaml#/components/responses/401'
385
        "403":
Giacomo Bernini's avatar
Giacomo Bernini committed
386
          $ref: '../components/SOL009_resp.yaml#/components/responses/403'
387
        "404":
Giacomo Bernini's avatar
Giacomo Bernini committed
388
          $ref: '../components/SOL009_resp.yaml#/components/responses/404'
389
        "405":
Giacomo Bernini's avatar
Giacomo Bernini committed
390
          $ref: '../components/SOL009_resp.yaml#/components/responses/405'
391
        "406":
Giacomo Bernini's avatar
Giacomo Bernini committed
392
          $ref: '../components/SOL009_resp.yaml#/components/responses/406'
393
        "500":
Giacomo Bernini's avatar
Giacomo Bernini committed
394
          $ref: '../components/SOL009_resp.yaml#/components/responses/500'
395
        "503":
Giacomo Bernini's avatar
Giacomo Bernini committed
396
          $ref: '../components/SOL009_resp.yaml#/components/responses/503'
397
        "504":
Giacomo Bernini's avatar
Giacomo Bernini committed
398
          $ref: '../components/SOL009_resp.yaml#/components/responses/504'
399

400
401
402
403
404
405
406
407
408
409
410
    delete:
      description: >-
        This method terminates an individual subscription.
        This method shall follow the provisions specified in the tables 8.5.8.3.5-1 and 8.5.8.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.
      parameters:
411
412
        - $ref: "../components/SOL009_params.yaml#/components/parameters/Version"
        - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization"
413
414
415
416
      responses:
        "204":
          $ref: '#/components/responses/LogmSubscription.Delete'
        "400":
Giacomo Bernini's avatar
Giacomo Bernini committed
417
          $ref: '../components/SOL009_resp.yaml#/components/responses/400'
418
        "401":
Giacomo Bernini's avatar
Giacomo Bernini committed
419
          $ref: '../components/SOL009_resp.yaml#/components/responses/401'
420
        "403":
Giacomo Bernini's avatar
Giacomo Bernini committed
421
          $ref: '../components/SOL009_resp.yaml#/components/responses/403'
422
        "404":
Giacomo Bernini's avatar
Giacomo Bernini committed
423
          $ref: '../components/SOL009_resp.yaml#/components/responses/404'
424
        "405":
Giacomo Bernini's avatar
Giacomo Bernini committed
425
          $ref: '../components/SOL009_resp.yaml#/components/responses/405'
426
        "406":
Giacomo Bernini's avatar
Giacomo Bernini committed
427
          $ref: '../components/SOL009_resp.yaml#/components/responses/406'
428
        "422":
Giacomo Bernini's avatar
Giacomo Bernini committed
429
          $ref: '../components/SOL009_resp.yaml#/components/responses/422'
430
        "500":
Giacomo Bernini's avatar
Giacomo Bernini committed
431
          $ref: '../components/SOL009_resp.yaml#/components/responses/500'
432
        "503":
Giacomo Bernini's avatar
Giacomo Bernini committed
433
          $ref: '../components/SOL009_resp.yaml#/components/responses/503'
434
        "504":
Giacomo Bernini's avatar
Giacomo Bernini committed
435
          $ref: '../components/SOL009_resp.yaml#/components/responses/504'
436
437
438
439
440
441
442
443
444
445

components:
  parameters:
    logJobId:
      name: logJobId
      in: path
      description: >-
        Identifier of the logging job.
      required: true
      schema:
446
        $ref: '../components/SOL009_schemas.yaml#/components/schemas/Identifier'
Giacomo Bernini's avatar
Giacomo Bernini committed
447
448
449
450
451
452
453
    logJReportId:
      name: logJReportId
      in: path
      description: >-
        Identifier of the report.
      required: true
      schema:
454
        $ref: '../components/SOL009_schemas.yaml#/components/schemas/Identifier'
455
456
457
458
459
460
461
    subscriptionId:
      name: subscriptionId
      in: path
      description: >-
        Identifier of the subscription
      required: true
      schema:
462
        $ref: '../components/SOL009_schemas.yaml#/components/schemas/Identifier'
463
464

  requestBodies:
465
466
467
468
469
470
471
    LogmSubscriptionRequest:
      description: >-
        Details of the subscription to be created
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/LogmSubscriptionRequest"
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
    CreateLoggingJobRequest:
      description: >-
        This type represents a request to create a logging job. It shall comply with the provisions
        defined in table 8.6.2.5-1.
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/CreateLoggingJobRequest"
      required: true
    CompileLogRequest:
      description: >-
        Log compilation request.
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/CompileLogRequest"
      required: true

  responses:
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
638
    LogmSubscription.Delete:
      description: >-
        Shall be returned when the "Individual subscription" resource has been deleted successfully.
        The response body shall be empty.
      headers:
        Content-Type:
          description: The MIME type of the body of the response.
          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.
          schema:
            type: string
        Version:
          description: >
            Version of the API used in the response.
          schema:
            type: string

    LogmSubscription.Get:
      description: >-
        Shall be returned when the subscription has been read successfully.
        The response body shall contain a representation of the "Individual subscription" resource,
        as defined in clause 8.6.2.3.
      headers:
        Content-Type:
          description: The MIME type of the body of the response.
          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.
          schema:
            type: string
        Version:
          description: >
            Version of the API used in the response.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/LogmSubscription"

    LogmSubscriptions:
      description: >-
        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, i.e. zero or more representations of log management
        subscriptions as defined in clause 8.6.2.3.
        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 NFV-MANO functional entity 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.
          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.
          schema:
            type: string
        Version:
          description: >
            Version of the API used in the response.
          schema:
            type: string
      content:
        application/json:
          schema:
            type: array
            items:
              $ref: "#/components/schemas/LogmSubscription"

    LogmSubscription:
      description: >-
        Shall be returned when the subscription has been created successfully.
        A representation of the created "Individual subscription" resource shall be returned in the response body,
        as defined in clause 8.6.2.3.
        The HTTP response shall include a "Location" HTTP header that contains the resource URI of the created
        "Individual subscription" resource.
      headers:
        Content-Type:
          description: The MIME type of the body of the response.
          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.
          schema:
            type: string
        Version:
          description: >
            Version of the API used in the response.
          schema:
            type: string
        Location:
          description: >
            URI of the "Individual log report" resource just created
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/LogmSubscription"

    LogmSubscription.303:
      description: >-
        Shall be returned when a subscription with the same callbackURI and the same filter already exists and the
        policy of the NFV-MANO functional entity 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.
      headers:
        Content-Type:
          description: The MIME type of the body of the response.
          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.
          schema:
            type: string
        Version:
          description: >
            Version of the API used in the response.
          schema:
            type: string
        Location:
          description: >
            URI of the "Individual log report" resource just created
          schema:
            type: string

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
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
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
    LogReportCompiled:
      description: >-
        Shall be returned for a successful compilation of the log data and creation of the associated log report
        (synchronous mode).
        The response body shall contain a representation of the log report resource, as defined in clause 8.6.2.7.
        The HTTP response shall include a "Location" HTTP header that indicate the URI of the
        "Individual log report" resource just created
      headers:
        Content-Type:
          description: The MIME type of the body of the response.
          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.
          schema:
            type: string
        Version:
          description: >
            Version of the API used in the response.
          schema:
            type: string
        Location:
          description: >
            URI of the "Individual log report" resource just created
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/LogReport"

    LogReportCompiled.202:
      description: >-
        Shall be returned when the request has been accepted for processing, and it is expected to take some
        time to compile the log file and create the associated log report (asynchronous mode).
        The response body shall be empty.
        The HTTP response shall include a "Location" HTTP header that indicates the URI of the
        "Individual log report" resource that will be created once the log file compilation is completed.
      headers:
        Content-Type:
          description: The MIME type of the body of the response.
          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.
          schema:
            type: string
        Version:
          description: >
            Version of the API used in the response.
          schema:
            type: string
        Location:
          description: >
            The URI of the "Individual log report" resource that will be created once the log file
            compilation is completed.
          schema:
            type: string

    LogReportCompiled.303:
      description: >-
        Shall be returned when a log data compilation and report creation is already ongoing, or a log report has just been
        created, for the specified logging job at the time of processing the request.
        The response body shall be empty.
        The HTTP response shall include a "Location" HTTP header that contains the resource URI of the log report
        resource just created, or to be created by the ongoing compilation and report creation.
      headers:
        Content-Type:
          description: The MIME type of the body of the response.
          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.
          schema:
            type: string
        Version:
          description: >
            Version of the API used in the response.
          schema:
            type: string
        Location:
          description: >
            The URI of the log report resource just created, or to be created by the ongoing compilation
            and report creation
          schema:
            type: string

    LogReportCompiled.422:
      description: >-
        The general cause for this error and its handling is specified in clause 6.4 of ETSI GS NFV-SOL 013,
        including rules for the presence of the response body.
        Specifically, in case of this task resource, the response code 422 shall also be returned if the
        "objectInstanceId" value provided in the payload body of the request does not correspond to an object
        instance for which log data is being collected by the logging job represented by this resource.
        The response body shall 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.
          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.
          schema:
            type: string
        Version:
          description: >
            Version of the API used in the response.
          schema:
            type: string
      content:
        application/json:
          schema:
764
            $ref: '../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails'
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
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
898
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

    LogReport.Get:
      description: >-
        Shall be returned when information of an individual log report has been read successfully.
        The response body shall contain a representation of the "Individual log report" resource, as
        defined in clause 8.6.2.7.
      headers:
        Content-Type:
          description: The MIME type of the body of the response.
          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.
          schema:
            type: string
        Version:
          description: >
            Version of the API used in the response.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/LogReport"

    LogReport.Get.202:
      description: >-
        Shall be returned if the creation of the log report is ongoing and no log report is available yet
        (applicable in asynchronous mode of the "Compile log task" resource).
        The response body shall be empty.
      headers:
        Content-Type:
          description: The MIME type of the body of the response.
          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.
          schema:
            type: string
        Version:
          description: >
            Version of the API used in the response.
          schema:
            type: string

    LoggingJob.Get:
      description: >-
        Shall be returned when information about an individual logging job has been read successfully.
        The response body shall contain a representation of the "Individual logging job" resource,
        as defined in clause 8.6.2.6.
      headers:
        Content-Type:
          description: The MIME type of the body of the response.
          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.
          schema:
            type: string
        Version:
          description: >
            Version of the API used in the response.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/LoggingJob"

    LoggingJob.Delete:
      description: >-
        Shall be returned when the logging 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.
          schema:
            type: string
        Version:
          description: >-
            Version of the API used in the response.
          schema:
            type: string

    LoggingJob.Post:
      description: >-
        The response body contains the Application Context as it was created
        by the MEC system
      headers:
        Content-Type:
          description: The MIME type of the body of the response.
          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.
          schema:
            type: string
        Version:
          description: >
            Version of the API used in the response.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/LoggingJob"
    LoggingJobs.Get:
      description: >-
        Shall be returned when information about zero or more logging jobs has been queried successfully.

        The response body shall contain in an array the representations of zero or more logging jobs, as
        defined in clause 8.6.2.6.

        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 NFV-MANO functional entity 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.
          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.
          schema:
            type: string
        Version:
          description: >
            Version of the API used in the response.
          schema:
            type: string
      content:
        application/json:
          schema:
            type: array
            items:
              $ref: "#/components/schemas/LoggingJob"
  schemas:
925
926
927
928
929
930
931
932
933
934
935
936
    LogmSubscription:
      description: >-
        This type represents a subscription. It shall comply with the provisions defined in table 8.6.2.3-1.
      type: object
      required:
        - id
        - callbackUri
        - _links
      properties:
        id:
          description: >-
            Identifier that identifies the subscription.
937
          $ref: '../components/SOL009_schemas.yaml#/components/schemas/Identifier'
938
939
940
941
942
943
944
945
946
        filter:
          description: >-
            Filter settings for this subscription, to define the subset of all notifications this subscription
            relates to. A particular notification is sent to the subscriber if the filter matches,
            or if there is no filter
          $ref: "#/components/schemas/LogmNotificationsFilter"
        callbackUri:
          description: >-
            The URI of the endpoint to send the notification to.
947
          $ref: '../components/SOL009_schemas.yaml#/components/schemas/Uri'
948
949
950
951
952
953
954
955
956
957
        _links:
          description: >-
            Links to resources related to this resource.
          type: object
          required:
            - self
          properties:
            self:
              description: >-
                URI of this resource.
958
              $ref: '../components/SOL009_schemas.yaml#/components/schemas/Link'
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

    LogmNotificationsFilter:
      description: >-
        This type represents a filter that can be used to subscribe for notifications related to log
        management events. It shall comply with the provisions defined in table 8.6.3.7-1.
        At a particular nesting level in the filter structure, the following applies: All attributes
        shall match in order for the filter to match (logical "and" between different filter attributes).
        If an attribute is an array, the attribute shall match if at least one of the values in the array matches
        (logical "or" between the values of one filter attribute).
      type: object
      properties:
        objectInstanceFilter:
          description: >-
            Filter criteria to select object instance about which to notify.
          $ref: "#/components/schemas/ManoEntitySubscriptionFilter"
        notificationTypes:
          description: >-
            Match particular notification types.
            Permitted values:
            - LogReportAvailableNotification
          type: string
          enum: [LogReportAvailableNotification]

    ManoEntitySubscriptionFilter:
      description: >-
        This type represents subscription filter criteria to match NFV-MANO functional entities and their
        associated managed objects. It shall comply with the provisions defined in Table 4.3.2.2-1.
      type: object
Giacomo Bernini's avatar
upd    
Giacomo Bernini committed
987
      oneOf:
Giacomo Bernini's avatar
Giacomo Bernini committed
988
        - required:
Giacomo Bernini's avatar
upd    
Giacomo Bernini committed
989
          - manoServiceIds
Giacomo Bernini's avatar
Giacomo Bernini committed
990
        - required:
Giacomo Bernini's avatar
upd    
Giacomo Bernini committed
991
          - manoServiceNames
Giacomo Bernini's avatar
Giacomo Bernini committed
992
        - required:
Giacomo Bernini's avatar
upd    
Giacomo Bernini committed
993
994
995
996
997
998
999
          - manoServiceInterfaceIds
        - required:
          - manoServiceInterfaceNames
        - required:
          - consumedManoInterfaceIds
        - required:
          - consumedManoInterfaceNames
1000
      properties:
For faster browsing, not all history is shown. View entire blame