VNFPackageManagement.yaml 92.4 KB
Newer Older
1
openapi: 3.0.2
2
3

info:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
4
  title: SOL003 - VNF Package Management interface
5
  description: |
6
7
    SOL003 - VNF Package 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
  contact:
    name: NFV-SOL WG
15
  license:
16
    name: ETSI Forge copyright notice
17
    url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
18
  version: "2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1"
19
20

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

24
25
26
servers:
  - url: http://127.0.0.1/vnfpkgm/v2
  - url: https://127.0.0.1/vnfpkgm/v2
27
28

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

35
36
37
  ###############################################################################
  # VNF packages                                                                #
  ###############################################################################
38
  /onboarded_vnf_packages:
39
40
    #SOL003 location: 10.4.2
    get:
41
      description: |
42
43
44
45
        Query VNF Package Info.
        The GET method queries the information of the VNF packages matching the filter.
        This method shall follow the provisions specified in the tables 10.4.2.3.2-1 and 10.4.2.3.2-2
        for URI query parameters, request and response data structures, and response codes.
46
      parameters:
47
48
49
50
51
52
53
54
55
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/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
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
56
57
      responses:
        200:
58
          $ref: '#/components/responses/OnboardedVnfPackages.Get.200'
59
        400:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
60
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
61
        401:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
62
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
63
        403:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
64
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
65
        404:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
66
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404"
67
        405:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
68
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
69
        406:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
70
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
71
        422:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
72
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422"
73
        500:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
74
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
75
        503:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
76
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
77
        504:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
78
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
79

80
  ###############################################################################
81
  # Individual VNF package                                                      #
82
  ###############################################################################
83
  /vnf_packages/{vnfPkgId}:
84
    parameters:
85
      - $ref: '#/components/parameters/VnfPkgId'
86
    get:
87
      description: |
88
89
90
91
92
93
        Query VNF Package Info.
        The GET method reads the information of an individual VNF package.
        This method shall follow the provisions specified in the tables
        10.4.3.3.2-1 and 10.4.3.3.2-2 for URI query parameters,
        request and response data structures, and response codes.
      parameters:
94
95
96
97
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
        - $ref: '#/components/parameters/include_signature'
98
99
      responses:
        200:
100
          $ref: '#/components/responses/IndividualVnfPackage.Get.200'
101
        400:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
102
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
103
        401:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
104
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
105
        403:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
106
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
107
        404:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
108
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404"
109
        405:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
110
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
111
        416:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
112
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416"
113
        500:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
114
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
115
        503:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
116
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
117
        504:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
118
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
Gergely Csatari's avatar
Gergely Csatari committed
119

120
  /onboarded_vnf_packages/{vnfdId}:
121
    parameters:
122
      - $ref: '#/components/parameters/VnfdId'
123
    get:
124
      description: |
125
        Query VNF Package Info.
126
        The GET method reads the information of an individual VNF package.
127
128
129
        This method shall follow the provisions specified in the tables
        10.4.3.3.2-1 and 10.4.3.3.2-2 for URI query parameters,
        request and response data structures, and response codes.
130
      parameters:
131
132
133
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
134
135
      responses:
        200:
136
          $ref: '#/components/responses/IndividualOnboardedVnfPackage.Get.200'
137
        400:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
138
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
139
        401:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
140
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
141
        403:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
142
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
143
        404:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
144
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404"
145
        405:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
146
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
147
        406:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
148
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
149
        416:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
150
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416"
151
        500:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
152
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
153
        503:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
154
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
155
        504:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
156
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
157

158
159
160
  ###############################################################################
  # VNFD in an individual VNF package                                           #
  ###############################################################################
161
  /vnf_packages/{vnfPkgId}/vnfd:
162
    parameters:
163
      - $ref: '#/components/parameters/VnfPkgId'
164
    get:
165
      description: |
