diff --git a/docker/Dockerfile b/docker/Dockerfile index b2bc21580d5bfed368756d3b9ca38b3051a135d3..38f0e96bd81fbccc2124cfaca242d54c52583613 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -13,6 +13,8 @@ RUN apk add openjdk8 RUN apk add ca-certificates wget && update-ca-certificates RUN apk add openssl RUN gem install rdoc -v 6.3.3 || gem install rdoc -v 6.3.3 +RUN gem install public_suffix -v 4.0.7 +RUN gem install css_parser -v 1.12.00 RUN gem install asciidoctor-pdf-cjk RUN wget https://forge.etsi.org/swagger2markup-cli-1.3.2.jar RUN npm config set proxy $http_proxy diff --git a/src/SOL002/APIVersion/APIVersion.yaml b/src/SOL002/APIVersion/APIVersion.yaml index 31c9890598fb73d71000bddb6ed7e7f01470e2c3..cd7d50bcdfd8f40477e3bb9da3d7a8c992f54066 100644 --- a/src/SOL002/APIVersion/APIVersion.yaml +++ b/src/SOL002/APIVersion/APIVersion.yaml @@ -19,8 +19,8 @@ info: version: 1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 002 V4.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/04.05.01_60/gs_NFV-SOL002v040501p.pdf + description: ETSI GS NFV-SOL 002 V5.1.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/05.01.01_60/gs_NFV-SOL002v050101p.pdf paths: /vnfconfig/api_versions: diff --git a/src/SOL002/General_Definitions/SOL002_def.yaml b/src/SOL002/General_Definitions/SOL002_def.yaml index ea4e80c0d67266c162838437780887ccf69f53c6..8a6d6ed348d546f3c6fc9bb9215e4b0b70dedf37 100644 --- a/src/SOL002/General_Definitions/SOL002_def.yaml +++ b/src/SOL002/General_Definitions/SOL002_def.yaml @@ -1,4 +1,4 @@ -# Copyright (c) ETSI 2017. +# Copyright (c) ETSI 2024. # https://forge.etsi.org/etsi-forge-copyright-notice.txt definitions: @@ -131,7 +131,217 @@ definitions: structure, and whether or not this attribute is available, is dependent on the type of the PaaS Service. $ref: "#/definitions/KeyValuePairs" + ResourceCapacityDefinition: + description: > + This type represents selected values for capacity related VDU attributes. + + * NOTE: Resource definitions not related to a VDU are not considered in this version of the present document. + + type: object + required: + - type + properties: + tag: + description: + Tag assigned by the issuer of a VNF LCM operation request that contains this data type with values to be applied to a VDU. + It is used for tracking purposes. The tag is preserved in the run time record as long as at least one value of the capacity + related attributes associated with that tag is still valid, i.e., it has not been modified by a later VNF LCM operation request. + At most one tag can be included when the data type is used in a VNF LCM operation request. + When the data type is used in the VnfInstance data type it may contain multiple tags, namely those provided in + VNF LCM requests, if at least one of the values provided in that request associated to that tag is still + applicable in the VNFCs created from this VDU, i.e., it has not been modified by a later request. + type: array + items: + $ref: "#/definitions/String" + type: + description: + Type of the resource definition referenced. + VALUES + • COMPUTE + • STORAGE + • OSCONTAINER + type: string + enum: + - COMPUTE + - STORAGE + - OSCONTAINER + vduId: + description: + Reference to the related Vdu applicable to this resource in the VNFD. It shall be present + when the referenced resource definition is related to a VDU. See note. + $ref: "#/definitions/IdentifierInVnfd" + osContainerDescData: + description: + Indicates values for resource capacity related attributes in an OsContainerDesc. It shall be present when the + attribute ‘type’ indicates OSCONTAINER and absent otherwise. + type: array + items: + $ref: "#/definitions/OsContainerDescData" + virtualComputeDescData: + description: + Indicates values for resource capacity related attributes in an OsContainerDesc. + It shall be present when the attribute 'type' indicates OSCONTAINER and absent otherwise. + $ref: "#/definitions/VirtualComputeDescData" + virtualStorageDescData: + description: > + Indicates the value for the storage size related attribute in an VirtualStorageDesc. + It shall be present when the attribute 'type' indicates STORAGE and absent otherwise. + type: array + items: + $ref: "#/definitions/VirtualStorageDescData" + OsContainerDescData: + description: > + This type represents selected values for capacity related VDU attributes of an OsContainer resource. + + * NOTE: At least one of the attributes shall be present. + type: object + required: + - resourceTemplateId + oneOf: + - required: + - resourceTemplateId + - required: + - requestedCpuResources + - required: + - requestedMemoryResources + - required: + - requestedEphemeralStorageResources + - required: + - extendedResourceRequests + - required: + - cpuResourceLimit + - required: + - memoryResourceLimit + - required: + - ephemeralStorageResourceLimit + - required: + - hugePageResources + properties: + resourceTemplateId: + description: > + Identifier of an osContainerDesc in the VNFD. + $ref: "#/definitions/IdentifierInVnfd" + requestedCpuResources: + description: > + Number of CPU resources requested for the container in milli-CPU. See note. + type: integer + requestedMemoryResources: + description: > + Amount of memory resources requested for the container expressed in the same units as specified in the + requested_memory_resources_valid_values property in VNFD for this container descriptor. See note. + type: array + items: + $ref: "#/definitions/Number" + requestedEphemeralStorageResources: + description: > + Size of ephemeral storage resources requested for the container expressed in the same units as specified in the + requested_ephemeral_storage_resources_valid_values property VNFD. + $ref: "#/definitions/Number" + extendedResourceRequests: + description: > + Map of the amount of extended resources of the type indicated in the key. + The key is a string that identifies an extended resource indicated in the extended_resource_requests + property in the VNFD for this container descriptor. + The value is an integer that indicates the required amount for a particular extended resource.See note. + type: object + additionalProperties: + type: integer + cpuResourceLimit: + description: > + Number of CPU resources the container can maximally use in milli-CPU. See note. + type: integer + memoryResourceLimit: + description: > + Amount of memory resources the container can maximally use expressed in the same units as specified in the + memory_resource_limit_valid_values property VNFD for this container descriptor. See note. + $ref: "#/definitions/Number" + ephemeralStorageResourceLimit: + description: > + Size of ephemeral storage resources the container can maximally use expressed in the same units as specified in + the ephemeral_storage_resource_limit_valid_values property VNFD for this container descriptor. See note. + $ref: "#/definitions/Number" + hugePageResources: + description: > + Map of the total size values required for all the hugepages of the size indicated in the key. + The key is a string and corresponds to one of the values of the hugepage sizes indicated in the huge_pages_resources + property in the VNFD for this container descriptor. + The value is a number that indicates the required total size expressed in the same units as in the huge_pages_resources_property + in the VNFD that indicates the valid values for required total size for the particular hugepage size. + See note. + type: object + additionalProperties: + $ref: "#/definitions/Number" + VirtualComputeDescData: + description: > + This type represents selected values for capacity related VDU attributes of the virtual compute resource of a VM. + * NOTE: At least one of the attributes shall be present. + type: object + required: + - resourceTemplateId + oneOf: + - required: + - resourceTemplateId + - required: + - numVirtualCpu + - required: + - virtualMemSize + - required: + - sizeOfVirtualDisk + - required: + - hugePagesRequirements + properties: + resourceTemplateId: + description: > + Identifier of a VirtualComputeDesc in the VNFD. + $ref: "#/definitions/IdentifierInVnfd" + numVirtualCpu: + description: > + Number of virtual CPUs. See note. + type: integer + virtualMemSize: + description: > + Amount of virtual Memory expressed in the same units as specified in the virtual_mem_size_valid_values property + in the VNFD for this virtual compute descriptor. See note. + $ref: "#/definitions/Number" + sizeOfVirtualDisk: + description: > + Size of virtualised storage resource expressed in the same units as specified in the size_of_storage_valid_values + property in the VNFD for this virtual compute descriptor. See note. + $ref: "#/definitions/Number" + hugePagesRequirements: + description: > + Map of the total size values required for all the hugepages of the size indicated in the key. + The key is a string and corresponds to one of the values of the hugepage sizes indicated in the huge_pages_requirements + property in the VNFD for this virtual compute descriptor. + The value is a number that indicates the required total size expressed in the same units as in the huge_pages_requirements + property in the VNFD that indicates the valid values for required total size for the particular hugepage size. + See note. + type: object + additionalProperties: + $ref: "#/definitions/Number" + + VirtualStorageDescData: + description: > + This type represents selected values for capacity related VDU attributes of the virtual storage resource. + type: object + required: + - resourceTemplateId + - sizeOfStorage + properties: + resourceTemplateId: + description: > + Identifier of a VirtualStorageDesc in the VNFD. + $ref: "#/definitions/IdentifierInVnfd" + sizeOfStorage: + description: > + If the ‘typeOfStorage’ attribute in the VirtualStorageDesc referenced by the resourceTemplateId indicates BLOCK or FILE it is + the size of the virtualized storage resource, expressed in the same units as specified in the size_of_storage_valid_values + property in the VNFD. + If the ‘typeOfStorage’ attribute in the VirtualStorageDesc referenced by the resourceTemplateId indicates OBJECT it is the + maximum size of the virtualized storage resource expressed in the same units as specified in the max_size_of_storage_valid_values + property in the VNFD. + $ref: "#/definitions/Number" CmfInfo: description: > This type provides input information related to CMF for certificate management. @@ -236,7 +446,7 @@ definitions: anyOf: - oneOf: - required: - - vnfdId + - vnfdIds - required: - vnfProductsFromProviders - oneOf: @@ -319,6 +529,56 @@ definitions: items: type: string + MonitoringConnection: + description: > + The MonitoringConnection shall follow the indications. + * NOTE: The VNFM can be made aware of monitoring connection information, including their identifiers to + be used by configuration means outside the scope of the present document (e.g. using relevant NFV-MANO management + APIs as defined in ETSI GS NFV-SOL 009). + type: object + required: + - id + - monitoringType + properties: + id: + description: > + Identifier of the monitoring connection. See note. + $ref: "#/definitions/Identifier" + monitoringType: + description: > + Type of monitoring way. + VALUES: + • VIM_CISM + • EXTERNAL + • PAAS + type: string + enum: + - VIM_CISM + - EXTERNAL + - PAAS + vimId: + description: > + Information about VIM or CISM connection(s) for monitoring resources for the VNF instance. + Can be set when MonitoringType is equal to “VIM_CISM”. + $ref: "#/definitions/Identifier" + paasServiceId: + description: > + Information about PaasAsset to be used. Can be set when MonitoringType is equal to “PAAS”. + $ref: "#/definitions/Identifier" + interfaceInfo: + description: > + Information about the interface(s) to the external monitoring tool, if available, including interface + endpoint e.g. URL API version, and protocol type. Can be set when MonitoringType is equal to “EXTERNAL”. + $ref: "#/definitions/KeyValuePairs" + accessInfo: + description: > + Authentication credentials for accessing the external monitoring tool. Examples can include those to support + different authentication schemes, e.g. OAuth, Token, Username/password, etc. Can be set when MonitoringType is equal to “EXTERNAL”. + $ref: "#/definitions/KeyValuePairs" + extra: + description: > + Type specific additional information, if applicable. + $ref: "#/definitions/String" ResourceHandle: required: - resourceId @@ -680,8 +940,8 @@ definitions: description: > This type represents network address data for a virtual CP. - * NOTE 1: If the container cluster is set up to be able to configure an external load balancer this address will be used, - otherwise it will be ignored by the CISM. + * NOTE 1: The loadBalancerIp and the loadBalancerSourceRanges attributes are only used if the + CIS cluster is set up to be able to configure an external load balancer. Otherwise, it shall be ignored. * NOTE 2: In case the cluster can configure an external load balancer but no loadBalancerIp is provided the container cluster will assign an IP address. @@ -690,7 +950,7 @@ definitions: address pools for virtual CPs. Otherwise it shall be ignored. MetalLB is an example of a solution for Kubernetes® that supports configuration of address pools for load balancer services. - * NOTE 4: The loadBalancerIp and the addressPoolName attributes shall not be present at the same time. + * NOTE 4: The loadBalancerIp, addressPoolName and the externalIp attributes shall not be present at the same time. type: object required: @@ -709,12 +969,30 @@ definitions: Fixed address to assign to an external load balancer. See notes 1, 2 and 4. $ref: "#/definitions/IpAddress" + externalIp: + description: > + An external IP address assigned to the virtual CP. This IP address is not managed by CISM. See note 4. + $ref: "#/definitions/IpAddress" addressPoolName : description: > - Name of an address pool from which the container - cluster will assign an IP address to the virtual CP. See - notes 3 and 4. + Name of an address pool from which the CIS cluster will assign an IP address to the virtual CP. See notes 3 and 4. type: string + loadBalancerSourceRanges: + description: > + List of client IP address ranges allowed to access an external load balancer. See note 1. + type: object + required: + - minAddress + - maxAddress + properties: + minAddress: + description: > + Lowest IP address belonging to the range. + $ref: "#/definitions/IpAddress" + maxAddress: + description: > + Highest IP address belonging to the range. + $ref: "#/definitions/IpAddress" ExtVirtualLinkData: description: > @@ -1387,9 +1665,18 @@ definitions: SubscriptionAuthentication: description: > - * NOTE: 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 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. type: object required: - authType @@ -1398,59 +1685,110 @@ definitions: description: > Defines the types of Authentication / Authorization which the API consumer is willing to accept when receiving a notification. - Permitted values: - * OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the - notification endpoint, use an OAuth 2.0 Bearer token, obtained - using the client credentials grant type. + 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: array items: type: string enum: - OAUTH2_CLIENT_CREDENTIALS - paramsBasic: + - OAUTH2_CLIENT_CERT + paramsOauth2ClientCert: description: > - Parameters for authentication/authorization using BASIC. - Shall be present if authType is "BASIC" and the contained - information has not been provisioned out of band. + 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 properties: - userName: + clientId: description: > - Username to be used in HTTP Basic authentication. Shall be - present if it has not been provisioned out of band. + 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. type: string - password: + certificateRef: description: > - Password to be used in HTTP Basic authentication. Shall be - present if it has not been provisioned out of band. + Fingerprint of the client certificate. The hash function + shall use SHA256 or higher. See note 4. type: string + 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. + + Shall be present if authType is + "OAUTH2_CLIENT_CREDENTIALS" and the contained + information has not been provisioned out of band. + Shall be absent otherwise. + + 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. - Shall be present if it has not been provisioned out of band. See note. + 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. + 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 diff --git a/src/SOL002/VNFConfiguration/VNFConfiguration.yaml b/src/SOL002/VNFConfiguration/VNFConfiguration.yaml index d948f053aac5685d0c0235aec77456bbf32b579e..e83c89ff0cf29891dfd3b423260215def35cc95e 100644 --- a/src/SOL002/VNFConfiguration/VNFConfiguration.yaml +++ b/src/SOL002/VNFConfiguration/VNFConfiguration.yaml @@ -19,8 +19,8 @@ info: version: 1.12.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 002 V4.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/04.05.01_60/gs_NFV-SOL002v040501p.pdf + description: ETSI GS NFV-SOL 002 V5.1.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/05.01.01_60/gs_NFV-SOL002v050101p.pdf servers: - url: http://127.0.0.1/vnfconfig/v1 diff --git a/src/SOL002/VNFConfiguration/definitions/SOL002VNFConfiguration_def.yaml b/src/SOL002/VNFConfiguration/definitions/SOL002VNFConfiguration_def.yaml index 00d7299806447b79565b107897d7497f363f1eaf..1b63db8b4c73f87a8ca323311cce1985cf98a394 100644 --- a/src/SOL002/VNFConfiguration/definitions/SOL002VNFConfiguration_def.yaml +++ b/src/SOL002/VNFConfiguration/definitions/SOL002VNFConfiguration_def.yaml @@ -1,4 +1,4 @@ -# Copyright (c) ETSI 2017. +# Copyright (c) ETSI 2024. # https://forge.etsi.org/etsi-forge-copyright-notice.txt definitions: diff --git a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml index 4e4d9f0c3d3547ef2910498129827c443304fe34..53c31f154aec26a3f70524edc6a3715e540ded23 100644 --- a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml @@ -16,11 +16,11 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 1.12.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 1.14.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 002 V4.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/04.05.01_60/gs_NFV-SOL002v040501p.pdf + description: ETSI GS NFV-SOL 002 V5.1.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/05.01.01_60/gs_NFV-SOL002v050101p.pdf servers: - url: http://127.0.0.1/vnffm/v1 @@ -404,7 +404,7 @@ components: IndividualAlarmRequest: description: The parameter for the alarm modification content: - application/json: + application/merge-patch+json: schema: $ref: definitions/SOL002VNFFaultManagement_def.yaml#/definitions/AlarmModifications required: true diff --git a/src/SOL002/VNFFaultManagement/definitions/SOL002VNFFaultManagement_def.yaml b/src/SOL002/VNFFaultManagement/definitions/SOL002VNFFaultManagement_def.yaml index 81306b1b0847e42caf206c559c59cd94c3bc63e8..1989bef2f9469b25de4f115de9c7a0be39fdd8c3 100644 --- a/src/SOL002/VNFFaultManagement/definitions/SOL002VNFFaultManagement_def.yaml +++ b/src/SOL002/VNFFaultManagement/definitions/SOL002VNFFaultManagement_def.yaml @@ -47,6 +47,9 @@ definitions: managedObjectId: description: > Identifier of the affected VNF instance. + The managed objects for this information element will be VNF instances. A VNF instance can have + fault monitored sub-object types and identification information is carried as defined in the + respective Alarm definition, e.g., using the "faultDetails" attribute. $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier" vnfcInstanceIds: description: > @@ -95,6 +98,8 @@ definitions: perceivedSeverity: description: > Perceived severity of the managed object failure. + Valid values applicable to specific Alarms are specified as "Perceived severity" values of + the Alarm applicable to Ve-Vnfm reference point. $ref: "#/definitions/PerceivedSeverityType" eventTime: description: > @@ -102,18 +107,24 @@ definitions: $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/DateTime" eventType: description: > - Type of event. + Type of event. + Valid values applicable to specific Alarms are specified as "Event type" values of the + Alarm applicable to Ve-Vnfm reference point. $ref: "#/definitions/EventType" type: string faultType: description: > Additional information to clarify the type of the fault. + Valid values applicable to specific Alarms are specified as "Alarm definition identifier" + values of the Alarm applicable to Ve-Vnfm reference point. If the alarm is related to changes in the state of virtualised resources due to NFVI operation and maintenance, this attribute shall be set to "NFVI_OAM_VIRTUALISED_RESOURCE_STATE _CHANGE". type: string probableCause: description: > Information about the probable cause of the fault. + Valid values applicable to specific Alarms are specified as "Probable cause" + values of the Alarm applicable to Ve-Vnfm reference point. If the attribute "faultType" has the value “NFVI_OAM_VIRTUALISED_RESOURCE_STATE_CHANGE”, the permitted values are: - "NFVI_COMPONENT_MAINTENANCE": Maintenance of NFVI components, e.g. physical maintenance/repair, @@ -137,6 +148,8 @@ definitions: faultDetails: description: > Provides additional information about the fault. See notes 1 and 2. + Valid values applicable to specific Alarms are specified as "Fault details" values + of the Alarm applicable to Ve-Vnfm reference point. type: array items: type: string @@ -275,6 +288,13 @@ definitions: description: > The URI of the endpoint to send the notification to. $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Uri" + pmJobConnection: + description: > + An access information and interface information to monitor the FM of VNF instance by the VNFM. + This can include for instance certain interface endpoint URI together with necessary credentials to access it. + type: array + items: + $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/MonitoringConnection" _links: description: > Links for this resource. diff --git a/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml b/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml index 8d0b91f5f3d77c67346e8a4e25e667db35ed6fc3..c70155cbbb1e1382b3acd5d8f503b32dc468f264 100644 --- a/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml +++ b/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml @@ -16,11 +16,11 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 1.12.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 1.14.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 002 V4.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/04.05.01_60/gs_NFV-SOL002v040501p.pdf + description: ETSI GS NFV-SOL 002 V5.1.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/05.01.01_60/gs_NFV-SOL002v050101p.pdf servers: - url: http://127.0.0.1/callback/v1 diff --git a/src/SOL002/VNFIndicator/VNFIndicator.yaml b/src/SOL002/VNFIndicator/VNFIndicator.yaml index 6dea5bb9427bc550c5351d3da47edbeaafdb7e24..2dbba70bbb759d629397de356826475909173d1c 100644 --- a/src/SOL002/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL002/VNFIndicator/VNFIndicator.yaml @@ -16,11 +16,11 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 1.12.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 1.13.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 002 V4.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/04.05.01_60/gs_NFV-SOL002v040501p.pdf + description: ETSI GS NFV-SOL 002 V5.1.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/05.01.01_60/gs_NFV-SOL002v050101p.pdf servers: - url: http://127.0.0.1/vnfind/v1 diff --git a/src/SOL002/VNFIndicator/definitions/SOL002VNFIndicator_def.yaml b/src/SOL002/VNFIndicator/definitions/SOL002VNFIndicator_def.yaml index ae52d2ad08dde07325c604c0232eee146b96e4cd..6c172e3fc60326e8dc886024d5342785ddae29c1 100644 --- a/src/SOL002/VNFIndicator/definitions/SOL002VNFIndicator_def.yaml +++ b/src/SOL002/VNFIndicator/definitions/SOL002VNFIndicator_def.yaml @@ -1,4 +1,4 @@ -# Copyright (c) ETSI 2017. +# Copyright (c) ETSI 2024. # https://forge.etsi.org/etsi-forge-copyright-notice.txt definitions: @@ -31,6 +31,13 @@ definitions: description: > Identifier of the "Individual VNF instance" which provides the indicator value. $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier" + vnfcInstanceIds: + description: > + The vnfcInstanceIds attribute is optionally present. If present, it contains the list of + identifiers of VNFC instances which provide the indicator value(s). + type: array + items: + $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnfd" _links: description: > Links for this resource. diff --git a/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml b/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml index e773f9e8119e294756134c939bd99af0b738d276..4ce485b1e0dc0d5e21827e09535ef7da1879876d 100644 --- a/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml +++ b/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml @@ -16,11 +16,11 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 1.12.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 1.13.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 002 V4.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/04.05.01_60/gs_NFV-SOL002v040501p.pdf + description: ETSI GS NFV-SOL 002 V5.1.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/05.01.01_60/gs_NFV-SOL002v050101p.pdf servers: - url: http://127.0.0.1/callback/v1 diff --git a/src/SOL002/VNFIndicatorNotification/definitions/SOL002VNFIndicatorNotification_def.yaml b/src/SOL002/VNFIndicatorNotification/definitions/SOL002VNFIndicatorNotification_def.yaml index 373266c65663ca9a349c98733c9e26a66e209d9d..f7f0330faef541734cde567925c7807bf6b44125 100644 --- a/src/SOL002/VNFIndicatorNotification/definitions/SOL002VNFIndicatorNotification_def.yaml +++ b/src/SOL002/VNFIndicatorNotification/definitions/SOL002VNFIndicatorNotification_def.yaml @@ -1,4 +1,4 @@ -# Copyright (c) ETSI 2017. +# Copyright (c) ETSI 2024. # https://forge.etsi.org/etsi-forge-copyright-notice.txt definitions: diff --git a/src/SOL002/VNFLifecycleCoordination/VNFLifecycleCoordination.yaml b/src/SOL002/VNFLifecycleCoordination/VNFLifecycleCoordination.yaml index a6d2a748fb98dac9f435048db3cf2f1ce677166c..f6d0fb8a66a146132e9179f69746dc0f4df7ea23 100644 --- a/src/SOL002/VNFLifecycleCoordination/VNFLifecycleCoordination.yaml +++ b/src/SOL002/VNFLifecycleCoordination/VNFLifecycleCoordination.yaml @@ -19,8 +19,8 @@ info: version: 1.12.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 002 V4.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/04.05.01_60/gs_NFV-SOL002v040501p.pdf + description: ETSI GS NFV-SOL 002 V5.1.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/05.01.01_60/gs_NFV-SOL002v050101p.pdf servers: - url: http://127.0.0.1/lcmcoord/v1 diff --git a/src/SOL002/VNFLifecycleCoordination/definitions/SOL002VNFLifecycleCoordination_def.yaml b/src/SOL002/VNFLifecycleCoordination/definitions/SOL002VNFLifecycleCoordination_def.yaml index 1a2dc0b818697a1b481156e367b1149730370ded..cae8cc3a395bdf1237376fb335ddf5b8529d22a2 100644 --- a/src/SOL002/VNFLifecycleCoordination/definitions/SOL002VNFLifecycleCoordination_def.yaml +++ b/src/SOL002/VNFLifecycleCoordination/definitions/SOL002VNFLifecycleCoordination_def.yaml @@ -1,4 +1,4 @@ -# Copyright (c) ETSI 2017. +# Copyright (c) ETSI 2024. # https://forge.etsi.org/etsi-forge-copyright-notice.txt definitions: diff --git a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml index 179e56d1d86637e72ef739d72d4f8089e03aa10d..e036a9f3c8f38677d3bd4918ee6bace32f1178a8 100644 --- a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -16,11 +16,11 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 2.12.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 2.14.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 002 V4.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/04.05.01_60/gs_NFV-SOL002v040501p.pdf + description: ETSI GS NFV-SOL 002 V5.1.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/05.01.01_60/gs_NFV-SOL002v050101p.pdf servers: - url: http://127.0.0.1/vnflcm/v2 @@ -1414,7 +1414,7 @@ components: VnfInstanceModificationRequest: description: Input parameters for VNF info modification content: - application/json: + application/merge-patch+json: schema: $ref: definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/VnfInfoModificationRequest required: true diff --git a/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml index b8597b9da1c8a78bf6c3ba97a780301db8f4bc75..64dacb0d73ce33a06f74d17180a87fb3df80a5be 100644 --- a/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml +++ b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml @@ -1,4 +1,4 @@ -# Copyright (c) ETSI 2017. +# Copyright (c) ETSI 2024. # https://forge.etsi.org/etsi-forge-copyright-notice.txt definitions: @@ -179,6 +179,16 @@ definitions: type: array items: $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnfd" + resourceCapacityDefinition: + description: > + Shows current values of VDU attributes related to resource capacity, if different to the default + values from the VNFD, as indicated in the (one or more) request(s) of all completed VNF LCM operation(s) that + contain this attribute. If an attribute value has been modified multiple times, only the last value is shown. + The values indicated in this attribute are applicable to all VNFC instances based on the VDU to which the + resourceCapacityDefinition is related. + type: array + items: + $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/ResourceCapacityDefinition" extCpInfo: description: > Information about the external CPs exposed by the VNF instance. When trunking is enabled, the list of @@ -410,8 +420,10 @@ definitions: SelectVnfDeployableModulesRequest: description: > This type represents request parameters for the "Select VNF deployable modules" operation. - * NOTE: Thus, the select VNF deployable modules operation cannot be used as a scale VNF operation to scale VNFCs - that were already instantiated + * NOTE 1: Thus, the select VNF deployable modules operation cannot be used as a scale VNF operation to + horizontally scale VNFCs that were already instantiated. + * NOTE 2: Thus, the select VNF deployable modules operation cannot be used as a scale VNF operation to + vertically scale VNFCs that were already instantiated. type: object properties: selectedDeployableModule: @@ -437,6 +449,17 @@ definitions: type: array items: $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/ScaleInfo" + resourceCapacityDefinition: + description: > + Indicates values for resource capacity related attributes pertaining to a descriptor. Values can only be + provided for resource capacity related attributes that have been defined in the VNFD as being configurable. + Furthermore, provided values shall be within the allowed values indicated in the VNFD. + This attribute should only contain information about resource capacity related attributes of VDUs that will be + used to instantiate VNFCs as a result of this operation. If it contains information about attributes of other + VDUs it shall be ignored. See note 2. + type: array + items: + $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/ResourceCapacityDefinition" additionalParams: description: > Additional parameters passed by the NFVO as input to the selection of deployable modules process, specific to @@ -466,11 +489,6 @@ definitions: lifecycle of the VNF, as a result of a change of the selected deployable modules any of those VNFCs is going to be instantiated, the stored information determines the number of instances, unless the request that triggered the change also contains information about the number of instances. - anyOf: - - required: - - instantiationLevelId - - required: - - targetScaleLevelInfo type: object required: - flavourId @@ -540,9 +558,14 @@ definitions: type: array items: $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnfd" - - - + resourceCapacityDefinition: + description: > + Indicates values for resource capacity related attributes pertaining to a descriptor. Values can only be + provided for resource capacity related attributes that have been defined in the VNFD as being configurable. + Furthermore, provided values shall be within the allowed values indicated in the VNFD. + type: array + items: + $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/ResourceCapacityDefinition" ChangeVnfFlavourRequest: description: > This type represents request parameters for the "Change VNF flavour" operation. @@ -627,6 +650,14 @@ definitions: type: array items: $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnfd" + resourceCapacityDefinition: + description: > + Indicates values for resource capacity related attributes pertaining to a descriptor. Values can only be + provided for resource capacity related attributes that have been defined in the VNFD as being configurable. + Furthermore, provided values shall be within the allowed values indicated in the VNFD. + type: array + items: + $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/ResourceCapacityDefinition" certificateConfigurationData: description: > Configuration for certificate management such as certificate profile and security policy in this VNF. Can be @@ -676,6 +707,8 @@ definitions: $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs" HealVnfRequest: + description: > + This type represents request parameters for the "Heal VNF" operation. type: object properties: vnfcInstanceId: @@ -701,17 +734,39 @@ definitions: Provides link to a script that should be executed as part of the healing action or a set of rules for healing procedure. type: string - + healingResource: + description: > + Indicates the kinds of the virtual resource to be healed. + Permitted values: + • VL + • LINKPORT + • STORAGE + • VIRTUALCP + • COMPUTE + • OSCONTAINER + + Default value is COMPUTE when the VDUs of the VNF are realized by a set of virtual machines and + OSCONTAINER when the VDUs of the VNF are realized by a set of OS containers. + type: array + items: + type: string + enum: + - VL + - LINKPORT + - STORAGE + - VIRTUALCP + - COMPUTE + - OSCONTAINER OperateVnfRequest: description: > This type represents request parameters for the "Operate VNF" operation. * NOTE: The "stopType" and "gracefulStopTimeout" attributes shall be absent, when the "changeStateTo" - attribute is equal to "STARTED". The "gracefulStopTimeout" attribute shall be present, when the - "changeStateTo" is equal to "STOPPED" and the "stopType" attribute is equal to "GRACEFUL". - The "gracefulStopTimeout" attribute shall be absent, when the "changeStateTo" attribute is equal to - "STOPPED" and the "stopType" attribute is equal to "FORCEFUL". The request shall be treated as if - the "stopType" attribute has been set to "FORCEFUL", when the "changeStateTo" attribute is equal - to "STOPPED" and the "stopType" attribute is absent. + attribute is equal to "STARTED". The "gracefulStopTimeout" attribute shall be present, when the + "changeStateTo" is equal to "STOPPED" and the "stopType" attribute is equal to "GRACEFUL". + The "gracefulStopTimeout" attribute shall be absent, when the "changeStateTo" attribute is equal to + "STOPPED" and the "stopType" attribute is equal to "FORCEFUL". The request shall be treated as if + the "stopType" attribute has been set to "FORCEFUL", when the "changeStateTo" attribute is equal + to "STOPPED" and the "stopType" attribute is absent. type: object required: - changeStateTo @@ -794,6 +849,8 @@ definitions: towards the VIM. * NOTE 2: Component mappings are defined in the VNFD in the source or destination package for the relevant change path. See clause 7.1.15.2 in ETSI GS NFV-IFA 011 [7]. + * NOTE 3: In the current version of the present document, only Rolling upgrade and Blue-green upgrade types + are supported. The definition of additional upgrade types is left for future specification. type: object required: - vnfdId @@ -851,6 +908,14 @@ definitions: type: array items: $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnfd" + resourceCapacityDefinition: + description: > + Indicates values for resource capacity related attributes pertaining to a descriptor. Values can only be + provided for resource capacity related attributes that have been defined in the VNFD as being configurable. + Furthermore, provided values shall be within the allowed values indicated in the VNFD. + type: array + items: + $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/ResourceCapacityDefinition" certificateConfigurationData: description: > Configuration for certificate management such as certificate profile and security policy in this VNF. @@ -858,7 +923,17 @@ definitions: shall not be present. This attribute shall be supported when delegation mode of certificate management is applicable. $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/CertificateConfigurationData" - + upgradeType: + description: > + Indicates upgrade type when change the current VNF Package on which a VNF instance is based. + Permitted values: + • ROLLING_UPGRADE + • BLUE_GREEN + See note 3. + type: string + enum: + - ROLLING_UPGRADE + - BLUE_GREEN VnfInfoModificationRequest: description: > This type represents attribute modifications for an "Individual VNF instance" resource, @@ -2176,7 +2251,6 @@ definitions: type: object required: - type - - aspectId properties: type: description: > @@ -2186,13 +2260,17 @@ definitions: capacity * SCALE_IN: removing VNFC instances from the VNF in order to release unused capacity. + * SCALE_VERTICAL: increasing or decreasing the resource capacity of all + instances of one or multiple VNFCs. type: string enum: - SCALE_OUT - SCALE_IN + - SCALE_VERTICAL aspectId: description: > - Identifier of the scaling aspect. + Identifier of the scaling aspect. It shall be present when ‘type’ indicates SCALE_OUT or + SCALE_IN and absent otherwise. $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnfd" numberOfSteps: description: > @@ -2201,6 +2279,16 @@ definitions: shall be 1. type: integer default: 1 + resourceCapacityDefinition: + description: > + Indicates values for resource capacity related attributes pertaining to a descriptor. The indicated values are + absolute (target) values, as opposed to relative (delta) values. Values can only be provided for + resource capacity related attributes that have been defined in the VNFD as being configurable. + Furthermore, provided values shall be within the allowed values indicated in the VNFD. It shall be + present when ‘type’ indicates SCALE_VERTICAL and absent otherwise. + type: array + items: + $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/ResourceCapacityDefinition" additionalParams: description: > Additional parameters passed by the NFVO as input to the scaling @@ -3235,7 +3323,7 @@ definitions: $ref: "#/definitions/CpProtocolInfo" associatedVnfcCpIds: description: > - Identifiers of the VnfcCps that share the virtual IP addresse allocated to the VIP CP instance. See note. + Identifiers of the VnfcCps that share the virtual IP address allocated to the VIP CP instance. See note. type: array items: $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf" @@ -3411,7 +3499,8 @@ definitions: type: string enum: - Deployment - - Statefulset + - StatefulSet + - DaemonSet desiredInstances: description: > Number of desired MCIO instances. diff --git a/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml b/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml index 9f68ca7932d4ab0329892b8831772926076f5c3b..efea25a0dce978bc3a6aeaf0d5a8e68b7d77951c 100644 --- a/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml +++ b/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml @@ -16,11 +16,11 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 2.12.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 2.14.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 002 V4.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/04.05.01_60/gs_NFV-SOL002v040501p.pdf + description: ETSI GS NFV-SOL 002 V5.1.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/05.01.01_60/gs_NFV-SOL002v050101p.pdf servers: - url: http://127.0.0.1/callback/v2 diff --git a/src/SOL002/VNFLifecycleManagementNotification/definitions/SOL002VNFLifecycleManagementNotification_def.yaml b/src/SOL002/VNFLifecycleManagementNotification/definitions/SOL002VNFLifecycleManagementNotification_def.yaml index a0db81b39bd1ed9a3ab883ddf0c632762611d1ea..00647f10f4a5d5287aefee24ca85c1f962351484 100644 --- a/src/SOL002/VNFLifecycleManagementNotification/definitions/SOL002VNFLifecycleManagementNotification_def.yaml +++ b/src/SOL002/VNFLifecycleManagementNotification/definitions/SOL002VNFLifecycleManagementNotification_def.yaml @@ -1,4 +1,4 @@ -# Copyright (c) ETSI 2017. +# Copyright (c) ETSI 2024. # https://forge.etsi.org/etsi-forge-copyright-notice.txt definitions: diff --git a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml index 6708321c51132b4a37a6eda88e2853c8b9a72fde..3ac6585264298b5c20ae736416d260060bc33b6b 100644 --- a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -16,11 +16,11 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 2.12.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 2.13.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 002 V4.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/04.05.01_60/gs_NFV-SOL002v040501p.pdf + description: ETSI GS NFV-SOL 002 V5.1.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/05.01.01_60/gs_NFV-SOL002v050101p.pdf servers: - url: http://127.0.0.1/vnfpm/v2 @@ -538,7 +538,7 @@ components: PmJobModificationRequest: description: Parameters for the PM job modification content: - application/json: + application/merge-patch+json: schema: $ref: definitions/SOL002VNFPerformanceManagement_def.yaml#/definitions/PmJobModifications required: true @@ -555,7 +555,7 @@ components: ThresholdModificationRequest: description: Parameters for the threshold modification. content: - application/json: + application/merge-patch+json: schema: $ref: definitions/SOL002VNFPerformanceManagement_def.yaml#/definitions/ThresholdModifications required: true diff --git a/src/SOL002/VNFPerformanceManagement/definitions/SOL002VNFPerformanceManagement_def.yaml b/src/SOL002/VNFPerformanceManagement/definitions/SOL002VNFPerformanceManagement_def.yaml index c5c8b3a72326904c4cc6fe99be43c4aa6069b315..bd16e2d9e3544607c04e432ece011709a6fa40a6 100644 --- a/src/SOL002/VNFPerformanceManagement/definitions/SOL002VNFPerformanceManagement_def.yaml +++ b/src/SOL002/VNFPerformanceManagement/definitions/SOL002VNFPerformanceManagement_def.yaml @@ -1,3 +1,6 @@ +# Copyright (c) ETSI 2024. +# https://forge.etsi.org/etsi-forge-copyright-notice.txt + definitions: CreateThresholdRequest: description: > @@ -352,9 +355,13 @@ definitions: The size of the report file in bytes, if known. type: integer minimum: 0 - maximum: 1024 - # TODO: How to express unsigned int? - # Done using min and max params to set a range for positive int. + pmJobConnection: + description: > + An access information and interface information of PM job to monitor the PM of VNF instance by the VNFM. + This can include for instance certain interface endpoint URI together with necessary credentials to access it. + type: array + items: + $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/MonitoringConnection" _links: description: > Links for this resource. diff --git a/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml b/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml index f5fa53457a29c5e35d87e462b34e844580c70d70..2d63cdd45e2ee86ac59101ac6d2473f21196f204 100644 --- a/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml +++ b/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml @@ -16,11 +16,11 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 2.12.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 2.13.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 002 V4.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/04.05.01_60/gs_NFV-SOL002v040501p.pdf + description: ETSI GS NFV-SOL 002 V5.1.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/05.01.01_60/gs_NFV-SOL002v050101p.pdf servers: - url: http://127.0.0.1/callback/v2 diff --git a/src/SOL003/APIVersion/APIVersion.yaml b/src/SOL003/APIVersion/APIVersion.yaml index 340a98ca72e8a0ccfa0c5dead597f0f6dfcc3a16..3343da37191c1454dda9db3d948e654cd40a361e 100644 --- a/src/SOL003/APIVersion/APIVersion.yaml +++ b/src/SOL003/APIVersion/APIVersion.yaml @@ -20,8 +20,8 @@ info: version: "1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" externalDocs: - description: ETSI GS NFV-SOL 003 V4.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/04.05.01_60/gs_NFV-SOL003v040501p.pdf + description: ETSI GS NFV-SOL 003 V5.1.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/05.01.01_60/gs_NFV-SOL003v050101p.pdf paths: /vrqan/api_versions: diff --git a/src/SOL003/General_Definitions/SOL003_def.yaml b/src/SOL003/General_Definitions/SOL003_def.yaml index fb57039020b168462de661b9e34733623f437d45..8d1a5d4827415577ea07e2ed728ad217648a4fd3 100644 --- a/src/SOL003/General_Definitions/SOL003_def.yaml +++ b/src/SOL003/General_Definitions/SOL003_def.yaml @@ -1,4 +1,4 @@ -# Copyright (c) ETSI 2017. +# Copyright (c) ETSI 2024. # https://forge.etsi.org/etsi-forge-copyright-notice.txt definitions: @@ -643,14 +643,14 @@ definitions: description: > This type represents network address data for a virtual CP. - * NOTE 1: If the container cluster is set up to be able to configure an external load balancer this address will be used, - otherwise it will be ignored by the CISM. + * NOTE 1: The loadBalancerIp and the loadBalancerSourceRanges attributes are only used if the CIS cluster is set up to be + able to configure an external load balancer. Otherwise it shall be ignored. * NOTE 2: In case the cluster can configure an external load balancer but no loadBalancerIp is provided the container cluster will assign an IP address. * NOTE 3: The attribute is only relevant if the virtual CP is instantiated in a cluster that supports configuration of IP address pools for virtual CPs. Otherwise it shall be ignored. MetalLB is an example of a solution for Kubernetes® that supports configuration of address pools for load balancer services. - * NOTE 4: The loadBalancerIp and the addressPoolName attributes shall not be present at the same time. + * NOTE 4: The loadBalancerIp, addressPoolName and the externalIp attributes shall not be present at the same time. type: object required: - type @@ -662,18 +662,41 @@ definitions: type: string enum: - IPV4 - - IPV6 + - IPV6 loadBalancerIp: description: > Fixed address to assign to an external load balancer. See notes 1,2 and 4. $ref: "#/definitions/IpAddress" + externalIp: + description: > + An external IP address assigned to the virtual CP. + This IP address is not managed by CISM. See note 4. + $ref: "#/definitions/IpAddress" addressPoolName: description: > - Name of an address pool from which the container - cluster will assign an IP address to the virtual CP. See - notes 3 and 4. + Name of an address pool from which the CIS + cluster will assign an IP address to the virtual CP. See + notes 3 and 4. type: string + loadBalancerSourceRanges: + description: > + List of client IP address ranges allowed to access an external load balancer. See note 1. + type: array + items: + type: object + required: + - minAddress + - maxAddress + properties: + minAddress: + description: > + Lowest IP address belonging to the range. + $ref: "#/definitions/IpAddress" + maxAddress: + description: > + Highest IP address belonging to the range. + $ref: "#/definitions/IpAddress" ExtVirtualLinkData: description: > @@ -782,7 +805,267 @@ definitions: PaaS Service instance specific additional information. The applicable structure, and whether or not this attribute is available, is dependent on the type of the PaaS Service. $ref: "#/definitions/KeyValuePairs" + + ResourceCapacityDefinition: + description: > + This type represents selected values for capacity related VDU attributes. + * NOTE: Resource definitions not related to a VDU are not considered in this version of the present document. + type: object + required: + - type + properties: + tag: + description: > + Tag assigned by the issuer of a VNF LCM operation request that contains this data type with values to be applied to a VDU. + It is used for tracking purposes. + + The tag is preserved in the run time record as long as at least one value of the capacity + related attributes associated with that tag is still valid, i.e., it has not been modified by a later VNF LCM operation request. + + At most one tag can be included when the data type is used in a VNF LCM operation request. + + When the data type is used in the VnfInstance data type it may contain multiple tags, + namely those provided in VNF LCM requests, if at least one of the values provided in that request associated to that tag is still applicable in the VNFCs created from this VDU, i.e., it has not been modified by a later request. + type: array + items: + $ref: "#/definitions/String" + type: + description: > + Type of the resource definition referenced. + type: string + enum: + - COMPUTE + - STORAGE + - OSCONTAINER + vduId: + description: > + Reference to the related Vdu applicable to this resource in the VNFD. + It shall be present when the referenced resource definition is related to a VDU. See note. + $ref: "#/definitions/IdentifierInVnfd" + osContainerDescData: + description: > + Indicates values for resource capacity related attributes in an OsContainerDesc. + It shall be present when the attribute 'type' indicates OSCONTAINER and absent otherwise. + type: array + items: + $ref: "#/definitions/OsContainerDescData" + virtualComputeDescData: + description: > + Indicates values for resource capacity related attributes in an VirtualComputeDesc. + It shall be present when the attribute 'type' indicates COMPUTE and absent otherwise. + $ref: "#/definitions/VirtualComputeDescData" + virtualStorageDescData: + description: > + Indicates the value for the storage size related attribute in an VirtualStorageDesc. + It shall be present when the attribute 'type' indicates STORAGE and absent otherwise. + type: array + items: + $ref: "#/definitions/VirtualStorageDescData" + + OsContainerDescData: + description: > + This type represents selected values for capacity related VDU attributes of an OsContainer resource. + + * NOTE: At least one of the attributes shall be present. + type: object + required: + - resourceTemplateId + oneOf: + - required: + - requestedCpuResources + - required: + - requestedMemoryResources + - required: + - requestedEphemeralStorageResources + - required: + - extendedResourceRequests + - required: + - cpuResourceLimit + - required: + - memoryResourceLimit + - required: + - ephemeralStorageResourceLimit + - required: + - hugePageResources + properties: + resourceTemplateId: + description: > + Identifier of an osContainerDesc in the VNFD. + $ref: "#/definitions/IdentifierInVnfd" + requestedCpuResources: + description: > + Number of CPU resources requested for the container in milli-CPU. See note. + type: integer + requestedMemoryResources: + description: > + Amount of memory resources requested for the container expressed in the same units as + specified in the requested_memory_resources_valid_values property in VNFD (clause 6.8.12 in ETSI GS NFV-SOL 001 [14]) for this container descriptor. See note. + type: array + items: + $ref: "#/definitions/Number" + requestedEphemeralStorageResources: + description: > + Size of ephemeral storage resources requested for the container expressed in the same + units as specified in the requested_ephemeral_storage_resources_valid_values property VNFD (clause 6.8.12 in ETSI GS NFV-SOL 001 [14]) for this container descriptor. See note. + $ref: "#/definitions/Number" + extendedResourceRequests: + description: > + Map of the amount of extended resources of the type indicated in the key. + The key is a string that identifies an extended resource indicated in the extended_resource_requests property in the VNFD (clause 6.8.12 in ETSI GS NFV-SOL 001 [14]) for this container descriptor. + The value is an integer that indicates the required amount for a particular extended resource. + See note. + type: object + additionalProperties: + type: integer + cpuResourceLimit: + description: > + Number of CPU resources the container can maximally use in milli-CPU. See note. + type: integer + memoryResourceLimit: + description: > + Amount of memory resources the container can maximally use expressed in the same units + as specified in the memory_resource_limit_valid_values property VNFD + (clause 6.8.12 in ETSI GS NFV-SOL 001 [14]) for this container descriptor. See note. + $ref: "#/definitions/Number" + ephemeralStorageResourceLimit: + description: > + Size of ephemeral storage resources the container can maximally use expressed in the + same units as specified in the ephemeral_storage_resource_limit_valid_values property VNFD + (clause 6.8.12 in ETSI GS NFV-SOL 001 [14]) for this container descriptor. See note. + $ref: "#/definitions/Number" + hugePageResources: + description: > + Map of the total size values required for all the hugepages of the size indicated in the key. + The key is a string and corresponds to one of the values of the hugepage sizes indicated in the huge_pages_resources property in the VNFD (clause 6.8.12 in ETSI GS NFV-SOL 001 [14]) for this container descriptor. + The value is a number that indicates the required total size expressed in the same units as in the huge_pages_resource property in the VNFD (clause 6.8.12 in ETSI GS NFV-SOL 001 [14]) that indicates the valid values for required total size for the particular hugepage size. + See note. + type: object + additionalProperties: + $ref: "#/definitions/Number" + + VirtualComputeDescData: + description: > + This type represents selected values for capacity related VDU attributes of the virtual compute resource of a VM. + + * NOTE: At least one of the attributes shall be present. + type: object + required: + - resourceTemplateId + oneOf: + - required: + - numVirtualCpu + - required: + - virtualMemSize + - required: + - sizeOfVirtualDisk + - required: + - hugePagesRequirements + properties: + resourceTemplateId: + description: > + Identifier of a VirtualComputeDesc in the VNFD. + $ref: "#/definitions/IdentifierInVnfd" + numVirtualCpu: + description: > + Number of virtual CPUs. See note. + type: integer + virtualMemSize: + description: > + Amount of virtual Memory expressed in the same units as specified in the + virtual_mem_size_valid_values property in the VNFD (clause 6.2.7.2 in ETSI GS NFV-SOL 001 [14]) for this virtual compute descriptor. See note. + $ref: "#/definitions/Number" + sizeOfVirtualDisk: + description: > + Size of virtualised storage resource expressed in the same units as specified in the + size_of_storage_valid_values property in the VNFD + (clause 6.2.39.2 in ETSI GS NFV-SOL 001 [14]) for this virtual compute descriptor. See note. + $ref: "#/definitions/Number" + hugePagesRequirements: + description: > + Map of the total size values required for all the hugepages of the size indicated in the key. + The key is a string and corresponds to one of the values of the hugepage sizes indicated + in the huge_pages_requirements property in the VNFD (clause 6.2.7.2 in ETSI GS NFV-SOL 001 [14]) for this virtual compute descriptor. + The value is a numberthat indicates the required total size expressed in the same units + as in the huge_pages_requirements property in the VNFD (clause 6.2.7.2 in ETSI GS NFV-SOL 001 [14]) that indicates the valid vaues for required total size for the particular hugepage size. + See note. + type: object + additionalProperties: + $ref: "#/definitions/Number" + + VirtualStorageDescData: + description: > + This type represents selected values for capacity related VDU attributes of the virtual storage resource. + type: object + required: + - resourceTemplateId + - sizeOfStorage + properties: + resourceTemplateId: + description: > + Identifier of a VirtualStorageDesc in the VNFD. + $ref: "#/definitions/IdentifierInVnfd" + sizeOfStorage: + description: > + If the 'typeOfStorage' attribute in the VirtualStorageDesc + (see clause 7.1.9.4.2.2 in ETSI GS NFV-IFA 011) referenced by the resourceTemplateId + indicates BLOCK or FILE it is the size of the virtualized storage resource, expressed + in the same units as specified in the size_of_storage_valid_values property in the VNFD + (clause 6.2.39.2 or 6.2.41.2, respectively, in ETSI GS NFV-SOL 001). + If the 'typeOfStorage' attribute in the VirtualStorageDesc (see clause 7.1.9.4.2.2 in + ETSI GS NFV-SOL 001) referenced by the resourceTemplateId indicates OBJECT it is + the maximum size of the virtualized storage resource expressed in the same units as specified in the max_size_of_storage_valid_values property in the VNFD (clause 6.2.40.2 in ETSI GS NFV-SOL 001). + $ref: "#/definitions/Number" + + MonitoringConnection: + description: > + The MonitoringConnection shall follow the indications provided. + + * NOTE: The VNFM can be made aware of monitoring connection information, + including their identifiers to be used by configuration means outside the scope of the + present document (e.g. using relevant NFV-MANO management APIs as defined in + ETSI GS NFV-SOL 009 [i.18]). + type: object + required: + - id + - monitoringType + properties: + id: + description: > + Identifier of the monitoring connection. See note. + $ref: "#/definitions/Identifier" + monitoringType: + description: > + Type of monitoring way. + type: string + enum: + - VIM_CISM + - EXTERNAL + - PAAS + vimId: + description: > + Information about VIM or CISM connection(s) for monitoring resources for the VNF instance. + Can be set when MonitoringType is equal to “VIM_CISM”. + $ref: "#/definitions/Identifier" + paasServiceId: + description: > + Information about PaasAsset to be used. Can be set when MonitoringType is equal to “PAAS”. + $ref: "#/definitions/Identifier" + interfaceInfo: + description: > + Information about the interface(s) to the external monitoring tool, if available, including interface endpoint e.g. URL API version, and protocol type. + Can be set when MonitoringType is equal to “EXTERNAL”. + $ref: "#/definitions/KeyValuePairs" + accessInfo: + description: > + Authentication credentials for accessing the external monitoring tool. Examples can include those to support different authentication schemes, e.g. OAuth, Token, Username/password, etc. + Can be set when MonitoringType is equal to “EXTERNAL”. + $ref: "#/definitions/KeyValuePairs" + extra: + description: > + Type specific additional information, if applicable. + $ref: "#/definitions/String" + ScaleInfo: description: > This type represents the scale level of a VNF instance related to a scaling aspect. @@ -959,7 +1242,7 @@ definitions: VnfLinkPortData: description: > This type represents an externally provided link port to be used to connect a VNFC connection point - to an exernally managed VL. + to an externally managed VL. type: object required: - vnfLinkPortId @@ -1133,9 +1416,18 @@ definitions: SubscriptionAuthentication: description: > - * NOTE: 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 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. type: object required: - authType @@ -1144,59 +1436,110 @@ definitions: description: > Defines the types of Authentication / Authorization which the API consumer is willing to accept when receiving a notification. - Permitted values: - * OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the - notification endpoint, use an OAuth 2.0 Bearer token, obtained - using the client credentials grant type. + 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: array items: type: string enum: - OAUTH2_CLIENT_CREDENTIALS - paramsBasic: + - OAUTH2_CLIENT_CERT + paramsOauth2ClientCert: description: > - Parameters for authentication/authorization using BASIC. - Shall be present if authType is "BASIC" and the contained - information has not been provisioned out of band. + 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 properties: - userName: + clientId: description: > - Username to be used in HTTP Basic authentication. Shall be - present if it has not been provisioned out of band. + 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. type: string - password: + certificateRef: description: > - Password to be used in HTTP Basic authentication. Shall be - present if it has not been provisioned out of band. + Fingerprint of the client certificate. The hash function + shall use SHA256 or higher. See note 4. type: string + 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. + + Shall be present if authType is + "OAUTH2_CLIENT_CREDENTIALS" and the contained + information has not been provisioned out of band. + Shall be absent otherwise. + + 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. - Shall be present if it has not been provisioned out of band. See note. + 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. + 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 diff --git a/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml index 4c3ca7e49c606d8c74c27d2dbaaccabbba08ef61..6aba46daa0fff6649d6c0f7e9db5dcafcafc0268 100644 --- a/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml @@ -16,11 +16,11 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: "1.12.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" + version: "1.14.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" externalDocs: - description: ETSI GS NFV-SOL 003 V4.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/04.05.01_60/gs_NFV-SOL003v040501p.pdf + description: ETSI GS NFV-SOL 003 V5.1.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/05.01.01_60/gs_NFV-SOL003v050101p.pdf servers: - url: http://127.0.0.1/vnffm/v1 @@ -350,7 +350,7 @@ components: IndividualAlarmRequest: description: The VNF creation parameters content: - application/json: + application/merge-patch+json: schema: $ref: "definitions/SOL003VNFFaultManagement_def.yaml#/definitions/AlarmModifications" required: true diff --git a/src/SOL003/VNFFaultManagement/definitions/SOL003VNFFaultManagement_def.yaml b/src/SOL003/VNFFaultManagement/definitions/SOL003VNFFaultManagement_def.yaml index 072cdd144ad9c161a0bf6ca9767f5433cb1e6b41..f724865d73a8f205c3870688c4cb7bedb3f5190d 100644 --- a/src/SOL003/VNFFaultManagement/definitions/SOL003VNFFaultManagement_def.yaml +++ b/src/SOL003/VNFFaultManagement/definitions/SOL003VNFFaultManagement_def.yaml @@ -1,3 +1,6 @@ +# Copyright (c) ETSI 2024. +# https://forge.etsi.org/etsi-forge-copyright-notice.txt + definitions: Alarm: description: > @@ -42,7 +45,11 @@ definitions: $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier" managedObjectId: description: > - Identifier of the affected VNF instance. + Identifier of the affected VNF instance. The managed objects for this information + element will be VNF instances. A VNF instance can have fault monitored sub-object + types and identification information is carried as defined in the respective Alarm + definition as defined in clause 7.3 of ETSI GS NFV-IFA 045 [13], e.g., using the + "faultDetails" attribute. $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier" rootCauseFaultyResource: description: > @@ -81,7 +88,10 @@ definitions: - ACKNOWLEDGED perceivedSeverity: description: > - Perceived severity of the managed object failure. + Perceived severity of the managed object failure. Valid values applicable to + specific Alarms are specified as "Perceived severity" values of the Alarm + applicable to Or-Vnfm reference point, as defined in clause 7.3 of + ETSI GS NFV-IFA 045 [13]. $ref: "#/definitions/PerceivedSeverityType" eventTime: description: > @@ -89,11 +99,16 @@ definitions: $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/DateTime" eventType: description: > - Type of event. + Type of event. Valid values applicable to specific Alarms are specified as + "Event type" values of the Alarm applicable to Or-Vnfm reference point, as + defined in clause 7.3 of ETSI GS NFV-IFA 045 [13]. $ref: "#/definitions/EventType" faultType: description: > Additional information to clarify the type of the fault. + Valid values applicable to specific Alarms are specified as "Alarm definition + identifier" values of the Alarm applicable to Or-Vnfm reference point, as + defined in clause 7.3 of ETSI GS NFV-IFA 045 [13]. If the alarm is related to changes in the state of virtualised resources due to NFVI operation and maintenance, this attribute shall be set to "NFVI_OAM_VIRTUALISED_RESOURCE_STATE_CHANGE". @@ -101,6 +116,9 @@ definitions: probableCause: description: > Information about the probable cause of the fault. + Valid values applicable to specific Alarms are specified as "Probable cause" + values of the Alarm applicable to Or-Vnfm reference point, as defined in + clause 7.3 of ETSI GS NFV-IFA 045 [13]. If the attribute "faultType" has the value “NFVI_OAM_VIRTUALISED_RESOURCE_STATE_CHANGE”, the permitted values are: - "NFVI_COMPONENT_MAINTENANCE": Maintenance of NFVI components, e.g. @@ -123,7 +141,10 @@ definitions: $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier" faultDetails: description: > - Provides additional information about the fault. See notes 1 and 2. + Provides additional information about the fault. See notes 1 and 2. Valid values + applicable to specific Alarms are specified as "Fault details" values of the Alarm + applicable to Or-Vnfm reference point, as defined in clause 7.3 of + ETSI GS NFV-IFA 045 [13]. type: array items: type: string @@ -250,6 +271,14 @@ definitions: description: > The URI of the endpoint to send the notification to. $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Uri" + fmConnection: + description: > + An access information and interface information to monitor the FM of VNF instance by + the VNFM. This can include for instance certain interface endpoint URI together with + necessary credentials to access it. + type: array + items: + $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/MonitoringConnection" _links: description: > Links for this resource. diff --git a/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml b/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml index 02392de42be859bd113be8edd049d24537b95b33..06638f2ec4706edc8c487e9deb363967ded3f871 100644 --- a/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml +++ b/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml @@ -16,11 +16,11 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 1.12.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 1.14.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 003 V4.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/04.05.01_60/gs_NFV-SOL003v040501p.pdf + description: ETSI GS NFV-SOL 003 V5.1.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/05.01.01_60/gs_NFV-SOL003v050101p.pdf servers: - url: http://127.0.0.1/callback/v1 diff --git a/src/SOL003/VNFIndicator/VNFIndicator.yaml b/src/SOL003/VNFIndicator/VNFIndicator.yaml index 284639531c9962dd8fc843e16d338951daf0c50e..f731ec57a6f8723af5e8e8700a1a0f68f88363d4 100644 --- a/src/SOL003/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL003/VNFIndicator/VNFIndicator.yaml @@ -16,11 +16,11 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: "1.12.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" + version: "1.13.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" externalDocs: - description: ETSI GS NFV-SOL 003 V4.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/04.05.01_60/gs_NFV-SOL003v040501p.pdf + description: ETSI GS NFV-SOL 003 V5.1.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/05.01.01_60/gs_NFV-SOL003v050101p.pdf servers: - url: http://127.0.0.1/vnfind/v1 diff --git a/src/SOL003/VNFIndicator/definitions/SOL003VNFIndicator_def.yaml b/src/SOL003/VNFIndicator/definitions/SOL003VNFIndicator_def.yaml index 49d052f9325294c22096daa6e61c09cae4406676..e8d2d05cd29b86afdf950ea2c3fbc990943c0272 100644 --- a/src/SOL003/VNFIndicator/definitions/SOL003VNFIndicator_def.yaml +++ b/src/SOL003/VNFIndicator/definitions/SOL003VNFIndicator_def.yaml @@ -1,4 +1,4 @@ -# Copyright (c) ETSI 2017. +# Copyright (c) ETSI 2024. # https://forge.etsi.org/etsi-forge-copyright-notice.txt definitions: @@ -31,6 +31,13 @@ definitions: description: > Identifier of the "Individual VNF instance" which provides the indicator value. $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier" + vnfcInstanceIds: + description: > + The vnfcInstanceIds attribute is optionally present. If present, it contains the list of + identifiers of VNFC instances which provide the indicator value(s). + type: array + items: + $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf" _links: description: > Links for this resource. diff --git a/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml b/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml index 5c0e97c8a144800eb1b6fe6ab6cff575cc801eac..70f452be14333104a4fd1cf29a45dc76a1270abd 100644 --- a/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml +++ b/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml @@ -16,11 +16,11 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: "1.12.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" + version: "1.13.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" externalDocs: - description: ETSI GS NFV-SOL 003 V4.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/04.05.01_60/gs_NFV-SOL003v040501p.pdf + description: ETSI GS NFV-SOL 003 V5.1.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/05.01.01_60/gs_NFV-SOL003v050101p.pdf servers: - url: http://127.0.0.1/callback/v1 diff --git a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml index 3727cfbe388b2e626adc47bfc6ae2d7b021eb3bf..1fec46b8b30236c7c32d339678cd7266354272c6 100644 --- a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -16,11 +16,11 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: "2.12.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" + version: "2.14.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" externalDocs: - description: ETSI GS NFV-SOL 003 V4.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/04.05.01_60/gs_NFV-SOL003v040501p.pdf + description: ETSI GS NFV-SOL 003 V5.1.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/05.01.01_60/gs_NFV-SOL003v050101p.pdf servers: - url: http://127.0.0.1/vnflcm/v2 @@ -1495,7 +1495,7 @@ components: description: | Parameters for the VNF modification, as defined in clause 5.5.2.12. content: - application/json: + application/merge-patch+json: schema: $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInfoModificationRequest" required: true @@ -1623,7 +1623,7 @@ components: description: | Parameters for the VNF snapshot information modification, as defined in clause 5.5.2.24. content: - application/json: + application/merge-patch+json: schema: $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshotInfoModificationRequest" required: true diff --git a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml index 5d4c9d741985347c967a64fb1719a5765b0ee87f..68b91fa59dca8ca87ef72d3e32bf432c04363377 100644 --- a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml +++ b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml @@ -1,4 +1,4 @@ -# Copyright (c) ETSI 2017. +# Copyright (c) ETSI 2024. # https://forge.etsi.org/etsi-forge-copyright-notice.txt definitions: @@ -31,11 +31,6 @@ definitions: lifecycle of the VNF, as a result of a change of the selected deployable modules any of those VNFCs is going to be instantiated, the stored information determines the number of instances, unless the request that triggered the change also contains information about the number of instances. - anyOf: - - required: - - instantiationLevelId - - required: - - targetScaleLevelInfo type: object required: - flavourId @@ -136,6 +131,15 @@ definitions: type: array items: $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnfd" + resourceCapacityDefinition: + description: > + Indicates values for resource capacity related attributes pertaining to a + descriptor. Values can only be provided for resource capacity related attributes + that have been defined in the VNFD as being configurable. Furthermore, provided + values shall be within the allowed values indicated in the VNFD. + type: array + items: + $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/ResourceCapacityDefinition" ExtManagedVirtualLinkData: @@ -335,6 +339,15 @@ definitions: type: array items: $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnfd" + resourceCapacityDefinition: + description: > + Indicates values for resource capacity related attributes pertaining to a descriptor. + Values can only be provided for resource capacity related attributes that have been + defined in the VNFD as being configurable. Furthermore, provided values shall be within + the allowed values indicated in the VNFD. + type: array + items: + $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/ResourceCapacityDefinition" certificateConfigurationData: description: > Configuration for certificate management such as certificate profile and security policy in this VNF. Can @@ -403,7 +416,29 @@ definitions: process, specific to the VNF being healed, as declared in the VNFD as part of "HealVnfOpConfig" defined in ETSI GS NFV-IFA 011 [10]. $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs" + healingResource: + description: > + Indicates the kinds of the virtual resource to be healed. + Permitted values: + * VL + * LINKPORT + * STORAGE + * VIRTUALCP + * COMPUTE + * OSCONTAINER + + Default value is COMPUTE when the VDUs of the VNF are realized by a set of virtual machines + and OSCONTAINER when the VDUs of the VNF are realized by a set of OS containers. + type: array + enum: + - VL + - LINKPORT + - STORAGE + - VIRTUALCP + - COMPUTE + - OSCONTAINER + OperateVnfRequest: description: > This type represents request parameters for the "Operate VNF" operation. @@ -512,6 +547,9 @@ definitions: VnfVirtualLinkDesc and externally-managed multi-site VL instance (refer to clause 4.4.1.12). NOTE 3: Component mappings are defined in the VNFD in the source or destination package for the relevant change path. See clause 7.1.15.2 in ETSI GS NFV-IFA 011 [13]. + NOTE 4: In the current version of the present document, only Rolling upgrade and Blue-green + upgrade types are supported. The definition of additional upgrade types is left for future + specification. type: object required: - vnfdId @@ -587,6 +625,15 @@ definitions: type: array items: $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnfd" + resourceCapacityDefinition: + description: > + Indicates values for resource capacity related attributes pertaining to a descriptor. + Values can only be provided for resource capacity related attributes that have been + defined in the VNFD as being configurable. Furthermore, provided values shall be within + the allowed values indicated in the VNFD. + type: array + items: + $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/ResourceCapacityDefinition" certificateConfigurationData: description: > Configuration for certificate management such as certificate profile and security policy in this VNF. @@ -594,6 +641,17 @@ definitions: shall not be present.This attribute shall be supported when delegation mode of certificate management is applicable. $ref: "#/definitions/CertificateConfigurationData" + upgradeType: + description: > + Indicates upgrade type when change the current VNF Package on which a VNF instance is based. + Permitted values: + * ROLLING_UPGRADE + * BLUE_GREEN + See note 4. + type: string + enum: + - ROLLING_UPGRADE + - BLUE_GREEN VnfInfoModificationRequest: description: > @@ -795,8 +853,10 @@ definitions: description: > This type represents request parameters for the "Select VNF deployable modules" operation. - NOTE: Thus, the select VNF deployable modules operation cannot be used as a scale VNF operation - to scale VNFCs that were already instantiated. + * NOTE 1: Thus, the select VNF deployable modules operation cannot be used as a scale VNF operation + to scale VNFCs that were already instantiated. + * NOTE 2: Thus, the select VNF deployable modules operation cannot be used as a scale + VNF operation to vertically scale VNFCs that were already instantiated. type: object properties: selectedDeployableModule: @@ -824,6 +884,19 @@ definitions: type: array items: $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/ScaleInfo" + resourceCapacityDefinition: + description: > + Indicates values for resource capacity related attributes pertaining to a descriptor. + Values can only be provided for resource capacity related attributes that have been defined + in the VNFD as being configurable. Furthermore, provided values shall be within the + allowed values indicated in the VNFD. + + This attribute should only contain information about resource capacity related attributes + of VDUs that will be used to instantiate VNFCs as a result of this operation. + If it contains information about attributes of other VDUs it shall be ignored. See note 2. + type: array + items: + $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/ResourceCapacityDefinition" additionalParams: description: > Additional parameters passed by the NFVO as input to the selection @@ -883,7 +956,7 @@ definitions: images. In order to avoid misalignment of the VnfInstance with the current VNF's on-boarded VNF Package, the values of attributes in the VnfInstance that have corresponding attributes in the VNFD shall be kept in sync with the values in the VNFD. - NOTE 2: ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. + NOTE 2: ETSI GS NFV-SOL 001 [14] specifies the structure and format of the VNFD based on TOSCA specifications. NOTE 3: VNF configurable properties are sometimes also referred to as configuration parameters applicable to a VNF. Some of these are set prior to instantiation and cannot be modified if the VNF is instantiated, some are set prior to instantiation (are part of initial configuration) and can be modified later, @@ -1057,7 +1130,6 @@ definitions: required: - flavourId - vnfState - - extCpInfo properties: flavourId: description: > @@ -1096,13 +1168,25 @@ definitions: type: array items: $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnfd" + resourceCapacityDefinition: + description: > + Shows current values of VDU attributes related to resource capacity, + if different to the default values from the VNFD, as indicated in the + (one or more) request(s) of all completed VNF LCM operation(s) that + contain this attribute. If an attribute value has been modified multiple times, + only the last value is shown. The values indicated in this attribute are + applicable to all VNFC instances based on the VDU to which the + resourceCapacityDefinition is related. + type: array + items: + $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/ResourceCapacityDefinition" + extCpInfo: description: > Information about the external CPs exposed by the VNF instance. When trunking is enabled, the list of entries includes both, external CPs corresponding to parent ports of a trunk, and external CPs associated to sub-ports of a trunk.See note 7. type: array - minItems: 1 items: $ref: "#/definitions/VnfExtCpInfo" vipCpInfo: @@ -3139,7 +3223,6 @@ definitions: type: object required: - type - - aspectId properties: type: description: > @@ -3149,13 +3232,15 @@ definitions: capacity * SCALE_IN: removing VNFC instances from the VNF in order to release unused capacity. + * SCALE_VERTICAL: increasing or decreasing the resource capacity of all instances of one or multiple VNFCs. type: string enum: - SCALE_OUT - SCALE_IN + - SCALE_VERTICAL aspectId: description: > - Identifier of the scaling aspect. + Identifier of the scaling aspect. It shall be present when ‘type’ indicates SCALE_OUT or SCALE_IN and absent otherwise. $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnfd" numberOfSteps: description: > @@ -3164,6 +3249,17 @@ definitions: shall be 1. type: integer default: 1 + resourceCapacityDefinition: + description: > + Indicates values for resource capacity related attributes pertaining to a descriptor. + The indicated values are absolute (target) values, as opposed to relative (delta) values. + Values can only be provided for resource capacity related attributes that have been defined + in the VNFD as being configurable. Furthermore, provided values shall be within the allowed + values indicated in the VNFD. It shall be present when 'type' indicates SCALE_VERTICAL and + absent otherwise. + type: array + items: + $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/ResourceCapacityDefinition" additionalParams: description: > Additional parameters passed by the NFVO as input to the scaling @@ -3584,6 +3680,8 @@ definitions: $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVim" MonitoringParameter: + description: > + This type represents a monitoring parameter that is tracked by the VNFM, type: object required: - id @@ -4174,7 +4272,7 @@ definitions: $ref: "#/definitions/CpProtocolInfo" associatedVnfcCpIds: description: > - Identifiers of the VnfcCps that share the virtual IP addresse allocated to the VIP CP instance. See note. + Identifiers of the VnfcCps that share the virtual IP address allocated to the VIP CP instance. See note. type: array items: $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf" @@ -4304,6 +4402,7 @@ definitions: enum: - Deployment - Statefulset + - DaemonSet desiredInstances: description: > Number of desired MCIO instances. diff --git a/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml b/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml index bacc7a1acb0c883c19f1673deda75f24b33ee2fb..aba43c0b83592194dc82354071856e47f797040c 100644 --- a/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml +++ b/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml @@ -16,11 +16,11 @@ info: license: name: "ETSI Forge copyright notice" url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: "2.12.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" + version: "2.14.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" externalDocs: - description: ETSI GS NFV-SOL 003 V4.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/04.05.01_60/gs_NFV-SOL003v040501p.pdf + description: ETSI GS NFV-SOL 003 V5.1.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/05.01.01_60/gs_NFV-SOL003v050101p.pdf servers: - url: http://127.0.0.1/callback/v2 diff --git a/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml b/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml index f6c2c139218a8d6c373108fbdb15659026f9b906..0eedbe7c967803a8c1ef5a35590e51de8d9c860d 100644 --- a/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml +++ b/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml @@ -16,11 +16,11 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: "1.12.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" + version: "1.13.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" externalDocs: - description: ETSI GS NFV-SOL 003 V4.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/04.05.01_60/gs_NFV-SOL003v040501p.pdf + description: ETSI GS NFV-SOL 003 V5.1.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/05.01.01_60/gs_NFV-SOL003v050101p.pdf servers: - url: http://127.0.0.1/grant/v1 diff --git a/src/SOL003/VNFLifecycleOperationGranting/definitions/SOL003VNFLifecycleOperationGranting_def.yaml b/src/SOL003/VNFLifecycleOperationGranting/definitions/SOL003VNFLifecycleOperationGranting_def.yaml index e74b9520d73b7ac7bee439b25c3f11934bd1b5fa..e8192b613726f6937b63570a6a710f05f52cc257 100644 --- a/src/SOL003/VNFLifecycleOperationGranting/definitions/SOL003VNFLifecycleOperationGranting_def.yaml +++ b/src/SOL003/VNFLifecycleOperationGranting/definitions/SOL003VNFLifecycleOperationGranting_def.yaml @@ -1,4 +1,4 @@ -# Copyright (c) ETSI 2017. +# Copyright (c) ETSI 2024. # https://forge.etsi.org/etsi-forge-copyright-notice.txt definitions: @@ -139,7 +139,16 @@ definitions: type: array items: $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnfd" - + resourceCapacityDefinition: + description: > + Indicates values for resource capacity related attributes + pertaining to a descriptor, as received in the VNF LCM operation + request. The values indicated in this attribute are applicable to + all VNFC instances based on the VDU to which the + resourceCapacityDefinition is related. + type: array + items: + $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/ResourceCapacityDefinition" addResources: description: > List of resource definitions in the VNFD for resources to be added by the LCM operation @@ -489,11 +498,20 @@ definitions: to be deleted, the "vnfdId" attribute shall contain the identifier of the source VNFD. If this ResourceDefinition is related to a temporary resource, the "vnfdId" attribute shall contain the identifier of either the source VNFD or the destination VNFD. + NOTE 3: In case of the type of the ResourceDefinition is "OSCONTAINER", either + resourceTemplateId or osContainerDesc shall be present. + NOTE 4: In case the osContainerDesc is not present in the VNFD, while MCIOP(s) is present, + osContainerDesc shall be included in the GrantVnfLifecycleOperationRequest based on + the processing result of the MCIOP from CISM. type: object + oneOf: + - required: + - resourceTemplateId + - required: + - osContainerDesc required: - id - type - - resourceTemplateId properties: id: description: > @@ -542,12 +560,17 @@ definitions: - If type="OSCONTAINER": OsContainerDesc - If type="VIRTUALCP": VirtualCpd - If type="PAASSERVICE": PaasServiceRequest - - Cardinality may be greater than "1" when type="OSCONTAINER" and multiple references to - OsContainerDesc are present in the VDU indicated by the "vduId". Cardinality shall be "1" otherwise. + Cardinality may be greater than "1" when type="OSCONTAINER" and multiple references + to OsContainerDesc are present in the VDU indicated by the "vduId". See note 3. type: array - minItems: 1 items: $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnfd" + osContainerDesc: + description: > + Resource requirements for the OS Containers. See note 3 and 4. + type: array + items: + $ref: "#/definitions/OsContainerDesc" secondaryResourceTemplateId: description: > Reference to a secondary resource template (VnfExtCpd) in the VNFD. @@ -1082,6 +1105,66 @@ definitions: concerning a virtual storage. $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/String" + OsContainerDesc: + description: > + This type describes the properties of a set of co-located container compute resources + required for realizing a VDU. + type: object + required: + - osContainerDescId + - name + - description + properties: + osContainerDescId: + description: > + Unique identifier of this OsContainerDesc + $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier" + name: + description: > + Human readable name of this OS container. + $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/String" + description: + description: > + Human readable description of this OS container. + $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/String" + requestedCpuResources: + description: > + Number of CPU resources requested for the container (e.g. in milli-CPU-s). + type: integer + requestedMemoryResources: + description: > + Amount of memory resources requested for the container (e.g. in MB). + $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Number" + requestedEphemeralStorageResources: + description: > + Size of ephemeral storage resources requested for the container (e.g. in GB). + $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Number" + extendedResourceRequests: + description: > + An array of key-value pairs of extended resources required by the container. + type: object + additionalProperties: + type: integer + cpuResourceLimit: + description: > + Number of CPU resources the container can maximally use in milli-CPU. + type: integer + memoryResourceLimit: + description: > + Amount of memory resources the container can maximally use (e.g. in MB). + $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Number" + ephemeralStorageResourceLimit: + description: > + Size of ephemeral storage resources the container can maximally use (e.g. in GB). + $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Number" + hugePageResources: + description: > + Specifies HugePages resources requested for the container, which the container can + maximally use (e.g. "hugepages-2Mi: 100Mi"). + type: object + additionalProperties: + $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Number" + PaasAssets: type: object required: diff --git a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml index 2474a4ddf52f32ce6cc4713063f86236359ad1a4..8f8bf692a96272fe012c34f3c86f03ae5491bb8d 100644 --- a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml @@ -19,8 +19,8 @@ info: version: "2.12.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" externalDocs: - description: ETSI GS NFV-SOL 003 V4.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/04.05.01_60/gs_NFV-SOL003v040501p.pdf + description: ETSI GS NFV-SOL 003 V5.1.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/05.01.01_60/gs_NFV-SOL003v050101p.pdf servers: - url: http://127.0.0.1/vnfpkgm/v2 diff --git a/src/SOL003/VNFPackageManagement/definitions/SOL003VNFPackageManagement_def.yaml b/src/SOL003/VNFPackageManagement/definitions/SOL003VNFPackageManagement_def.yaml index d93c4f209cb25de97498e254c901493e36b8dff9..5f5faf72430c7307966d6f904e4436f2d7d46692 100644 --- a/src/SOL003/VNFPackageManagement/definitions/SOL003VNFPackageManagement_def.yaml +++ b/src/SOL003/VNFPackageManagement/definitions/SOL003VNFPackageManagement_def.yaml @@ -1,4 +1,4 @@ -# Copyright (c) ETSI 2017. +# Copyright (c) ETSI 2024. # https://forge.etsi.org/etsi-forge-copyright-notice.txt definitions: diff --git a/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml b/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml index 40e881b72bb67a2c4bcd4e7da2a248d4251071c7..18e34990432f5b30774659fa384ceb98a7abf9db 100644 --- a/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml +++ b/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml @@ -19,8 +19,8 @@ info: version: 2.12.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 003 V4.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/04.05.01_60/gs_NFV-SOL003v040501p.pdf + description: ETSI GS NFV-SOL 003 V5.1.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/05.01.01_60/gs_NFV-SOL003v050101p.pdf servers: - url: http://127.0.0.1/callback/v2 diff --git a/src/SOL003/VNFPackageManagementNotification/definitions/SOL003VNFPackageManagementNotification_def.yaml b/src/SOL003/VNFPackageManagementNotification/definitions/SOL003VNFPackageManagementNotification_def.yaml index a207343fc1b00829e552195ad8ce5d7eab1013db..5dbebfec4d093c01cca1e6ae74543a3e9a9d3dbd 100644 --- a/src/SOL003/VNFPackageManagementNotification/definitions/SOL003VNFPackageManagementNotification_def.yaml +++ b/src/SOL003/VNFPackageManagementNotification/definitions/SOL003VNFPackageManagementNotification_def.yaml @@ -1,4 +1,4 @@ -# Copyright (c) ETSI 2017. +# Copyright (c) ETSI 2024. # https://forge.etsi.org/etsi-forge-copyright-notice.txt definitions: diff --git a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml index e527b8e5d32210103c06800c8e9db30324778172..731e6a1276c79c0151e3f4804d63e4a25e0c4417 100644 --- a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -16,11 +16,11 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 2.12.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 2.13.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 003 V4.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/04.05.01_60/gs_NFV-SOL003v040501p.pdf + description: ETSI GS NFV-SOL 003 V5.1.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/05.01.01_60/gs_NFV-SOL003v050101p.pdf servers: - url: http://127.0.0.1/vnfpm/v2 @@ -152,6 +152,8 @@ paths: parameters: - $ref: '../../components/SOL003_params.yaml#/components/parameters/If-Unmodified-Since' - $ref: '../../components/SOL003_params.yaml#/components/parameters/If-Match' + requestBody: + $ref: '#/components/requestBodies/PmJobModificationRequest' responses: 200: $ref: '#/components/responses/IndividualPmJob.Patch.200' @@ -358,6 +360,8 @@ paths: parameters: - $ref: '../../components/SOL003_params.yaml#/components/parameters/If-Unmodified-Since' - $ref: '../../components/SOL003_params.yaml#/components/parameters/If-Match' + requestBody: + $ref: '#/components/requestBodies/ThresholdModificationRequest' responses: 200: $ref: '#/components/responses/IndividualThreshold.Patch.200' @@ -504,6 +508,14 @@ components: schema: $ref: "definitions/SOL003VNFPerformanceManagement_def.yaml#/definitions/CreatePmJobRequest" required: true + + PmJobModificationRequest: + description: Parameters for the PM job modification + content: + application/merge-patch+json: + schema: + $ref: definitions/SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJobModifications + required: true CreateThresholdRequest: description: Request parameters to create a threshold resource. @@ -513,6 +525,14 @@ components: $ref: "definitions/SOL003VNFPerformanceManagement_def.yaml#/definitions/CreateThresholdRequest" required: true + ThresholdModificationRequest: + description: Parameters for the threshold modification. + content: + application/merge-patch+json: + schema: + $ref: definitions/SOL003VNFPerformanceManagement_def.yaml#/definitions/ThresholdModifications + required: true + responses: PmJobs.Post.201: description: | diff --git a/src/SOL003/VNFPerformanceManagement/definitions/SOL003VNFPerformanceManagement_def.yaml b/src/SOL003/VNFPerformanceManagement/definitions/SOL003VNFPerformanceManagement_def.yaml index 88d079705846c1eece33c0c7071684eaa2f1f44a..823b57c2fccaf7fd42a7fc1ab79529df08250f9a 100644 --- a/src/SOL003/VNFPerformanceManagement/definitions/SOL003VNFPerformanceManagement_def.yaml +++ b/src/SOL003/VNFPerformanceManagement/definitions/SOL003VNFPerformanceManagement_def.yaml @@ -1,3 +1,6 @@ +# Copyright (c) ETSI 2024. +# https://forge.etsi.org/etsi-forge-copyright-notice.txt + definitions: CreateThresholdRequest: description: > @@ -352,9 +355,14 @@ definitions: The size of the report file in bytes, if known. type: integer minimum: 0 - maximum: 1024 - # TODO: How to express unsigned int? - # Done using min and max params to set a range for positive int. + pmJobConnection: + description: > + An access information and interface information of PM job to monitor the PM of VNF instance + by the VNFM. This can include for instance certain interface endpoint URI together with + necessary credentials to access it. + type: array + items: + $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/MonitoringConnection" _links: description: > Links for this resource. diff --git a/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml b/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml index e79778454827636bf80e2929f1620c7fe12cb229..3bd0b78efe9384c188a43b3d5dfc2d606a5edab8 100644 --- a/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml +++ b/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml @@ -16,11 +16,11 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 2.12.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 2.13.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 003 V4.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/04.05.01_60/gs_NFV-SOL003v040501p.pdf + description: ETSI GS NFV-SOL 003 V5.1.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/05.01.01_60/gs_NFV-SOL003v050101p.pdf servers: - url: http://127.0.0.1/callback/v2 diff --git a/src/SOL003/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml b/src/SOL003/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml index 9957c7b300f65e483110e851765ddfe5241bcd2d..8f715db933edec38e93cef84e0ee9b36d776bf8c 100644 --- a/src/SOL003/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml +++ b/src/SOL003/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml @@ -19,8 +19,8 @@ info: version: 1.12.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 003 V4.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/04.05.01_60/gs_NFV-SOL003v040501p.pdf + description: ETSI GS NFV-SOL 003 V5.1.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/05.01.01_60/gs_NFV-SOL003v050101p.pdf servers: - url: http://127.0.0.1/vnfsnapshotpkgm/v1 diff --git a/src/SOL003/VNFSnapshotPackageManagement/definitions/SOL003VNFSnapshotPackageManagement_def.yaml b/src/SOL003/VNFSnapshotPackageManagement/definitions/SOL003VNFSnapshotPackageManagement_def.yaml index 123d8fc43693a933f8334b3e95f9bb4136fb3318..83921f9cff09b4c1dcd6f5da37d4cbade6e18b6a 100644 --- a/src/SOL003/VNFSnapshotPackageManagement/definitions/SOL003VNFSnapshotPackageManagement_def.yaml +++ b/src/SOL003/VNFSnapshotPackageManagement/definitions/SOL003VNFSnapshotPackageManagement_def.yaml @@ -1,4 +1,4 @@ -# Copyright (c) ETSI 2017. +# Copyright (c) ETSI 2024. # https://forge.etsi.org/etsi-forge-copyright-notice.txt definitions: diff --git a/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml index 2897d1fb44e362f8b0bfa2408d53816c8ecb2007..f4243caf222d1f68c03fdac236f123b27e92e27a 100644 --- a/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml +++ b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml @@ -19,8 +19,8 @@ info: version: "1.12.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" externalDocs: - description: ETSI GS NFV-SOL 003 V4.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/04.05.01_60/gs_NFV-SOL003v040501p.pdf + description: ETSI GS NFV-SOL 003 V5.1.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/05.01.01_60/gs_NFV-SOL003v050101p.pdf servers: - url: http://127.0.0.1/vrqan/v1 diff --git a/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/definitions/SOL003VirtualisedResourcesQuotaAvailableNotification_def.yaml b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/definitions/SOL003VirtualisedResourcesQuotaAvailableNotification_def.yaml index 77fdeee235ccef5bb94b40d891033a5e3a2f75e0..c5551bc8623319d046ce78f87070cbad7a5e1933 100644 --- a/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/definitions/SOL003VirtualisedResourcesQuotaAvailableNotification_def.yaml +++ b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/definitions/SOL003VirtualisedResourcesQuotaAvailableNotification_def.yaml @@ -1,4 +1,4 @@ -# Copyright (c) ETSI 2017. +# Copyright (c) ETSI 2024. # https://forge.etsi.org/etsi-forge-copyright-notice.txt definitions: