Newer
Older
Moreover, the identifier of the VIM connection provides scope to the resourceId.
Ikram Haq
committed
* NOTE 2: A link port is not needed for an external CP instance that exposes a CP in the following cases:
1) For a virtual IP CP directly exposed as an external CP:
1.1) No dedicated IP address is allocated as virtual IP address, as indicated in the VNFD.
1.2) A dedicated IP address is allocated as virtual IP address, but the NFVO indicates that no port is
needed (createExtLinkPort in VnfExtCpconfig set to false).
2) For a virtual IP CP exposed as an external CP via a floating IP address:
2.1) No dedicated IP address is allocated as virtual IP address, as indicated in the VNFD, and the VNFC
CP associated to the virtual IP CP is also exposed via a floating IP address.
3) For a VIRTUAL CP exposed as an external CP.
4) For a VNFC CP exposed as an external CP in a secondary container cluster external network.
* NOTE 3: An example of the network attachment definition resource when the container infrastructure service
management is a Kubernetes® instance is a network attachment definition (NAD).
- resourceId
- extCps
The identifier of the external VL instance. The identifier is
assigned by the NFV-MANO entity that manages this VL instance.
$ref: "#/definitions/Identifier"
vimConnectionId:
Identifier of the VIM connection to manage this resource. This
attribute shall only be supported and present if VNF-related
resource management in direct mode is applicable. See note 1.
$ref: "#/definitions/Identifier"
resourceProviderId:
description: >
Identifies the entity responsible for the management of this
resource. This attribute shall only be supported and present
if VNF-related resource management in indirect mode is applicable.
The identification scheme is outside the scope of the present
document.
$ref: "#/definitions/Identifier"
resourceId:
description: >
The identifier of the resource in the scope of the VIM or the
resource provider.
$ref: "#/definitions/IdentifierInVim"
extCps:
description: >
External CPs of the VNF to be connected to this external VL. Entries in the list of external
CP data that are unchanged need not be supplied if the ExtVirtualLinkData structure is part
of a request or response that modifies the external connectivity.
type: array
items:
$ref: "#/definitions/VnfExtCpData"
extLinkPorts:
description: >
Externally provided link ports to be used to connect
external connection points to this external VL. If this
attribute is not present, the VNFM shall create the link
ports on the external VL except in the cases defined
type: array
items:
$ref: "#/definitions/ExtLinkPortData"
Externally provided network attachment definition
resource(s) that provide the specification of the interface
to attach external CPs to this external VL. See note 3.
It is only applicable if the external VL is realized by a
secondary container cluster network. It shall not be
present otherwise.
type: array
items:
$ref: "#/definitions/NetAttDefResourceData"
ScaleInfo:
description: >
This type represents the scale level of a VNF instance related to a scaling aspect.
type: object
required:
- aspectId
- scaleLevel
properties:
aspectId:
description: >
Identifier of the scaling aspect.
$ref: "#/definitions/IdentifierInVnfd"
vnfdId:
description: >
Identifier of the VNFD.
Shall be present in case the value differs from the vnfdId
attribute of the VnfInstance (e.g. during a "Change
current VNF package" operation or due to its final
failure).
$ref: "#/definitions/Identifier"
scaleLevel:
description: >
Indicates the scale level. The minimum value shall be 0
and the maximum value shall be <= maxScaleLevel as
AdditionalResourceInfo:
description: >
This type represents additional resource information which resource and resource type
specific, and which is available from the VIM or the CISM or the resource provider.
* NOTE: At least one attribute shall be present.
type: object
properties:
hostName:
description: >
Name of the host where the resource is allocated. It shall
be present for compute resources in the scope of the
CISM and shall be absent otherwise. See note.
type: string
persistentVolume:
description: >
Name of the persistent volume to which the persistent
volume claim representing the storage resource is bound.
It may be present for storage resources in the scope of
the CISM and shall be absent otherwise. See note.
type: string
additionalInfo:
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
description: >
Information related to other properties directly owned by
the resource and available from the VIM or CISM or the
resource provider. See note.
$ref: "#/definitions/KeyValuePairs"
NetAttDefResourceData:
description: >
This type represents a network attachment definition resource that provides the specification of
the interface to be used to connect one or multiple connection points to a secondary container
cluster network realizing a VL.
type: object
required:
- netAttDefResourceId
- resourceHandle
properties:
netAttDefResourceId:
description: >
Identifier of this network attachment definition resource
as provided by the entity that has created it.
$ref: "#/definitions/Identifier"
resourceHandle:
description: >
Resource handle of the resource identifying the network
attachment definition resource that provides the
specification of the interface to attach the connection
points to a secondary container cluster network.
$ref: "#/definitions/ResourceHandle"
Identifier:
An identifier with the intention of being globally unique.
type: string
AffectedCertificate:
description: >
This type provides input information about added, deleted and modified certificate contents.
type: object
required:
- certificateInfoId
- changeType
properties:
certificateInfoId:
description: >
Identifier of certificate information.
$ref: "#/definitions/Identifier"
certificateBaseProfileId:
description: >
Identifier of certificate base profile.
$ref: "#/definitions/Identifier"
securityPolicyId:
description: >
Identifier of security policy.
$ref: "#/definitions/Identifier"
cmfInfoId:
description: >
Identifier of CMF information.
$ref: "#/definitions/Identifier"
certificateContentId:
description: >
Identifier of certificate content.
$ref: "#/definitions/Identifier"
changeType:
description: >
Signals the type of change.
type: string
enum:
- ADD
- REMOVE
- MODIFY
CertificateInfo:
description: >
Represents information about certificates, including configuration details and contents.
type: object
required:
- id
properties:
id:
description: >
Identifier of this certificate information.
$ref: "#/definitions/Identifier"
certificateConfigurationInfo:
description: >
Configuration for certificate management such as certificate profile, information of CMF, and security policy.
$ref: '#/definitions/CertificateConfigurationInfo'
certificateContents:
description: >
Information for contents of issued certificates. The information contained in this attribute may be
updated over time during the VNF LCM, e.g., certificate(s) renewal.
type: array
items:
$ref: '#/definitions/CertificateContent'
CertificateContent:
description: >
This type provides input information related to certificate content.
type: object
required:
- id
- certificateDescId
- certificateType
properties:
id:
description: Identifier of this certificate.
$ref: "#/definitions/Identifier"
certficateDescId:
description: Identifier of certificate description in VNFD to be used to issue this certificate.
$ref: "#/definitions/IdentifierInVnfd"
certificateType:
description: Type of this certificate.
enum:
- VNFCI_CERT
- VNFOAM_CERT
supportedCertificateManagements:
description: Describes supported certificate management information.
$ref: "#/definitions/KeyValuePairs"
version:
description: Version of this certificate.
$ref: "#/definitions/Version"
serialNumber:
description: Serial number of this certificate.
description: Algorithm of this certificate's signature.
description: Issuer of this certificate.
type: string
description: Start date of valid period for this certificate.
$ref: "#/definitions/DateTime"
description: End date of valid period for this certificate.
$ref: "#/definitions/DateTime"
description: Subject of this certificate.
type: string
description: Algorithm of this certificate's public key.
description: Public key of this certificate.
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
certificateExtensions:
$ref: "#/definitions/KeyValuePairs"
description: Extension of this certificate.
CertificateConfigurationInfo:
description: >
This type provides input information related to certificate management.
type: object
required:
- securityPolicy
properties:
certificateBaseProfile:
description: >
Information for certificate profile.
type: array
$ref: "#/definitions/CertificateBaseProfile"
securityPolicy:
description: >
Information for security policy to be satisfied for certificate.
type: array
items:
$ref: "#/definitions/SecurityPolicy"
delegationSupportedCertificateManagements:
description: >
Describes supported certificate management information.
$ref: "#/definitions/KeyValuePairs"
cmfInfo:
description: >
Information of CMF.
type: object
$ref: "#/definitions/CmfInfo"
SecurityPolicy:
description: >
This type provides input information related to security policy for certificate management.
description: Identifier of this security policy.
type: string
$ref: "#/definitions/Identifier"
maxValidityPeriod:
description: Allowed max validity period for certificates.
type: integer
allowedAlgorithm:
description: Allowed signature algorithm.
type: string
minimumKeyLength:
description: Minimum key length for certificates.
type: integer
CertificateBaseProfile:
description: >
This type provides input information to override certificate base profile for
certificate management
NOTE : At least one overriding attributes shall be present, otherwise shall be absent.
required:
- id
properties:
description: The identifier of this certificate profile.
type: string
$ref: "#/definitions/Identifier"
issuer:
type: string
description: Issuer of certificates. See note.
issuerUniqueIdentifier:
type: string
description: Identifier of this issuer of certificates. See note.
$ref: "#/definitions/Identifier"
subject:
description: Subject of certificates. See note.
$ref: '#/definitions/CertSubjectData'
subjectUniqueIdentifier:
description: Identifier of this subject of certificates. See note.
type: string
$ref: "#/definitions/Identifier"
basicConstraints:
type: string
description: >
Basic constraints of certificates. See note.
issuerAltName:
description: Alternative name of issuer of certificates in this NS. See note.
description: Alternative name of subject of certificates. Shall be present when this certificate is used for encrypted
communication using IP address and subjectAltName attribute of CertificateBaseProfile in CertificateDesc of
VNFD is empty (see ETSI GS NFV-IFA 011 [7],clause 7.1.19.4). See note
description: Name constraints of certificates. See note.
type: string
CertSubjectData:
description: >
This type provides input information related to subject of certificate.
* NOTE: At least one overriding attributes shall be present, otherwise shall be absent.
type: object
properties:
commonName:
description: Information of certification target subject FQDN. See note.
description: Information of certification target subject Organization. See note.
description: Information of certification target subject Country. See note.
description: Information of certification target subject State. See note.
description: Information of certification target subject Locality. See note.
description: Information of certification contact email address. See note.
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
DateTime:
description: >
Date-time stamp.
Representation: String formatted according to IETF RFC 3339.
type: string
format: date-time
Uri:
description: >
String formatted according to IETF RFC 3986.
type: string
Boolean:
description: >
The Boolean is a data type having two values (true and false).
type: boolean
MacAddress:
description: >
A MAC address. Representation: string that consists of groups of two hexadecimal digits,
separated by hyphens or colons.
type: string
format: MAC
IpAddress:
description: >
An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal
integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that
consists of groups of zero to four hexadecimal digits, separated by colons.
type: string
format: IP
Version:
description: >
A version.
type: string
String:
description: >
A string defined in IETF RFC 8259.
type: string
Number:
description: >
A number defined in IETF RFC 8259.
type: number
UnsignedInt:
description: >
Unsigned integer number
type: integer
minimum: 0
IdentifierInVnfd:
description: >
An identifier that is unique within a VNF descriptor.
type: string
IdentifierInVim:
description: >
An identifier maintained by the VIM or the CISM or other resource provider. It is
expected to be unique within the VIM instance.
type: string
IdentifierInVnf:
description: >
An identifier that is unique for the respective type within a VNF
instance, but may not be globally unique.
type: string
IdentifierLocal:
description: >
An identifier that is unique within a limited local scope other than above listed identifiers,
such as within a complex data structure or within a request-response pair.
Representation: string of variable length.
type: string
Checksum: #no definition found
description: >
Cheksum description
type: string
########################################################################################################################
# TO CHECK IF INCLUDE THESE DATA TYPES IN ANOTHER DEF FILES
VnfLinkPortData:
description: >
This type represents an externally provided link port to be used to connect a VNFC connection point
to an exernally managed VL.
type: object
required:
- vnfLinkPortId
- resourceHandle
properties:
vnfLinkPortId:
description: >
Identifier of this link port as provided by the entity that has created the link port.
$ref: "#/definitions/Identifier"
resourceHandle:
description: >
Resource handle of the virtualised resource that realizes the link port.
$ref: "#/definitions/ResourceHandle"
ExtLinkPortData:
description: >
This type represents an externally provided link port to be used to
connect an external connection point to an external VL.
* NOTE: The value of "trunkResourceId" is scoped by the value of "vimConnectionId" in the "resourceHandle" attribute.
type: object
required:
- id
- resourceHandle
properties:
id:
Identifier of this link port as provided by the entity that has
created the link port.
$ref: "#/definitions/Identifier"
resourceHandle:
Reference to the virtualised resource realizing this link port.
$ref: "#/definitions/ResourceHandle"
trunkResourceId:
description: >
Identifier of the trunk resource in the VIM.
Shall be present if the present link port corresponds to the parent
port that the trunk resource is associated with. See note.
$ref: "#/definitions/IdentifierInVim"
GrantedLcmOperationType:
description: >
The enumeration GrantedLcmOperationType defines the permitted values
to represent VNF lifecycle operation types in grant requests.
Value | Description
------|------------
INSTANTIATE | Represents the "Instantiate VNF" LCM operation.
SCALE | Represents the "Scale VNF" LCM operation.
SCALE_TO_LEVEL | Represents the "Scale VNF to Level" LCM operation.
CHANGE_FLAVOUR | Represents the "Change VNF Flavour" LCM operation.
TERMINATE | Represents the "Terminate VNF" LCM operation.
HEAL | Represents the "Heal VNF" LCM operation.
OPERATE | Represents the "Operate VNF" LCM operation.
CHANGE_EXT_CONN | Represents the "Change external VNF connectivity" LCM operation.
CHANGE_VNFPKG | Represents the "Change current VNF package" LCM operation.
CREATE_SNAPSHOT | Represents the "Create VNF snapshot" LCM operation.
REVERT_TO_SNAPSHOT | Represents the "Revert to VNF snapshot" LCM operation.
type: string
enum:
- INSTANTIATE
- SCALE
- SCALE_TO_LEVEL
- CHANGE_FLAVOUR
- TERMINATE
- HEAL
- OPERATE
- CHANGE_EXT_CONN
- CHANGE_VNFPKG
- CREATE_SNAPSHOT
- REVERT_TO_SNAPSHOT
LcmOperationType:
description: >
The enumeration LcmOpType defines the permitted values to represent
VNF lifecycle operation types in VNF lifecycle management operation
occurrence resources and VNF lifecycle management operation occurrence
Value | Description
------|------------
INSTANTIATE | Represents the "Instantiate VNF" LCM operation.
SCALE | Represents the "Scale VNF" LCM operation.
SCALE_TO_LEVEL | Represents the "Scale VNF to Level" LCM operation.
CHANGE_FLAVOUR | Represents the "Change VNF Flavour" LCM operation.
TERMINATE | Represents the "Terminate VNF" LCM operation.
HEAL | Represents the "Heal VNF" LCM operation.
OPERATE | Represents the "Operate VNF" LCM operation.
CHANGE_EXT_CONN | Represents the "Change external VNF connectivity" LCM operation.
MODIFY_INFO | Represents the "Modify VNF Information" LCM operation.
CREATE_SNAPSHOT | Represents the "Create VNF Snapshot" LCM operation.
REVERT_TO_SNAPSHOT | Represents the “Revert-To VNF Snapshot" LCM operation.
CHANGE_VNFPKG | Represents the "Change current VNF package" LCM operation.
SELECT_DEPL_MODS | Represents the "Select VNF deployable modules" LCM operation
type: string
enum:
- INSTANTIATE
- SCALE
- SCALE_TO_LEVEL
- CHANGE_FLAVOUR
- TERMINATE
- HEAL
- OPERATE
- CHANGE_EXT_CONN
- CREATE_SNAPSHOT
- REVERT_TO_SNAPSHOT
- CHANGE_VNFPKG
ProblemDetails:
#SOL003 location: 4.3.5.3
description: >
The definition of the general "ProblemDetails" data structure from
IETF RFC 7807 is reproduced inthis structure. Compared to the
general framework defined in IETF RFC 7807, the "status" and
"detail" attributes are mandated to be included by the present document,
to ensure that the response contains additional textual information about
an error. IETF RFC 7807 foresees extensibility of the
"ProblemDetails" type. It is possible that particular APIs in the present
document, or particular implementations, define extensions to define
additional attributes that provide more information about the error.
The description column only provides some explanation of the meaning to
Facilitate understanding of the design. For a full description, see
type: object
required:
- status
- detail
properties:
type:
description: >
A URI reference according to IETF RFC 3986 that identifies the
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
problem type. It is encouraged that the URI provides human-readable
documentation for the problem (e.g. using HTML) when dereferenced.
When this member is not present, its value is assumed to be
"about:blank".
type: string
format: URI
title:
description: >
A short, human-readable summary of the problem type. It should not
change from occurrence to occurrence of the problem, except for
purposes of localization. If type is given and other than
"about:blank", this attribute shall also be provided.
A short, human-readable summary of the problem
type. It SHOULD NOT change from occurrence to occurrence of the
problem, except for purposes of localization (e.g., using
proactive content negotiation; see [RFC7231], Section 3.4).
type: string
status:
description: >
The HTTP status code for this occurrence of the problem.
The HTTP status code ([RFC7231], Section 6) generated by the origin
server for this occurrence of the problem.
type: integer
detail:
description: >
A human-readable explanation specific to this occurrence of the
problem.
type: string
instance:
description: >
A URI reference that identifies the specific occurrence of the
problem. It may yield further information if dereferenced.
type: string
format: URI
#TODO: How to express "any additional attributes"?
* NOTE 1 : The clientId and clientPassword passed in a subscription shall not be the same as the clientId and
clientPassword that are used to obtain authorization for API requests. Client credentials may differ between
subscriptions. The value of clientPassword should be generated by a random process.
* NOTE 2: As a less secure alternative to OAUTH2_CLIENT_CERT which uses mutual authentication based on X.509
certificates, this mode which uses client password to authenticate may be used in the access token request
toward the authorization server (as defined by IETF RFC 6749 [7]), only to support legacy implementations
(version 3.4.1 or earlier version of the present document). See clause 8.1 for more details.
* NOTE 3: The following values that were included up to version 3.4.1 of the present document have been removed:
"BASIC" (to signal the use of the basic HTTP authentication) has been removed because it is insecure.
"TLS_CERT" to signal an alternative non-token based authorization method using TLS certificates has been
removed because the method is no longer supported.
* NOTE 4: The client certificate is established by means outside the scope of the present document.
Defines the types of Authentication / Authorization which the API
consumer is willing to accept when receiving a notification.
Permitted values (see note 3):
* OAUTH2_CLIENT_CREDENTIALS: In every
HTTP request to the notification endpoint, use
an OAuth 2.0 token, obtained using the client
credentials grant type after authenticating
using client identifier and client password
towards the token endpoint.
* OAUTH2_CLIENT_CERT: In every HTTP
request to the notification endpoint, use an
OAuth 2.0 token, obtained using the client
credentials grant type after mutually
authenticating using client identifier and X.509
certificates towards the token endpoint.
type: string
enum:
- OAUTH2_CLIENT_CREDENTIALS
- OAUTH2_CLIENT_CERT
paramsOauth2ClientCert:
Parameters for authentication/authorization using
OAUTH2_CLIENT_CERT.
Shall be present if authType is "OAUTH2_CLIENT_CERT" and the contained
information has not been provisioned out of band.
Shall be absent otherwise.
type: object
required:
- clientId
- certificateRef
- tokenEndpoint
clientId:
Client identifier to be used in the access token request
of the OAuth 2.0 client credentials grant type. The client
identifier is unique in the scope of the tokenEndpoint.
certificateRef:
Fingerprint of the client certificate. The hash function
shall use SHA256 or higher. See note 4.
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
required:
- type
- value
properties:
type:
description: >
The type of the fingerprint.
Permitted values:
- x5t#S256: The SHA-256 thumbprint of the
X.509 certificate as defined in section 4.1.8 of
IETF RFC 7515 [23].
$ref: "#/definitions/String"
enum:
- x5t#S256
value:
description: >
The fingerprint value as defined by the type.
$ref: "#/definitions/String"
tokenEndpoint:
description: >
The token endpoint from which the access token can be
obtained.
$ref: "#/definitions/Uri"
paramsOauth2ClientCredentials:
description: >
Parameters for authentication/authorization using
OAUTH2_CLIENT_CREDENTIALS.
Shall be present if authType is
"OAUTH2_CLIENT_CREDENTIALS" and the contained
information has not been provisioned out of band.
See note 2.
type: object
properties:
clientId:
description: >
Client identifier to be used in the access token request
of the OAuth 2.0 client credentials grant type. The client
identifier is unique in the scope of the tokenEndpoint.
Shall be present if it has not been provisioned out of
band.
See note 1.
type: string
clientPassword:
description: >
Client password to be used in the access token request
of the OAuth 2.0 client credentials grant type. Shall be
present if it has not been provisioned out of band. See
note 1.
type: string
tokenEndpoint:
description: >
The token endpoint from which the access token can be obtained.
Shall be present if it has not been provisioned out of band.
$ref: "#/definitions/Uri"
LcmCoordResultType:
description: >
The enumeration LcmCoordResultType defines the permitted values
to represent the result of executing an LCM coordination action.
The coordination result also implies the action to be performed by
the VNFM as the follow-up to this coordination.
Value | Description
------|------------
CONTINUE | The related LCM operation shall be continued, staying in the state "PROCESSING".
ABORT | The related LCM operation shall be aborted by transitioning into the state "FAILED_TEMP".
CANCELLED | The coordination action has been cancelled upon request of the API consumer, i.e. the VNFM.
The related LCM operation shall be aborted by transitioning into the state "FAILED_TEMP".
type: string
enum:
- CONTINUE
- ABORT
- CANCELLED
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
LcmOperationForCoordType:
description: >
The enumeration LcmOperationForCoordType defines the permitted values to
represent VNF lifecycle operation types in VNF LCM operation coordination actions.
* INSTANTIATE: Represents the "Instantiate VNF" LCM operation.
* SCALE: Represents the "Scale VNF" LCM operation.
* SCALE_TO_LEVEL: Represents the "Scale VNF to Level" LCM operation.
* CHANGE_FLAVOUR: Represents the "Change VNF Flavour" LCM operation.
* TERMINATE: Represents the "Terminate VNF" LCM operation.
* HEAL: Represents the "Heal VNF" LCM operation.
* OPERATE: Represents the "Operate VNF" LCM operation.
* CHANGE_EXT_CONN: Represents the "Change external VNF connectivity" LCM operation.
* MODIFY_INFO: Represents the "Modify VNF Information" LCM operation.
* CREATE_SNAPSHOT: Represents the "Create VNF Snapshot" LCM operation.
* REVERT_TO_SNAPSHOT: Represents the "Revert To VNF Snapshot" LCM operation.
* CHANGE_VNFPKG: Represents the "Change current VNF package" LCM operation.
type: string
enum:
- INSTANTIATE
- SCALE
- SCALE_TO_LEVEL
- CHANGE_FLAVOUR
- TERMINATE
- HEAL
- OPERATE
- CHANGE_EXT_CONN
- MODIFY_INFO
- CREATE_SNAPSHOT
- REVERT_TO_SNAPSHOT
- CHANGE_VNFPKG