Gergely Csatari's avatar
Gergely Csatari committed
166
167
        Query VNF Package Info

168
        The GET method reads the content of the VNFD within a VNF package.
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
        The VNFD is implemented as a collection of one or more files.
        A ZIP archive embedding these files shall be returned when reading this resource.
        The default format of the ZIP archive shall be the one specified in ETSI GS NFV-SOL 004
        where only the files representing the VNFD and information needed to navigate the ZIP
        archive and to identify the file that is the entry point for parsing the VNFD, and,
        if requested, further security information are included. This means that the structure
        of the ZIP archive shall correspond to the directory structure used in the VNF package
        and that the archive shall contain the following files from the package:
        •	TOSCA.meta (if available in the package)
        •	The main TOSCA definitions YAML file (either as referenced from TOSCA.meta
            or available as a file with the extension ".yml" or ".yaml" from the root of the archive)
        •	Every component of the VNFD referenced (recursively) from the main TOSCA definitions YAML file
        •	The related security information, if the "include_signatures" URI parameter is provided, as follows:
            -	the manifest file
            -	the singleton certificate file in the root of the VNF package (if available in the package)
            -	the signing certificates of the individual files included in the ZIP archive (if available in the package)
            -	the signatures of the individual files (if available in the package)
        Three examples are provided below.

        NOTE:	These examples do not show the security related files.

        EXAMPLE 1:	Assuming a request is sent for the following VNF package
                    (as described in clause A.1 in ETSI GS NFV-SOL 004):
                    !------TOSCA-Metadata
                            !-----	TOSCA.meta (metadata for navigating the ZIP file)
                    !------Definitions
                            !-----	MRF.yaml (main VNFD file)
                            !-----	OtherTemplates (e.g. type definitions, referenced by the main VNFD file)
                    !------Files
                            !-----	ChangeLog.txt
                            !-----	image(s)
                            !-----	other artifacts
                    !------Tests
                            !-----	file(s)
                    !------Licenses
                            !-----	file(s)
                    !------Scripts
                            !-----	install.sh
                    !----- MRF.mf

                    The NFVO will return a ZIP file of the following format:
                    !------TOSCA-Metadata
                            !----- TOSCA.meta
                    !------Definitions
                            !----- MRF.yaml
                            !----- OtherTemplates

        EXAMPLE 2:	Assuming a request is sent for the following VNF package
                    (a VNF package without a TOSCA-Metadata directory, as
                    described in clause A.2 in ETSI GS NFV-SOL 004):
                    !------MRF.yaml (main VNFD file)
                    !------MRF.mf
                    !------ChangeLog.txt
                    !------Tests
                            !----- file(s)
                    !------Licenses
                            !----- file(s)
                    !------Artifacts
                            !----- install.sh
                            !----- start.yang

                    The NFVO will return a ZIP file of the following format:
                    !------MRF.yaml

        EXAMPLE 3:	Assuming a request is sent for the following VNF package
                    (a VNF package with the YANG VNFD without a TOSCA-Metadata directory,
                    as described in clause A.3 in ETSI GS NFV SOL 004):
                    !----CompanyVNFD.yaml
                    !----CompanyVNFD.xml
                    !----CompanyVNFD.mf
                    !----ChangeLog.txt
                    !-----Files
                    !-----Instance Data Files
                            !---- start.xml
                    !-----Licenses
                    !-----Scripts
                            !----- install.sh

                    The NFVO will return a ZIP file of the following format:
                    !----CompanyVNFD.yaml
                    !----CompanyVNFD.xml	(indicated in the yang_definitions metadata in CompanyVNFD.yaml)

        This method shall follow the provisions specified in the tables 10.4.4.3.2-1
        and 10.4.4.3.2-2 for URI query parameters, request and response data structures,
        nd response codes.
254
      parameters:
255
256
257
258
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
        - $ref: '#/components/parameters/include_signature'
259
260
      responses:
        200:
