Newer
Older
rameshnaraya
committed
definitions:
VnfPkgInfo:
type: object
required:
- id
rameshnaraya
committed
- onboardingState
- operationalState
moscatelli
committed
- usageState
rameshnaraya
committed
properties:
id:
description: >
Identifier of the VNF package. This identifier is allocated by the NFVO.
Samir Medjiah
committed
$ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
rameshnaraya
committed
vnfdId:
description: >
This identifier, which is managed by the
VNF provider, identifies the VNF package and the VNFD in a globally unique way.
It is copied from the VNFD of the on boarded VNF package. It shall be present
after the VNF package content has been on-boarded and absent otherwise.
Samir Medjiah
committed
$ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
rameshnaraya
committed
vnfProvider:
description: >
Provider of the VNF package and the VNFD. This information is copied from the VNFD.
It shall be present after the VNF package content has been on-boarded and absent otherwise.
type: string
vnfProductName:
description: >
Name to identify the VNF product.Invariant for the VNF product lifetime.
This information is copied from the VNFD. It
shall be present after the VNF package content has been on-boarded and absent otherwise.
type: string
vnfSoftwareVersion:
description: >
Software version of the VNF. This is
changed when there is any change to the
software included in the VNF package.
This information is copied from the VNFD.
It shall be present after the VNF package
content has been on-boarded and absent otherwise.
Samir Medjiah
committed
$ref: "../../definitions/SOL005_def.yaml#/definitions/Version"
rameshnaraya
committed
vnfdVersion:
description: >
The version of the VNFD. This information
is copied from the VNFD. It shall be
present after the VNF package content
has been on-boarded and absent otherwise.
Samir Medjiah
committed
$ref: "../../definitions/SOL005_def.yaml#/definitions/Version"
compatibleSpecificationVersions:
description: >
Indicates which versions of the ETSI
GS NFV-SOL 004 [5] specification the
package complies to, as defined in the
manifest of the package. Each entry shall
be formatted as defined in clause 4.3.2 of
ETSI GS NFV-SOL 004 [5].
$ref: "../../definitions/SOL005_def.yaml#/definitions/Version"
rameshnaraya
committed
checksum:
description: >
Checksum of the on-boarded VNF
package. It shall be present after the VNF
package content has been on-boarded and absent otherwise.
Samir Medjiah
committed
$ref: "../../definitions/SOL005_def.yaml#/definitions/Checksum"
packageSecurityOption:
description: >
Signals the security option used by the
package as defined in clause 5.1 of ETSI
GS NFV-SOL 004 [5].
Valid values: OPTION_1, OPTION_2
type: string
enum:
- OPTION_1
- OPTION_2
signingCertificate:
description: >
The singleton signing certificate if it is
included as a file in the VNF package.
type: string
rameshnaraya
committed
softwareImages:
description: >
Information about VNF package artifacts that are software images.
This attribute shall not be present before the VNF package content is on-boarded.
Otherwise, this attribute shall be present unless it has been requested to be
excluded per attribute selector.
type: "array"
moscatelli
committed
items:
rameshnaraya
committed
$ref: "#/definitions/VnfPackageSoftwareImageInfo"
additionalArtifacts:
description: >
Information about VNF package artifacts
contained in the VNF package that are not software images.
This attribute shall not be present before
the VNF package content is on-boarded.
Otherwise, this attribute shall be present if
the VNF package contains additional artifacts.
type: "array"
moscatelli
committed
items:
$ref: "#/definitions/VnfPackageArtifactInfo"
onboardingState:
description: >
On-boarding state of the VNF package.
moscatelli
committed
$ref: "#/definitions/PackageOnboardingStateType"
operationalState:
description: >
Operational state of the VNF package.
moscatelli
committed
$ref: "#/definitions/PackageOperationalStateType"
usageState:
description: >
Usage state of the VNF package.
moscatelli
committed
$ref: "#/definitions/PackageUsageStateType"
vnfmInfo:
description: >
Specifies VNFMs compatible with the VNF.
This information is copied from the VNFD.
See note 4.
type: array
items:
type: string
userDefinedData:
description: >
Usage state of the VNF package.
Samir Medjiah
committed
$ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs"
onboardingFailureDetails:
description: >
Failure details of current onboarding
procedure. See clause 6.3 of ETSI
GS NFV-SOL 013 [16] for the details of
"ProblemDetails" structure.
If "onboardingState" is "ERROR", this
attribute shall be present and contain error
information (such as failed onboarding or
processing operation, affected artifact,
etc.), unless it has been requested to be
excluded via an attribute selector.
$ref: "../../definitions/SOL005_def.yaml#/definitions/ProblemDetails"
_links:
type: object
description: >
Links to resources related to this resource.
required:
- self
moscatelli
committed
- packageContent
properties:
self:
description: >
URI of this resource.
Samir Medjiah
committed
$ref: "../../definitions/SOL005_def.yaml#/definitions/Link"
Link to the "VNFD in an individual VNF package" resource.
Samir Medjiah
committed
$ref: "../../definitions/SOL005_def.yaml#/definitions/Link"
packageContent:
description: >
Link to the "VNF package content" resource.
Samir Medjiah
committed
$ref: "../../definitions/SOL005_def.yaml#/definitions/Link"
moscatelli
committed
rameshnaraya
committed
description: >
This type represents an artifact other than a software image which is contained in or external to a VNF package.
It shall comply with provisions defined in Table 9.5.3.3-1.
rameshnaraya
committed
required:
rameshnaraya
committed
type: object
properties:
rameshnaraya
committed
description: >
Path which identifies the artifact and also allows to
access a copy of the artifact.
For an artifact contained as a file in the VNF package,
this attribute shall be present, and the value of this
attribute shall start with the name of the first segment in
the path in the package, i.e. it shall not be prefixed by
path separator characters such as "." and "/".
For an external artifact represented as a URI in the VNF
descriptor, this attribute shall be present if the artifact has
been downloaded by the NFVO and shall be absent
otherwise. If present, it shall contain the artifactPath
under which the artifact can be obtained using the
"Individual artifact in a VNF package" resource defined in
clause 9.4.7. It is the responsibility of the NFVO to
synthesize this path in a manner that avoids any collision
of the synthesized artifact path with the paths and names
of artifacts included in the package.
Samir Medjiah
committed
$ref: "../../definitions/SOL005_def.yaml#/definitions/String"
artifactURI:
description: >
URI of the artifact as defined in the VNF package
manifest. Shall be present if the artifact is external to the
package and shall be absent otherwise.
EXAMPLE: https://example.com/m%40ster.sh
$ref: "../../definitions/SOL005_def.yaml#/definitions/Uri"
rameshnaraya
committed
description: >
Samir Medjiah
committed
$ref: "../../definitions/SOL005_def.yaml#/definitions/Checksum"
isEncrypted:
description: >
Reflects whether the artifact is encrypted (true) or not (false).
type: boolean
nonManoArtifactSetId:
description: >
Non-MANO artifact set identifier of the non-MANO artifact
set to which the artifact belongs, as defined in
clause 4.3.7 of ETSI GS NFV-SOL 004 [5]. Shall be
provided if the artifact is a non-MANO artifact, and shall
be omitted otherwise.
type: string
artifactClassification:
description: >
Marks specific types of artifacts as defined in the VNF
package. If none of the specific classes listed below
applies, the attribute shall not be present.
Valid values:
- HISTORY: a history artifact as per clause 4.3.3
in ETSI GS NFV-SOL 004 [5]
- TESTING: a testing artifact as per clause 4.3.4
in ETSI GS NFV-SOL 004 [5]
- LICENSE: a license artifact as per clause 4.3.5
in ETSI GS NFV-SOL 004 [5]
type: string
enum:
- HISTORY
- TESTING
- LICENSE
metadata:
description: >
The metadata of the artifact that are available in the
VNF package, such as Content type, size, creation date, etc.
Samir Medjiah
committed
$ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs"
moscatelli
committed
rameshnaraya
committed
PkgmLinks:
description: >
This type represents the links to resources that a VNF package management notification can contain.
required:
- vnfPackage
- subscription
type: object
properties:
vnfPackage:
description: >
Link to the resource representing the VNF package to
which the notified change applies, i.e. the "Individual
VNF package" resource that represents the VNF package.
$ref: "../../definitions/SOL005_def.yaml#/definitions/NotificationLink"
rameshnaraya
committed
subscription:
description: >
Link to the related subscription.
$ref: "../../definitions/SOL005_def.yaml#/definitions/NotificationLink"
moscatelli
committed
rameshnaraya
committed
VnfPackageSoftwareImageInfo:
description: >
This type represents an artifact contained inor external to a VNF package which represents a software image.
rameshnaraya
committed
required:
- id
- name
- provider
- version
moscatelli
committed
- checksum
rameshnaraya
committed
- containerFormat
- diskFormat
- createdAt
moscatelli
committed
- minDisk
rameshnaraya
committed
- minRam
moscatelli
committed
- size
- imagePath
rameshnaraya
committed
type: object
properties:
id:
description: >
Name of the algorithm used to generate the checksum,
as defined in ETSI GS NFV-SOL 004 [5]. For example, SHA-256, SHA-512.
Samir Medjiah
committed
$ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd"
rameshnaraya
committed
name:
description: >
Name of the software image.
type: string
provider:
description: >
Provider of the software image.
moscatelli
committed
type: string
rameshnaraya
committed
version:
description: >
Version of the software image.
Samir Medjiah
committed
$ref: "../../definitions/SOL005_def.yaml#/definitions/Version"
rameshnaraya
committed
checksum:
description: >
Checksum of the software image file.
Samir Medjiah
committed
$ref: "../../definitions/SOL005_def.yaml#/definitions/Checksum"
isEncrypted:
description: >
Reflects whether the image is encrypted (true) or not (false).
type: boolean
rameshnaraya
committed
containerFormat:
description: >
Container format indicates whether the software image
is in a file format that also contains meta-data about the actual software.
rameshnaraya
committed
Permitted values:
- AKI: a kernel image format
- AMI: a machine image format
- ARI: a ram disk image format
- BARE: the image does not have a container or meta-data envelope
rameshnaraya
committed
- DOCKER: docker container format
rameshnaraya
committed
- OVF: OVF container format
type: string
enum:
- AKI
- AMI
- ARI
- BARE
- DOCKER
- OVA
moscatelli
committed
- OVF
rameshnaraya
committed
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
diskFormat:
description: >
Disk format of a software image is the format of the
underlying disk image.
Permitted values:
- AKI: a kernel image format
- AMI: a machine image format
- ARI: a ramdisk image format
- ISO: an archive format for the data contents of an
optical disc, such as CD-ROM
- QCOW2: a common disk image format, which can
expand dynamically and supports copy on write
- RAW: an unstructured disk image format
- VDI: a common disk image format
- VHD: a common disk image format
- VHDX: enhanced version of VHD format
- VMDK: a common disk image format
type: string
enum:
- AKI
- AMI
- ARI
- ISO
- QCOW2
- RAW
- VDI
- VHD
- VHDX
moscatelli
committed
- VMDK
rameshnaraya
committed
createdAt:
description: >
Time when this software image was created.
Samir Medjiah
committed
$ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime"
rameshnaraya
committed
minDisk:
description: >
The minimal disk for this software image in bytes.
type: integer
moscatelli
committed
minimum: 0
rameshnaraya
committed
minRam:
description: >
The minimal RAM for this software image in bytes.
type: integer
moscatelli
committed
minimum: 0
rameshnaraya
committed
size:
description: >
Size of this software image in bytes.
type: integer
moscatelli
committed
minimum: 0
rameshnaraya
committed
userMetadata:
description: >
User-defined data.
Samir Medjiah
committed
$ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs"
rameshnaraya
committed
imagePath:
description: >
Path in the VNF package, which identifies the image
artifact and also allows to access a copy of the image
artifact. For a software image contained as a file in
the VNF package, this attribute shall be present, and
the value of this attribute shall start with the name
of the first segment in the path in the package, i.e.,
it shall not be prefixed by path separator characters
such as "." and "/".
EXAMPLE: foo/bar/m%40ster.vhd
For an external software image represented as a URI in
the VNF descriptor, this attribute shall be present if
the image artifact has been downloaded by the NFVO and
shall be absent otherwise. If present, it shall contain
the artifactPath under which the image artifact can be
obtained using the "Individual artifact in a VNF package"
resource defined in clause 9.4.7. It is the responsibility
of the NFVO to synthesize this path in a manner that avoids
any collision of the synthesized artifact path with the paths
and names of image artifacts included in the package.
rameshnaraya
committed
type: string
imageUri:
description: >
URI of the image artifact as defined in the VNF package manifest.
Shall be present if the image artifact is external to the VNF
package and shall be absent otherwise.
EXAMPLE: https://example.com/m%40ster.vhd
$ref: "../../definitions/SOL005_def.yaml#/definitions/Uri"
rameshnaraya
committed
NsdOperationalStateType:
type: "string"
moscatelli
committed
description: >
rameshnaraya
committed
"The enumeration NsdOperationalStateType shall comply with the provisions
defined in Table 5.5.4.3-1 of GS NFV_SOL 005. It indicates the operational
state of the resource.ENABLED = The operational state of the resource
is enabled. DISABLED = The operational state of the resource is disabled."
enum:
moscatelli
committed
- "ENABLED"
- "DISABLED"
rameshnaraya
committed
PackageOperationalStateType:
type: "string"
moscatelli
committed
description: >
rameshnaraya
committed
"The enumeration PackageOperationalStateType shall
comply with the provisions defined in Table 9.5.4.4-1."
Acceptable values are:
- ENABLED - The VNF package is enabled, i.e. it can be used for instantiation of new VNF instances.
- DISABLED - The VNF package is disabled, i.e. it cannot be used for further VNF instantiation requests
(unless and until the VNF package is re-enabled).
rameshnaraya
committed
enum:
PackageOnboardingStateType:
description: >
The enumeration PackageOnboardingStateType shall comply with the provisions defined in Table 9.5.4.3-1.
Permitted values:
- CREATED: The VNF package resource has been created.
- UPLOADING: The associated VNF package content is being uploaded.
- PROCESSING: The associated VNF package content is being processed, e.g. validation.
- ONBOARDED: The associated VNF package content is successfully on-boarded.
- ERROR: There was an error during upload of the VNF package content or external artifacts, or during VNF package processing.
type: string
enum:
- CREATED
- UPLOADING
- PROCESSING
moscatelli
committed
- ONBOARDED
rameshnaraya
committed
PackageUsageStateType:
type: "string"
moscatelli
committed
description: >
rameshnaraya
committed
"The enumeration PackageUsageStateType shall comply with the provisions.
Acceptable values are:
- IN_USE: "Individual VNF instance" resources created from this VNF package exist.
- NOT_IN_USE: - No "individual VNF instance" resource created from this VNF package exists.
rameshnaraya
committed
enum:
moscatelli
committed
- "IN_USE"
- "NOT_IN_USE"
rameshnaraya
committed
CreateVnfPkgInfoRequest:
type: "object"
properties:
userDefinedData:
Samir Medjiah
committed
$ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs"
moscatelli
committed
description: >
IndividualVNF package resource creation parameters, as defined
in clause 9.5.2.2.
rameshnaraya
committed
VnfPkgInfoModifications:
description: >
This type represents modifications to the information of a VNF package.
It shall comply with the provisions defined in Table 9.5.2.3-1.
properties:
operationalState:
description: >
New value of the operational state of the on-boarded
instance of the VNF package.
$ref: "#/definitions/PackageOperationalStateType"
userDefinedData:
moscatelli
committed
description: >
rameshnaraya
committed
User defined data to be updated. For existing keys, the value is replaced.
Samir Medjiah
committed
$ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs"
moscatelli
committed
rameshnaraya
committed
UploadVnfPkgFromUriRequest:
moscatelli
committed
description: >
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
This type represents the request parameters for uploading the content of a VNF package. The NFVO can obtain the
VNF package content through the information provided in the request parameters. It shall comply with the provisions
defined in Table 9.5.2.4-1.
type: object
required:
- addressInformation
properties:
addressInformation:
description: >
Address information of the VNF package
content. The NFVO can use this address to
obtain the VNF package
$ref: "../../definitions/SOL005_def.yaml#/definitions/Uri"
authType:
description: >
Defines the type of authentication /
authorization for downloading the VNF
package.
Permitted values:
- BASIC: Only the "username" and
"password" attributes shall be
present.
- OAUTH2_CLIENT_CREDENTIAL
S: Only the
"paramsOauth2ClientCredentials"
attribute shall be present.
This attribute shall not be present if no
credentials are provided for the artifact.
type: string
enum:
- BASIC
- OAUTH2_CLIENT_CREDENTIALS
username:
description: >
User name to be used for authentication.
type: string
password:
description: >
Password to be used for authentication.
Shall not be present in response bodies.
type: string
paramsOauth2ClientCredentials:
description: >
Parameters for authentication/authorization
using OAuth 2.0.
type: object
required:
- clientId
- clientPassword
- tokenEndpoint
properties:
clientId:
description: >
Client identifier to be used in the access
token request of the OAuth 2.0 client
credentials grant type.
type: string
clientPassword:
description: >
Client password to be used in the access
token request of the OAuth 2.0 client
credentials grant type. Shall not be present
in response bodies.
type: string
tokenEndpoint:
description: >
Client password to be used in the access
token request of the OAuth 2.0 client
credentials grant type. Shall not be present
in response bodies.
$ref: "../../definitions/SOL005_def.yaml#/definitions/Uri"
moscatelli
committed
rameshnaraya
committed
PkgmSubscription:
description: >
This type represents a subscription related to notifications about VNF package management.
type: object
required:
- id
- callbackUri
- _links
properties:
id:
description: >
Identifier of this "Individual subscription" resource.
Samir Medjiah
committed
$ref: "../../definitions/SOL005_def.yaml#/definitions/Uri"
rameshnaraya
committed
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: "#/definitions/PkgmNotificationsFilter"
callbackUri:
description: >
The URI of the endpoint to send the notification to
Samir Medjiah
committed
$ref: "../../definitions/SOL005_def.yaml#/definitions/Uri"
rameshnaraya
committed
_links:
description: >
Links to resources related to this resource.
type: object
required:
- self
properties:
self:
description: >
URI of this resource.
Samir Medjiah
committed
$ref: "../../definitions/SOL005_def.yaml#/definitions/Link"
moscatelli
committed
rameshnaraya
committed
PkgmSubscriptionRequest:
description: >
This type represents a subscription request related to VNF package management
notifications about VNF package on boarding or changes.
rameshnaraya
committed
type: object
required:
- callbackUri
properties:
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: "#/definitions/PkgmNotificationsFilter"
callbackUri:
description: >
The URI of the endpoint to send the notification to.
Samir Medjiah
committed
$ref: "../../definitions/SOL005_def.yaml#/definitions/Uri"
rameshnaraya
committed
authentication:
description: >
Authentication parameters to conFigure the use of
authorization when sending notifications corresponding
to this subscription, as defined in clause 8.3.4 of ETSI GS NFV SOL 013.
rameshnaraya
committed
This attribute shall only be present if the subscriber
requires authorization of notifications.
Samir Medjiah
committed
$ref: "../../definitions/SOL005_def.yaml#/definitions/SubscriptionAuthentication"
rameshnaraya
committed
PkgmNotificationsFilter:
description: >
This type represents a subscription filter related to notifications related to VNF package management.
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).
moscatelli
committed
type: object
rameshnaraya
committed
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
properties:
notificationTypes:
description: >
Match particular notification types.
Permitted values:
- VnfPackageOnboardingNotification
- VnfPackageChangeNotification
type: string
enum:
- VnfPackageOnboardingNotification
- VnfPackageChangeNotification
vnfProductsFromProviders:
description: >
If present, match VNF packages that contain VNF products from certain providers.
type: array
items:
type: object
required:
- vnfProvider
properties:
vnfProvider:
description: >
Name of the VNFprovider to match.
type: string
vnfProducts:
description: >
If present, match VNF packages that contain
VNF products with certain product names, from
one particular provider.
type: array
items:
type: object
required:
- vnfProductName
properties:
vnfProductName:
description: >
Name of the VNF product to match.
type: string
versions:
description: >
If present, match VNF packages that contain
VNF products with certain versions and a
certain product name, from one particular
provider.
type: array
items:
type: object
required:
moscatelli
committed
- vnfSoftwareVersion
rameshnaraya
committed
properties:
vnfSoftwareVersion:
description: >
VNF software version to match
Samir Medjiah
committed
$ref: "../../definitions/SOL005_def.yaml#/definitions/Version"
rameshnaraya
committed
vnfdVersions:
description: >
If present, match VNF packages that contain
VNF products with certain VNFD versions, a
certain software version and a certain product
name, from one particular provider.
moscatelli
committed
type: array
rameshnaraya
committed
items:
Samir Medjiah
committed
$ref: "../../definitions/SOL005_def.yaml#/definitions/Version"
rameshnaraya
committed
vnfdId:
description: >
Match VNF packages with a VNFD identifier
listed in the attribute.
type: array
items:
Samir Medjiah
committed
$ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
rameshnaraya
committed
vnfPkgId:
description: >
Match VNF packages with a package identifier
listed in the attribute.
May be present if the "notificationTypes"
attribute contains the value
"VnfPackageChangeNotification", and shall be
absent otherwise.
type: array
items:
Samir Medjiah
committed
$ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
rameshnaraya
committed
operationalState:
description: >
Match VNF packages with a package identifier
listed in the attribute.
May be present if the "notificationTypes"
attribute contains the value
"VnfPackageChangeNotification", and shall be
absent otherwise.
type: array
items:
moscatelli
committed
$ref: "#/definitions/PackageOperationalStateType"
rameshnaraya
committed
usageState:
description: >
Match particular usage state of the on-boarded VNF package.
May be present if the "notificationTypes"
attribute contains the value
"VnfPackageChangeNotification", and shall be
absent otherwise.
type: array
items:
vnfmInfo:
description: >
Match strings that specify VNFMs compatible with the VNF. See Table 9.5.2.5-1.
type: array
items:
type: string
moscatelli
committed
moscatelli
committed
description: >
The enumeration PackageChangeType shall comply with the provisions defined in Table 9.5.4.6-1.
Permitted Values:
- OP_STATE_CHANGE: The "operationalState" attribute has been changed.
- PKG_DELETE: The VNF package has been deleted.
enum:
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
- PKG_DELETE
ExternalArtifactsAccessConfig:
description: >
This type represents the access configuration information for downloading external VNF package artifacts. The NFVO
can obtain the external VNF package artifact file through the information provided in this structure, together with
information provided in the manifest / VNFD. The data structure shall comply with the provisions defined in
Table 9.5.2.10-1. If the data structure is part of a response body, security-sensitive attributes shall be excluded as
specified in Table 9.5.2.10-1.
type: object
properties:
artifact:
description: >
Access configuration information for an external artefact.
type: object
required:
- artifactUri
properties:
artifactUri:
description: >
The artifactUri attribute as defined in the
VNF package manifest that identifies the
external artifact for which the access
configuration information is provided, and
that provides the default download location
for this artifact.
$ref: "../../definitions/SOL005_def.yaml#/definitions/Uri"
overrideUri:
description: >
The Uri from which the external artifact can
be downloaded. If this attribute is present,
the NFVO shall download from this
address. If this attribute is not present, the
NFVO shall download from the address
provided in "artifactUri"
$ref: "../../definitions/SOL005_def.yaml#/definitions/Uri"
authType:
description: >
Defines the type of authentication /
authorization for downloading the VNF
package.
Permitted values:
- BASIC: Only the "username" and
"password" attributes shall be
present.
- OAUTH2_CLIENT_CREDENTIAL
S: Only the
"paramsOauth2ClientCredentials"
attribute shall be present.
This attribute shall not be present if no
credentials are provided for the artifact.
type: string
enum:
- BASIC
- OAUTH2_CLIENT_CREDENTIALS
username:
description: >
User name to be used for authentication.
type: string
password:
description: >
Password to be used for authentication.
Shall not be present in response bodies.
type: string
paramsOauth2ClientCredentials:
description: >
Parameters for authentication/authorization
using OAUTH2_CLIENT_CREDENTIALS.
type: object
required:
- clientId
- clientPassword
- tokenEndpoint
properties:
clientId:
description: >
Client identifier to be used in the access
token request of the OAuth 2.0 client
credentials grant type.
type: string
clientPassword:
description: >
Client password to be used in the access
token request of the OAuth 2.0 client
credentials grant type. Shall not be present
in response bodies.
type: string
tokenEndpoint:
description: >
Client password to be used in the access
token request of the OAuth 2.0 client
credentials grant type. Shall not be present
in response bodies.
$ref: "../../definitions/SOL005_def.yaml#/definitions/Uri"