Newer
Older
version: "1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1"
title: SOL003 - VNF Package Management interface
SOL003 - VNF Package Management interface
Michele Carignani
committed
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.
In clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based
filtering mechanism is defined. This mechanism is currently not
included in the corresponding OpenAPI design for this GS version. Changes
to the attribute-based filtering mechanism are being considered in v2.5.1
of this GS for inclusion in the corresponding future ETSI NFV OpenAPI
design.
Michele Carignani
committed
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
Michele Carignani
committed
externalDocs:
description: ETSI GS NFV-SOL 003 V2.6.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.06.01_60/gs_NFV-SOL003v020601p.pdf
basePath: "/vnfpkgm/v1"
schemes:
- https
consumes:
- "application/json"
produces:
- "application/json"
paths:
Giacomo Bernini
committed
###############################################################################
# API Versions #
###############################################################################
Giacomo Bernini
committed
$ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions'
###############################################################################
# VNF packages #
###############################################################################
'/onboarded_vnf_packages':
#SOL003 location: 10.4.2
get:
description: >
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.
parameters:
- name: Accept
description: >
Content-Types that are acceptable for the response.
Reference: IETF RFC 7231
in: header
required: true
type: string
- name: Authorization
description: >
The authorization token for the request.
Reference: IETF RFC 7235
in: header
Samir Medjiah
committed
- name: filter
description: >
Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV SOL 013.
Samir Medjiah
committed
The VNFM shall support receiving this parameter as part of the
URI query string. The NFVO may supply this parameter.
All attribute names that appear in the VnfPkgInfo and in data
types referenced from it shall be supported by the VNFM in the
filter expression.
in: query
required: false
type: string
- name: all_fields
description: >
Include all complex attributes in the response.
See clause 5.3 of ETSI GS NFV SOL 013 for details. The VNFM shall support this parameter.
Samir Medjiah
committed
in: query
required: false
type: string
- name: fields
description: >
Complex attributes to be included into the response.
See clause 5.3 of ETSI GS NFV SOL 013 for details. The VNFM should support this parameter.
Samir Medjiah
committed
in: query
required: false
type: string
- name: exclude_fields
description: >
Complex attributes to be excluded from the response.
See clause 5.3 of ETSI GS NFV SOL 013 for details. The VNFM should support this parameter.
Samir Medjiah
committed
in: query
required: false
type: string
- name: exclude_default
description: >
Indicates to exclude the following complex attributes from the response.
See clause 5.3 of ETSI GS NFV SOL 013 for details. The VNFM shall support this parameter.
Samir Medjiah
committed
The following attributes shall be excluded from the VnfPkgInfo structure
in the response body if this parameter is provided, or none of the parameters
"all_fields," "fields", "exclude_fields", "exclude_default" are provided:
- softwareImages
- additionalArtifacts
- userDefinedData.
in: query
required: false
type: string
- name: nextpage_opaque_marker
description: >
Marker to obtain the next page of a paged response. Shall be supported by the
NFVO if the NFVO supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013
Samir Medjiah
committed
for this resource.
in: query
required: false
type: string
- name: Version
description: >
Version of the API requested to use when responding to this request.
in: header
required: true
type: string
Shall be returned when information about zero or more VNF packages has been queried successfully.
The response body shall contain in an array the VNF package info representations that match the
attribute filter, i.e. zero or more VNF package info representations as defined in clause 10.5.2.2.
If the "filter" URI parameter or one of the "all_fields", "fields" (if supported), "exclude_fields"
(if supported) or "exclude_default" URI parameters was supplied in the request, the data in the
response body shall have been transformed according to the rules specified in clauses 5.2.2 and
5.3.2 of ETSI GS NFV-SOL 013, respectively.
If the VNFM supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013
for this resource, inclusion of the Link HTTP header in this response shall follow the provisions
in clause 5.4.2.3 of ETSI GS NFV-SOL 013.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
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.
type: string
maximum: 1
minimum: 0
Version:
description: >
Version of the API used in the response.
type: string
maximum: 1
minimum: 1
Link:
description: >
Reference to other resources. Used for paging in the present document, see clause 4.7.2.1.
type: string
maximum: 1
minimum: 0
$ref: "definitions/VNFPackageManagement_def.yaml#/definitions/VnfPkgInfo"
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
403:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
404:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
405:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
422:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
###############################################################################
# Individual VNF package #
###############################################################################
Identifier of the VNF package. The identifier is allocated by the
NFVO.
This identifier can be retrieved from the "vnfPkgId" attribute in
the VnfPackageOnboardingNotification or
VnfPackageChangeNotification.
in: path
type: string
required: true
get:
description: >
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
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:
- name: Accept
description: >
Content-Types that are acceptable for the response.
Reference: IETF RFC 7231
in: header
required: true
type: string
- name: Authorization
description: >
The authorization token for the request.
Reference: IETF RFC 7235
in: header
required: false
type: string
- name: Version
description: >
Version of the API requested to use when responding to this request.
in: header
required: true
type: string
responses:
200:
description: >
200 OK
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
Shall be returned when information of the VNF package has been read successfully.
The response body shall contain the VNF package info representation defined in clause 10.5.2.2.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
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.
type: string
maximum: 1
minimum: 0
Version:
description: >
Version of the API used in the response.
type: string
maximum: 1
minimum: 1
schema:
$ref: "definitions/VNFPackageManagement_def.yaml#/definitions/VnfPkgInfo"
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
403:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
404:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
405:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
416:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
'/onboarded_vnf_packages/{vnfdId}':
parameters:
- name: vnfdId
description: >
Identifier of the VNFD and the VNF package.
The identifier is allocated by the VNF provider.
This identifier can be retrieved from the "vnfdId" attribute
in the VnfPackageOnboardingNotification or VnfPackageChangeNotification.
in: path
type: string
required: true
get:
description: >
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:
- name: Accept
description: >
Content-Types that are acceptable for the response.
Reference: IETF RFC 7231
in: header
required: true
type: string
- name: Authorization
description: >
The authorization token for the request.
Reference: IETF RFC 7235
in: header
- name: Version
description: >
Version of the API requested to use when responding to this request.
in: header
required: true
type: string
Shall be returned when information of the VNF package has been read successfully.
The response body shall contain the VNF package info representation defined in clause 10.5.2.2.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
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.
type: string
maximum: 1
minimum: 0
Version:
description: >
Version of the API used in the response.
type: string
maximum: 1
minimum: 1
$ref: "definitions/VNFPackageManagement_def.yaml#/definitions/VnfPkgInfo"
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
403:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
404:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
405:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
416:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
###############################################################################
# VNFD in an individual VNF package #
###############################################################################
'/vnf_packages/{vnfPkgId}/vnfd':
description: >
Identifier of the on-boarded VNF package. The identifier is
allocated by the NFVO.
This identifier can be retrieved from the "vnfPkgId"
attribute in the VnfPackageOnboardingNotification or
VnfPackageChangeNotification.
in: path
type: string
required: true
get:
description: >
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
The GET method reads the content of the VNFD within a VNF package.
The VNFD can be implemented as a single file or as a collection of
multiple files. If the VNFD is implemented in the form of multiple
files, a ZIP file embedding these files shall be returned. If the VNFD
is implemented as a single file, either that file or a ZIP file
embedding that file shall be returned.
The selection of the format is controlled by the "Accept" HTTP header
passed in the GET request.
* If the "Accept" header contains only "text/plain" and the VNFD is
implemented as a single file, the file shall be returned;
otherwise, an error message shall be returned.
* If the "Accept" header contains only "application/zip", the single
file or the multiple files that make up the VNFD shall be returned
embedded in a ZIP file.
* If the "Accept" header contains both "text/plain" and
"application/zip", it is up to the NFVO to choose the format to
return for a single-file VNFD; for a multi-file VNFD, a ZIP file
shall be returned.
The default format of the ZIP file shall be the one specified in
ETSI GS NFV-SOL 004 where only the YAML files representing the VNFD,
and information needed to navigate the ZIP file and to identify the
file that is the entry point for parsing the VNFD (such as TOSCA-meta
or manifest files or naming conventions) are included.
parameters:
- name: Accept
description: >
Content-Types that are acceptable for the response.
Permitted values: "text/plain" and/or "application/zip"
Reference: IETF RFC 7231
in: header
required: true
type: string
enum:
- text/plain
- application/zip
- name: Authorization
description: >
The authorization token for the request.
Reference: IETF RFC 7235
in: header
- name: Version
description: >
Version of the API requested to use when responding to this request.
in: header
required: true
type: string
Shall be returned when the content of the VNFD has been read successfully.
The payload body shall contain a copy of the file representing the VNFD or
a ZIP file that contains the file or multiple files representing the VNFD,
as specified above.
The "Content-Type" HTTP header shall be set according to the format of the
returned file, i.e. to "text/plain" for a YAML file or to "application/zip"
for a ZIP file.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
enum:
- text/plain
- application/zip
maximum: 1
minimum: 1
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.
type: string
maximum: 1
minimum: 0
Version:
description: >
Version of the API used in the response.
type: string
maximum: 1
minimum: 1
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
403:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
404:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
405:
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
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
406:
description: >
If the "Accept" header does not contain at least one name of
a content type for which the NFVO can provide a representation
of the VNFD, the NFVO shall respond with this response code.
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
409:
description: >
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".
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409"
416:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
'/onboarded_vnf_packages/{vnfdId}/vnfd':
parameters:
- name: vnfdId
description: >
Identifier of the VNFD and the VNF package.
The identifier is allocated by the VNF provider.
This identifier can be retrieved from the "vnfdId" attribute
in the VnfPackageOnboardingNotification or VnfPackageChangeNotification.
in: path
type: string
required: true
get:
description: >
Query VNF Package Info
The GET method reads the content of the VNFD within a VNF package.
The VNFD can be implemented as a single file or as a collection of
multiple files. If the VNFD is implemented in the form of multiple
files, a ZIP file embedding these files shall be returned. If the VNFD
is implemented as a single file, either that file or a ZIP file
embedding that file shall be returned.
The selection of the format is controlled by the "Accept" HTTP header
passed in the GET request.
* If the "Accept" header contains only "text/plain" and the VNFD is
implemented as a single file, the file shall be returned;
otherwise, an error message shall be returned.
* If the "Accept" header contains only "application/zip", the single
file or the multiple files that make up the VNFD shall be returned
embedded in a ZIP file.
* If the "Accept" header contains both "text/plain" and
"application/zip", it is up to the NFVO to choose the format to
return for a single-file VNFD; for a multi-file VNFD, a ZIP file
shall be returned.
The default format of the ZIP file shall be the one specified in
ETSI GS NFV-SOL 004 where only the YAML files representing the VNFD,
and information needed to navigate the ZIP file and to identify the
file that is the entry point for parsing the VNFD (such as TOSCA-meta
or manifest files or naming conventions) are included.
parameters:
- name: Accept
description: >
Content-Types that are acceptable for the response.
Permitted values: "text/plain" and/or "application/zip"
Reference: IETF RFC 7231
in: header
required: true
type: string
enum:
- text/plain
- application/zip
- text/plain+application/zip
- name: Authorization
description: >
The authorization token for the request.
Reference: IETF RFC 7235
in: header
required: false
type: string
- name: Version
description: >
Version of the API requested to use when responding to this request.
in: header
required: true
type: string
responses:
200:
description: >
200 OK
Shall be returned when the content of the VNFD has been read successfully.
The payload body shall contain a copy of the file representing the VNFD or
a ZIP file that contains the file or multiple files representing the VNFD,
as specified above.
The "Content-Type" HTTP header shall be set according to the format of the
returned file, i.e. to "text/plain" for a YAML file or to "application/zip"
for a ZIP file.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
enum:
- text/plain
- application/zip
maximum: 1
minimum: 1
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.
type: string
maximum: 1
minimum: 0
Version:
description: >
Version of the API used in the response.
type: string
maximum: 1
minimum: 1
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
403:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
404:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
405:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
description: >
If the "Accept" header does not contain at least one name of
a content type for which the NFVO can provide a representation
of the VNFD, the NFVO shall respond with this response code.
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
description: >
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".
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409"
416:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
###############################################################################
# VNF package content #
###############################################################################
'/vnf_packages/{vnfPkgId}/package_content':
Identifier of the VNF package. The identifier is
This identifier can be retrieved from the "vnfPkgId"
attribute in the VnfPackageOnboardingNotification or
VnfPackageChangeNotification.
in: path
type: string
required: true
get:
description: >
Fetch VNF Package.
The GET method fetches the content of a VNF package identified by the
VNF package identifier allocated by the NFVO.
This method shall follow the provisions specified in the tables
10.4.5.3.2-1 and 10.4.5.3.2-2 for URI query parameters, request
and response data structures, and response codes.
parameters:
- name: Accept
description: >
Content-Types that are acceptable for the response.
in: header
required: true
type: string
enum:
- text/plain
- application/zip
- name: Authorization
description: >
The authorization token for the request.
Reference: IETF RFC 7235
in: header
type: string
- name: Range
description: >
The request may contain a "Range" HTTP header to obtain single
range of bytes from the VNF package file. This can be used to
continue an aborted transmission.
If the NFVO does not support range requests, it should return the
whole file with a 200 OK response instead.
in: header
type: string
- name: Version
description: >
Version of the API requested to use when responding to this request.
in: header
required: true
type: string
Shall be returned when the whole content of the VNF package file has been read successfully.
The response body shall include a copy of the VNF package file.
The "Content-Type HTTP" header shall be set according to the type of the file,
i.e. to "application/zip" for a VNF Package as defined in ETSI GS NFV SOL 004.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
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.
type: string
maximum: 1
minimum: 0
Version:
description: >
Version of the API used in the response.
type: string
maximum: 1
minimum: 1
If the NFVO supports range requests, this response shall be returned when
a single consecutive byte range from the content of the VNF package file
has been read successfully according to the request.
The response body shall contain the requested part of the VNF package file.
The "Content-Range" HTTP header shall be provided according to IETF RFC 7233.
The "Content-Type" HTTP header shall be set as defined above for the "200 OK" response.
headers:
Content-Range:
type: string
maximum: 1
minimum: 1
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
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.
type: string
maximum: 1
minimum: 0
Version:
description: >
Version of the API used in the response.
type: string
maximum: 1
minimum: 1
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
403:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
404:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
405:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
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".
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409"
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").
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
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
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
'/onboarded_vnf_packages/{vnfdId}/package_content':
parameters:
- name: vnfdId
description: >
Identifier of the VNFD and the VNF package.
The identifier is allocated by the VNF provider.
This identifier can be retrieved from the "vnfdId" attribute
in the VnfPackageOnboardingNotification or VnfPackageChangeNotification.
in: path
type: string
required: true
get:
description: >
Fetch VNF Package.
The GET method fetches the content of a VNF package identified by the
VNF package identifier allocated by the NFVO.
This method shall follow the provisions specified in the tables
10.4.5.3.2-1 and 10.4.5.3.2-2 for URI query parameters, request
and response data structures, and response codes.
parameters:
- name: Accept
description: >
Content-Types that are acceptable for the response.
in: header
required: true
type: string
enum:
- text/plain
- application/zip
- name: Authorization
description: >
The authorization token for the request.
Reference: IETF RFC 7235
in: header
required: false
type: string
- name: Range
description: >
The request may contain a "Range" HTTP header to obtain single
range of bytes from the VNF package file. This can be used to
continue an aborted transmission.
If the NFVO does not support range requests, it should return the
whole file with a 200 OK response instead.
in: header
type: string
- name: Version
description: >
Version of the API requested to use when responding to this request.
in: header
required: true
type: string
responses:
200:
description: >
200 OK
Shall be returned when the whole content of the VNF package file has been read successfully.
The response body shall include a copy of the VNF package file.
The "Content-Type HTTP" header shall be set according to the type of the file,
i.e. to "application/zip" for a VNF Package as defined in ETSI GS NFV SOL 004.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
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.
type: string
maximum: 1
minimum: 0
Version:
description: >
Version of the API used in the response.
type: string
maximum: 1
minimum: 1
206:
description: >
206 PARTIAL CONTENT
If the NFVO supports range requests, this response shall be returned when
a single consecutive byte range from the content of the VNF package file
has been read successfully according to the request.
The response body shall contain the requested part of the VNF package file.
The "Content-Range" HTTP header shall be provided according to IETF RFC 7233.
The "Content-Type" HTTP header shall be set as defined above for the "200 OK" response.
headers:
Content-Range:
type: string
maximum: 1
minimum: 1
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
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.
type: string
maximum: 1
minimum: 0
Version:
description: >
Version of the API used in the response.
type: string
maximum: 1
minimum: 1
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
403:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
404:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
405:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
409:
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".
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409"
416:
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").
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
###############################################################################
# Individual VNF package artifact #
###############################################################################
'/vnf_packages/{vnfPkgId}/artifacts/{artifactPath}':
parameters:
- name: artifactPath
description: >
Samir Medjiah
committed
Sequence of one or more path segments representing the path of
the artifact within the VNF package, relative to the root of the package.
Samir Medjiah
committed
EXAMPLE: foo/bar/run.sh
This identifier can be retrieved from the "artifactPath" attribute
of the applicable "additionalArtifacts" entry in the body of the
response to a GET request querying the "Individual VNF package" or
in: path
type: string
required: true
Samir Medjiah
committed
Identifier of the VNF package. The identifier is
This identifier can be retrieved from the "vnfPkgId"
attribute in the VnfPackageOnboardingNotification or
VnfPackageChangeNotification.
in: path
type: string
required: true
get:
description: >
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:
- name: Accept
description: >
Content-Types that are acceptable for the response.
in: header
required: true
type: string
- name: Authorization
description: >
The authorization token for the request.
Reference: IETF RFC 7235
in: header
type: string
- name: Range
description: >