261
          $ref: '#/components/responses/VnfdInIndividualVnfPackage.Get.200'
262
        400:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
263
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
264
        401:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
265
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
266
        403:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
267
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
268
        404:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
269
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404"
270
        405:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
271
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
272
        409:
273
          #          description: |
274
275
276
277
278
279
          #            409 CONFLICT
          #
          #            Shall be returned upon the following error: The operation cannot
          #            be executed currently, due to a conflict with the state of the resource.
          #            Typically, this is due to the fact that "onboardingState" of the
          #            VNF package has a value different from "ONBOARDED".
Francesca Moscatelli's avatar
Francesca Moscatelli committed
280
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409"
281
        416:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
282
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416"
283
        500:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
284
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
285
        503:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
286
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
287
        504:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
288
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
289

290
  /onboarded_vnf_packages/{vnfdId}/vnfd:
291
    parameters:
292
      - $ref: '#/components/parameters/VnfdId'
293
    get:
294
      description: |
295
296
297
        Query VNF Package Info

        The GET method reads the content of the VNFD within a VNF package.
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
        The VNFD is implemented as a collection of one or more files.
        A ZIP archive embedding these files shall be returned when reading this resource.
        The default format of the ZIP archive shall be the one specified in ETSI GS NFV-SOL 004
        where only the files representing the VNFD and information needed to navigate the ZIP
        archive and to identify the file that is the entry point for parsing the VNFD, and,
        if requested, further security information are included. This means that the structure
        of the ZIP archive shall correspond to the directory structure used in the VNF package
        and that the archive shall contain the following files from the package:
        •	TOSCA.meta (if available in the package)
        •	The main TOSCA definitions YAML file (either as referenced from TOSCA.meta
            or available as a file with the extension ".yml" or ".yaml" from the root of the archive)
        •	Every component of the VNFD referenced (recursively) from the main TOSCA definitions YAML file
        •	The related security information, if the "include_signatures" URI parameter is provided, as follows:
            -	the manifest file
            -	the singleton certificate file in the root of the VNF package (if available in the package)
            -	the signing certificates of the individual files included in the ZIP archive (if available in the package)
            -	the signatures of the individual files (if available in the package)
        Three examples are provided below.

        NOTE:	These examples do not show the security related files.

        EXAMPLE 1:	Assuming a request is sent for the following VNF package
                    (as described in clause A.1 in ETSI GS NFV-SOL 004):
                    !------TOSCA-Metadata
                            !-----	TOSCA.meta (metadata for navigating the ZIP file)
                    !------Definitions
                            !-----	MRF.yaml (main VNFD file)
                            !-----	OtherTemplates (e.g. type definitions, referenced by the main VNFD file)
                    !------Files
                            !-----	ChangeLog.txt
                            !-----	image(s)
                            !-----	other artifacts
                    !------Tests
                            !-----	file(s)
                    !------Licenses
                            !-----	file(s)
                    !------Scripts
                            !-----	install.sh
                    !----- MRF.mf

                    The NFVO will return a ZIP file of the following format:
                    !------TOSCA-Metadata
                            !----- TOSCA.meta
                    !------Definitions
                            !----- MRF.yaml
                            !----- OtherTemplates

        EXAMPLE 2:	Assuming a request is sent for the following VNF package
                    (a VNF package without a TOSCA-Metadata directory, as
                    described in clause A.2 in ETSI GS NFV-SOL 004):
                    !------MRF.yaml (main VNFD file)
                    !------MRF.mf
                    !------ChangeLog.txt
                    !------Tests
                            !----- file(s)
                    !------Licenses
                            !----- file(s)
                    !------Artifacts
                            !----- install.sh
                            !----- start.yang

                    The NFVO will return a ZIP file of the following format:
                    !------MRF.yaml

        EXAMPLE 3:	Assuming a request is sent for the following VNF package
                    (a VNF package with the YANG VNFD without a TOSCA-Metadata directory,
                    as described in clause A.3 in ETSI GS NFV SOL 004):
                    !----CompanyVNFD.yaml
                    !----CompanyVNFD.xml
                    !----CompanyVNFD.mf
                    !----ChangeLog.txt
                    !-----Files
                    !-----Instance Data Files
                            !---- start.xml
                    !-----Licenses
                    !-----Scripts
                            !----- install.sh

                    The NFVO will return a ZIP file of the following format:
                    !----CompanyVNFD.yaml
                    !----CompanyVNFD.xml	(indicated in the yang_definitions metadata in CompanyVNFD.yaml)

        This method shall follow the provisions specified in the tables 10.4.4.3.2-1
        and 10.4.4.3.2-2 for URI query parameters, request and response data structures,
        nd response codes.
383
      parameters:
384
385
386
387
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
        - $ref: '#/components/parameters/include_signature'
388
389
      responses:
        200:
390
          $ref: '#/components/responses/VnfdInIndividualOnboardedVnfPackage.Get.200'
391
        400:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
392
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
393
        401:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
394
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
395
        403:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
396
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
397
        404:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
398
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404"
399
        405:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
400
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
401
        409:
402
          #          description: |
403
404
405
406
407
408
          #            409 CONFLICT
          #
          #            Shall be returned upon the following error: The operation cannot
          #            be executed currently, due to a conflict with the state of the resource.
          #            Typically, this is due to the fact that "onboardingState" of the
          #            VNF package has a value different from "ONBOARDED".
Francesca Moscatelli's avatar
Francesca Moscatelli committed
409
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409"
410
        416:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
411
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416"
412
        500:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
413
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
414
        503:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
415
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
416
        504:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
417
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
418

419
  ###############################################################################
420
  # Manifest in an individual VNF package                                       #
421
  ###############################################################################
422
  /vnf_packages/{vnfPkgId}/manifest:
423
    parameters:
424
      - $ref: '#/components/parameters/VnfPkgId'
425
    get:
426
      description: |
427
428
429
430
431
432
        Query VNF Package Manifest

        The GET method reads the content of the manifest within a VNF package.
        This method shall follow the provisions specified in the tables 10.4.4a.3.2-1
        and 10.4.4a.3.2-2 for URI query parameters, request and response data structures,
        and response codes.
433
      parameters:
434
435
436
437
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
        - $ref: '#/components/parameters/include_signature'
438
439
      responses:
        200:
440
          $ref: '#/components/responses/ManifestInIndividualVnfPackage.Get.200'
441
        400:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
442
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
443
        401:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
444
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
445
        403:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
446
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
447
        404:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
448
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404"
449
        405:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
450
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
451
        406:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
452
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
453
        409:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
454
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409"
455
        416:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
456
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416"
457
        500:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
458
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
459
        503:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
460
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
461
        504:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
462
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
463

464
  /onboarded_vnf_packages/{vnfdId}/manifest:
465
    parameters:
466
      - $ref: '#/components/parameters/VnfdId'
Giacomo Bernini's avatar
Giacomo Bernini committed
467
    get:
468
      description: |
469
470
471
472
473
474
        Query VNF Package Manifest

        The GET method reads the content of the manifest within a VNF package.
        This method shall follow the provisions specified in the tables 10.4.4a.3.2-1
        and 10.4.4a.3.2-2 for URI query parameters, request and response data structures,
        and response codes.
Giacomo Bernini's avatar
Giacomo Bernini committed
475
      parameters:
476
477
478
479
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
        - $ref: '#/components/parameters/include_signature'
Giacomo Bernini's avatar
Giacomo Bernini committed
480
481
      responses:
        200:
482
          $ref: '#/components/responses/ManifestInIndividualOnboardedVnfPackage.Get.200'
Giacomo Bernini's avatar
Giacomo Bernini committed
483
        400:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
484
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
Giacomo Bernini's avatar
Giacomo Bernini committed
485
        401:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
486
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
Giacomo Bernini's avatar
Giacomo Bernini committed
487
        403:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
488
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
Giacomo Bernini's avatar
Giacomo Bernini committed
489
        404:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
490
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404"
Giacomo Bernini's avatar
Giacomo Bernini committed
491
        405:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
492
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
Giacomo Bernini's avatar
Giacomo Bernini committed
493
        406:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
494
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
Giacomo Bernini's avatar
Giacomo Bernini committed
495
        409:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
496
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409"
Giacomo Bernini's avatar
Giacomo Bernini committed
497
        416:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
498
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416"
Giacomo Bernini's avatar
Giacomo Bernini committed
499
        500:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
500
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
Giacomo Bernini's avatar
Giacomo Bernini committed
501
        503:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
502
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
Giacomo Bernini's avatar
Giacomo Bernini committed
503
        504:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
504
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
505

506
  ###############################################################################
507
  # VNF package content                                                         #
508
  ###############################################################################
509
  /vnf_packages/{vnfPkgId}/package_content:
510
    parameters:
511
      - $ref: '#/components/parameters/VnfPkgId'
512
    get:
513
      description: |
514
515
516
517
518
519
520
521
522
523
524
525
        Fetch VNF Package.
        The GET method fetches the content of a VNF package identified by the
        VNF package identifier allocated by the NFVO.
        The content of the package is provided as onboarded, i.e. depending on
        the security option used, the CSAR or the CSAR wrapped in a ZIP archive
        together with an external signature is returned, as defined in clause
        5.1 of ETSI GS NFV-SOL 004.

        NOTE:	Information about the applicable security option can be obtained
        by evaluating the "packageSecurityOption" attribute in the "VnfPkgInfo"
        structure.

526
        This method shall follow the provisions specified in the tables
527
        10.4.5.3.2-1 and 10.4.5.3.2-2 for URI query parameters, request
528
        and response data structures, and response codes.
529
      parameters:
530
531
532
533
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
        - $ref: '#/components/parameters/Range'
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
534
535
      responses:
        200:
536
          $ref: '#/components/responses/IndividualVnfPackageContent.Get.200'
537
        206:
538
          $ref: '#/components/responses/IndividualVnfPackageContent.Get.206'
539
        400:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
540
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
541
        401:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
542
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
543
        403:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
544
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
545
        404:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
546
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404"
547
        405:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
548
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
549
        406:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
550
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
551
        409:
552
553
554
555
556
557
558
          #  description: |
          #    409 CONFLICT

          #    Shall be returned upon the following error: The operation cannot be executed currently,
          #    due to a conflict with the state of the resource.
          #    Typically, this is due to the fact that "onboardingState" of the VNF package has
          #    a value different from "ONBOARDED".
Francesca Moscatelli's avatar
Francesca Moscatelli committed
559
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409"
560
        416:
561
562
563
564
565
          #  description: |
          #    416 RANGE NOT SATISFIABLE

          #    Shall be returned upon the following error: The byte range passed in the "Range" header
          #    did not match any available byte range in the VNF package file (e.g. "access after end of file").
Francesca Moscatelli's avatar
Francesca Moscatelli committed
566
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416"
567
        500:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
568
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
569
        503:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
570
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
571
        504:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
572
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
573

574
  /onboarded_vnf_packages/{vnfdId}/package_content:
575
    parameters:
576
      - $ref: '#/components/parameters/VnfdId'
Giacomo Bernini's avatar
Giacomo Bernini committed
577
    get:
578
      description: |
579
580
581
582
583
584
585
586
587
588
589
590
        Fetch VNF Package.
        The GET method fetches the content of a VNF package identified by the
        VNF package identifier allocated by the NFVO.
        The content of the package is provided as onboarded, i.e. depending on
        the security option used, the CSAR or the CSAR wrapped in a ZIP archive
        together with an external signature is returned, as defined in clause
        5.1 of ETSI GS NFV-SOL 004.

        NOTE:	Information about the applicable security option can be obtained
        by evaluating the "packageSecurityOption" attribute in the "VnfPkgInfo"
        structure.

Giacomo Bernini's avatar
Giacomo Bernini committed
591
        This method shall follow the provisions specified in the tables
592
        10.4.5.3.2-1 and 10.4.5.3.2-2 for URI query parameters, request
Giacomo Bernini's avatar
Giacomo Bernini committed
593
594
        and response data structures, and response codes.
      parameters:
595
596
597
598
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
        - $ref: '#/components/parameters/Range'
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
599
600
      responses:
        200:
601
          $ref: '#/components/responses/IndividualOnboardedVnfPackageContent.Get.200'
602
        206:
603
          $ref: '#/components/responses/IndividualOnboardedVnfPackageContent.Get.206'
604
        400:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
605
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
606
        401:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
607
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
608
        403:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
609
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
610
        404:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
611
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404"
612
        405:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
613
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
614
        406:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
615
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
616
        409:
617
618
619
620
621
622
623
          #  description: |
          #    409 CONFLICT

          #    Shall be returned upon the following error: The operation cannot be executed currently,
          #    due to a conflict with the state of the resource.
          #    Typically, this is due to the fact that "onboardingState" of the VNF package has
          #    a value different from "ONBOARDED".
Francesca Moscatelli's avatar
Francesca Moscatelli committed
624
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409"
625
        416:
626
627
628
629
630
          #  description: |
          #    416 RANGE NOT SATISFIABLE

          #    Shall be returned upon the following error: The byte range passed in the "Range" header
          #    did not match any available byte range in the VNF package file (e.g. "access after end of file").
Francesca Moscatelli's avatar
Francesca Moscatelli committed
631
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416"
632
        500:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
633
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
634
        503:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
635
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
636
        504:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
637
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
638
639
640
641

  ###############################################################################
  # VNF package artifacts                                                       #
  ###############################################################################
642
  /vnf_packages/{vnfPkgId}/artifacts:
643
    parameters:
644
      - $ref: '#/components/parameters/VnfPkgId'
645
    get:
646
      description: |
647
648
649
650
651
652
653
        Fetch VNF Package Artifacts.

        The GET method shall return an archive that contains a set of artifacts
        according to the provisions for inclusion/exclusion defined below,
        embedded in a directory structure being the same as in the VNF package.
        The criteria for exclusion/inclusion of an artifact in the archive are defined as follows:
        -	Artifacts that are software images shall be excluded from the archive.
654
655
656
657
        -	Artifacts that are not software images and that are external to the VNF package shall be 
            excluded from the archive unless the URI query parameter "include_external_artifacts" has 
            been provided. External artifacts shall be included in the archive using the content of 
            the "artifactPath" attribute as the path.
658
659
660
661
662
663
664
665
666
667
668
669
670
671
        -	All additional artifacts included in the VNF package that are MANO artifacts shall
            be included in the archive, unless the URI query parameter "exclude_all_mano_artifacts"
            has been provided, in which case such artifacts shall be excluded.
        -	All additional artifacts included in the VNF package that are non-MANO artifacts
            shall be included in the archive, unless:
            	the URI query parameter "exclude_all_non_mano_artifacts" has been provided,
                in which case such artifacts shall be excluded;
            	the URI query parameter "select_non_mano_artifact_sets" has been provided and
                is supported by the NFVO, in which case only those non-MANO artifacts shall be
                included whose non-MANO artifact set identifier matches one of the values of the query parameter.
        Package metadata such as manifest file or VNFD shall not be included in the archive.
        This method shall follow the provisions specified in the tables 10.4.5a.3.2-1 and
        10.4.5a.3.2-2 for URI query parameters, request and response data structures, and response codes.
      parameters:
672
673
674
675
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
        - $ref: '#/components/parameters/Range'
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
676
677
      responses:
        200:
678
          $ref: '#/components/responses/IndividualVnfPackageArtifacts.Get.200'
679
        206:
680
          $ref: '#/components/responses/IndividualVnfPackageArtifacts.Get.206'
681
        400:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
682
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
683
        401:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
684
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
685
        403:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
686
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
687
        404:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
688
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404"
689
        405:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
690
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
691
        406:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
692
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
693
        409:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
694
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409"
695
        416:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
696
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416"
697
        500:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
698
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
699
        503:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
700
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
701
        504:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
702
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
703

704
  /onboarded_vnf_packages/{vnfdId}/artifacts:
705
    parameters:
706
      - $ref: '#/components/parameters/VnfdId'
707
    get:
708
      description: |
709
710
711
712
713
714
715
        Fetch VNF Package Artifacts.

        The GET method shall return an archive that contains a set of artifacts
        according to the provisions for inclusion/exclusion defined below,
        embedded in a directory structure being the same as in the VNF package.
        The criteria for exclusion/inclusion of an artifact in the archive are defined as follows:
        -	Artifacts that are software images shall be excluded from the archive.
716
717
718
719
        -	Artifacts that are not software images and that are external to the VNF package shall be 
            excluded from the archive unless the URI query parameter "include_external_artifacts" has 
            been provided. External artifacts shall be included in the archive using the content of 
            the "artifactPath" attribute as the path.
720
721
722
723
724
725
726
727
728
729
730
731
732
733
        -	All additional artifacts included in the VNF package that are MANO artifacts shall
            be included in the archive, unless the URI query parameter "exclude_all_mano_artifacts"
            has been provided, in which case such artifacts shall be excluded.
        -	All additional artifacts included in the VNF package that are non-MANO artifacts
            shall be included in the archive, unless:
            	the URI query parameter "exclude_all_non_mano_artifacts" has been provided,
                in which case such artifacts shall be excluded;
            	the URI query parameter "select_non_mano_artifact_sets" has been provided and
                is supported by the NFVO, in which case only those non-MANO artifacts shall be
                included whose non-MANO artifact set identifier matches one of the values of the query parameter.
        Package metadata such as manifest file or VNFD shall not be included in the archive.
        This method shall follow the provisions specified in the tables 10.4.5a.3.2-1 and
        10.4.5a.3.2-2 for URI query parameters, request and response data structures, and response codes.
      parameters:
734
735
736
737
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
        - $ref: '#/components/parameters/Range'
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
738
739
      responses:
        200:
740
          $ref: '#/components/responses/IndividualOnboardedVnfPackageArtifacts.Get.200'
741
        206:
742
          $ref: '#/components/responses/IndividualOnboardedVnfPackageArtifacts.Get.206'
743
        400:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
744
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
745
        401:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
746
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
747
        403:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
748
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
749
        404:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
750
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404"
751
        405:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
752
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
753
        406:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
754
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
755
        409:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
756
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409"
757
        416:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
758
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416"
759
        500:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
760
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
761
        503:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
762
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
763
        504:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
764
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
765
766
767
768

  ###############################################################################
  # Individual VNF package artifact                                             #
  ###############################################################################
769
  /vnf_packages/{vnfPkgId}/artifacts/{artifactPath}:
770
    parameters:
771
772
      - $ref: '#/components/parameters/ArtifactPath'
      - $ref: '#/components/parameters/VnfPkgId'
773
    get:
774
      description: |
775
776
777
778
779
780
        Fetch VNF Package Artifacts.
        The GET method fetches the content of an artifact within a VNF package.
        This method shall follow the provisions specified in the tables
        10.4.6.3.2-1 and 10.4.6.3.2-2 for URI query parameters, request
        and response data structures, and response codes.
      parameters:
781
782
783
784
785
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
        - $ref: '#/components/parameters/Range'
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
        - $ref: '#/components/parameters/include_signature'
Giacomo Bernini's avatar
Giacomo Bernini committed
786
787
      responses:
        200:
788
          $ref: '#/components/responses/IndividualVnfPackageArtifact.Get.200'
Giacomo Bernini's avatar
Giacomo Bernini committed
789
        206:
790
          $ref: '#/components/responses/IndividualVnfPackageArtifact.Get.206'
Giacomo Bernini's avatar
Giacomo Bernini committed
791
        400:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
792
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
Giacomo Bernini's avatar
Giacomo Bernini committed
793
        401:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
794
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
Giacomo Bernini's avatar
Giacomo Bernini committed
795
        403:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
796
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
Giacomo Bernini's avatar
Giacomo Bernini committed
797
        404:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
798
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404"
Giacomo Bernini's avatar
Giacomo Bernini committed
799
        405:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
800
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
Giacomo Bernini's avatar
Giacomo Bernini committed
801
        406:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
802
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
Giacomo Bernini's avatar
Giacomo Bernini committed
803
        409:
804
805
806
807
808
809
810
811
812
813
          #  description: |
          #    409 CONFLICT

          #    Shall be returned upon the following error: The operation cannot
          #    be executed currently, due to a conflict with the state of the resource.
          #    Typically, this is due to the fact that "onboardingState" of the
          #    VNF package has a value different from "ONBOARDED".
          #    The response body shall contain a ProblemDetails structure,
          #    in which the "detail" attribute shall convey more information
          #    about the error.
Francesca Moscatelli's avatar
Francesca Moscatelli committed
814
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409"
Giacomo Bernini's avatar
Giacomo Bernini committed
815
        416:
816
817
818
819
820
821
822
          #  description: |
          #    416 RANGE NOT SATISFIABLE

          #    Shall be returned upon the following error: The byte range passed in the
          #    "Range" header did not match any available byte range in the artifact file
          #    (e.g. "access after end of file").
          #    The response body may contain a ProblemDetails structure.
Francesca Moscatelli's avatar
Francesca Moscatelli committed
823
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416"
824
        500:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
825
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
826
        503:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
827
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
828
        504:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
829
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
830

831
  /onboarded_vnf_packages/{vnfdId}/artifacts/{artifactPath}:
832
    parameters:
833
834
      - $ref: '#/components/parameters/ArtifactPath'
      - $ref: '#/components/parameters/VnfdId'
835
    get:
836
      description: |
837
838
839
840
841
842
        Fetch VNF Package Artifacts.
        The GET method fetches the content of an artifact within a VNF package.
        This method shall follow the provisions specified in the tables
        10.4.6.3.2-1 and 10.4.6.3.2-2 for URI query parameters, request
        and response data structures, and response codes.
      parameters:
843
844
845
846
847
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
        - $ref: '#/components/parameters/Range'
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
        - $ref: '#/components/parameters/include_signature'
848
849
      responses:
        200:
850
          $ref: '#/components/responses/IndividualOnboardedVnfPackageArtifact.Get.200'
851
        206:
852
          $ref: '#/components/responses/IndividualOnboardedVnfPackageArtifact.Get.206'
853
        400:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
854
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
855
        401:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
856
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
857
        403:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
858
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
859
        404:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
860
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404"
861
        405:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
862
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
863
        406:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
864
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
865
        409:
866
867
868
869
870
871
872
873
874
875
          #  description: |
          #    409 CONFLICT

          #    Shall be returned upon the following error: The operation cannot
          #    be executed currently, due to a conflict with the state of the resource.
          #    Typically, this is due to the fact that "onboardingState" of the
          #    VNF package has a value different from "ONBOARDED".
          #    The response body shall contain a ProblemDetails structure,
          #    in which the "detail" attribute shall con