From 488900abae7c092fddbf8509e3049d371698fbcb Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Wed, 2 Dec 2020 12:59:42 +0100 Subject: [PATCH 01/70] fixed issue #5 --- .../SOL005NSLifecycleManagement_def.yaml | 84 +++++++++---------- 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index 5b85bb1..f6ae325 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -3114,63 +3114,63 @@ definitions: temporary VLs. type: object required: - - id - - virtualLinkDescId + - nsVirtualLinkInstanceId + - nsVirtualLinkDescId + - vlProfileId - changeType - - networkResource + - changeResult properties: - id: + nsVirtualLinkInstanceId: description: > - Identifier of the virtual link instance, identifying the applicable - "vnfVirtualLinkResourceInfo" entry in the "VnfInstance" data type. - $ref: "#/definitions/IdentifierInVnf" - virtualLinkDescId: + Identifier of the VL Instance. + $ref: "#/definitions/IdentifierInNs" + nsVirtualLinkDescId: description: > - Identifier of the related VLD in the VNFD. - $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" + Identifier of the VLD in the NSD for this VL. + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInNsd" + vlProfileId: + description: > + Name of the VL profile. + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInNsd" changeType: description: > Signals the type of change. Permitted values: - * ADDED - * REMOVED - * MODIFIED - * TEMPORARY - * LINK_PORT_ADDED - * LINK_PORT_REMOVED - For a temporary resource, an AffectedVirtualLink structure exists as - long as the temporary resource exists. + * ADD + * DELETE + * MODIFY + * ADD_LINK_PORT + * REMOVE_LINK_PORT type: string enum: - - ADDED - - REMOVED - - MODIFIED - - TEMPORARY - - LINK_PORT_ADDED - - LINK_PORT_REMOVED + - ADD + - DELETE + - MODIFY + - ADD_LINK_PORT + - REMOVE_LINK_PORT linkPortIds: description: > - Identifiers of the link ports of the affected VL related to the change. - Each identifier references an "NsLinkPortInfo" structure. - Shall be set when changeType is equal to "ADD_LINK_PORT" or "REMOVE_LINK_PORT", and the related "NsLinkPortInfo" - structures are present (case "add") or have been present (case "remove") in the NsVirtualLinkInfo structure - that is represented by the "virtualLinkĀ¬Info" attribute in the "NsInstance" structure. - The resource handles of the affected NS link ports can be found by dereferencing the identifiers in the - "linkPortIds" attribute. + Identifiers of the link ports of the affected VL related to the change. Each identifier references an + "NsLinkPortInfo" structure. Shall be set when changeType is equal to "ADD_LINK_PORT" or "REMOVE_LINK_PORT", + and the related "NsLinkPortInfo" structures are present (case "add") or have been present (case "remove") in + the "NsVirtualLinkInfo" structure that is represented by the "virtualLinkInfo" attribute in the "NsInstance" + structure. The resource handles of the affected NS link ports can be found by dereferencing the identifiers + in the "linkPortIds" attribute. type: array items: $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInNs" - networkResource: - description: > - Reference to the VirtualNetwork resource. Detailed information is - (for new and modified resources) or has been (for removed - resources) available from the VIM. - $ref: "../../definitions/SOL005_def.yaml#/definitions/ResourceHandle" - metadata: + changeResult: description: > - Metadata about this resource. - The content of this attribute shall be a copy of the content of the - "metadata" attribute of the VnfVirtualLinkResourceInfo structure. - $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" + Signals the result of change identified by the + "changeType" attribute. + Permitted values: + * COMPLETED + * ROLLED_BACK + * FAILED + type: string + enum: + - COMPLETED + - ROLLED_BACK + - FAILED AffectedVirtualStorage: description: > -- GitLab From 418c1a8eb253b09eca266106811661409287340e Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Wed, 2 Dec 2020 13:10:36 +0100 Subject: [PATCH 02/70] re-fixed issue #5 --- src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml index 16c73d2..e00648f 100644 --- a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml +++ b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml @@ -13,7 +13,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:2 externalDocs: description: ETSI GS NFV-SOL 005 V3.3.1 -- GitLab From 7ec8e3ace2e38eb46e5f50a1d0c265392cce659e Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Tue, 12 Jan 2021 17:48:18 +0100 Subject: [PATCH 03/70] fixed issue #12 --- .../NSLifecycleManagement/NSLifecycleManagement.yaml | 2 +- .../definitions/SOL005NSLifecycleManagement_def.yaml | 7 +------ 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml index e00648f..9afe507 100644 --- a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml +++ b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml @@ -13,7 +13,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:2 + version: 2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:3 externalDocs: description: ETSI GS NFV-SOL 005 V3.3.1 diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index f6ae325..f95e034 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -1856,7 +1856,7 @@ definitions: An example can be a constraint for the nested NS to be in a specific geographic location. type: array items: - $ref: "#/definitions/NsLocationConstraint" + $ref: "#/definitions/NestedNsLocationConstraint" additionalParamsForNs: description: > Allows the OSS/BSS to provide additional parameter(s) @@ -4918,11 +4918,6 @@ definitions: items: $ref: "#/definitions/ConnectivityServiceEndpointInfo" - NsLocationConstraint: - description: | - - type: object - WanConnectionData: description: | This type provides information used to connect the comprising network resources realizing a VL, e.g., when the VL -- GitLab From 88c7710eeff253cc5c56a2db8e841b74ba1a4aaa Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Tue, 19 Jan 2021 15:34:08 +0100 Subject: [PATCH 04/70] fixed issue #11 --- .../NSLifecycleManagement/NSLifecycleManagement.yaml | 2 +- .../definitions/SOL005NSLifecycleManagement_def.yaml | 10 +++------- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml index 9afe507..6319f01 100644 --- a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml +++ b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml @@ -13,7 +13,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:3 + version: 2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:4 externalDocs: description: ETSI GS NFV-SOL 005 V3.3.1 diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index f95e034..5e0947c 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -796,9 +796,7 @@ definitions: Identifiers of the CP instances attached to the constituent VNFs and PNFs or the SAP instances of the VNFFG. See note. - type: array - items: - $ref: "#/definitions/NsCpHandle" + $ref: "#/definitions/NsCpHandle" NfpInfo: description: > @@ -837,7 +835,7 @@ definitions: type: array minItems: 1 items: - $ref: "#/definitions/NsCpHandle" + $ref: "#/definitions/CpGroupInfo" totalCp: description: > Total number of CP and SAP instances in this NFP instance. @@ -1721,9 +1719,7 @@ definitions: sapInfo item in the NS instance. There shall be at most one link port associated with any connection point instance. - type: array - items: - $ref: "#/definitions/NsCpHandle" + $ref: "#/definitions/NsCpHandle" AffinityOrAntiAffinityRule: description: > -- GitLab From a96875bf36628f4a7f7932a20c7b96334866fee5 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Tue, 19 Jan 2021 18:27:23 +0100 Subject: [PATCH 05/70] fixed issue #17 --- .../VNFPackageManagement.yaml | 2 +- .../SOL005VNFPackageManagement_def.yaml | 104 +++++++++--------- 2 files changed, 53 insertions(+), 53 deletions(-) diff --git a/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml index 4e3b478..be25ddd 100644 --- a/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml @@ -12,7 +12,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:2 externalDocs: description: ETSI GS NFV-SOL 005 V3.3.1 diff --git a/src/SOL005/VNFPackageManagement/definitions/SOL005VNFPackageManagement_def.yaml b/src/SOL005/VNFPackageManagement/definitions/SOL005VNFPackageManagement_def.yaml index 1e72448..df5aafb 100644 --- a/src/SOL005/VNFPackageManagement/definitions/SOL005VNFPackageManagement_def.yaml +++ b/src/SOL005/VNFPackageManagement/definitions/SOL005VNFPackageManagement_def.yaml @@ -618,6 +618,13 @@ definitions: If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical "or" between the values of one filter attribute). type: object + oneOf: + - required: + - vnfProductsFromProviders + - required: + - vnfdId + - required: + - vnfPkgId properties: notificationTypes: description: > @@ -637,13 +644,6 @@ definitions: type: object required: - vnfProvider - oneOf: - - required: - - vnfProductsFromProviders - - required: - - vnfdId - - required: - - vnfPkgId properties: vnfProvider: description: > @@ -689,51 +689,51 @@ definitions: type: array items: $ref: "../../definitions/SOL005_def.yaml#/definitions/Version" - vnfdId: - description: > - Match VNF packages with a VNFD identifier - listed in the attribute. - type: array - items: - $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" - vnfPkgId: - description: > - Match VNF packages with a package identifier - listed in the attribute. - May be present if the "notificationTypes" - attribute contains the value - "VnfPackageChangeNotification", and shall be - absent otherwise. - type: array - items: - $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" - operationalState: - description: > - Match VNF packages with a package identifier - listed in the attribute. - May be present if the "notificationTypes" - attribute contains the value - "VnfPackageChangeNotification", and shall be - absent otherwise. - type: array - items: - $ref: "#/definitions/PackageOperationalStateType" - usageState: - description: > - Match particular usage state of the on-boarded VNF package. - May be present if the "notificationTypes" - attribute contains the value - "VnfPackageChangeNotification", and shall be - absent otherwise. - type: array - items: - $ref: "#/definitions/PackageUsageStateType" - vnfmInfo: - description: > - Match strings that specify VNFMs compatible with the VNF. See Table 9.5.2.5-1. - type: array - items: - type: string + vnfdId: + description: > + Match VNF packages with a VNFD identifier + listed in the attribute. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + vnfPkgId: + description: > + Match VNF packages with a package identifier + listed in the attribute. + May be present if the "notificationTypes" + attribute contains the value + "VnfPackageChangeNotification", and shall be + absent otherwise. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + operationalState: + description: > + Match VNF packages with a package identifier + listed in the attribute. + May be present if the "notificationTypes" + attribute contains the value + "VnfPackageChangeNotification", and shall be + absent otherwise. + type: array + items: + $ref: "#/definitions/PackageOperationalStateType" + usageState: + description: > + Match particular usage state of the on-boarded VNF package. + May be present if the "notificationTypes" + attribute contains the value + "VnfPackageChangeNotification", and shall be + absent otherwise. + type: array + items: + $ref: "#/definitions/PackageUsageStateType" + vnfmInfo: + description: > + Match strings that specify VNFMs compatible with the VNF. See Table 9.5.2.5-1. + type: array + items: + type: string PackageChangeType: -- GitLab From 02ca8ae991a652a9338fa1bc4eb4e132142e16af Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Fri, 5 Feb 2021 15:57:26 +0100 Subject: [PATCH 06/70] fixed issue #4 in 3.3.1 --- src/SOL005/endpoints/SOL005_endpoints.yaml | 30 ++++++++++++++++++++-- src/SOL005/responses/SOL005_resp.yaml | 2 ++ 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/src/SOL005/endpoints/SOL005_endpoints.yaml b/src/SOL005/endpoints/SOL005_endpoints.yaml index c544e8c..c720b1e 100644 --- a/src/SOL005/endpoints/SOL005_endpoints.yaml +++ b/src/SOL005/endpoints/SOL005_endpoints.yaml @@ -22,8 +22,6 @@ endpoints: $ref: ../responses/SOL005_resp.yaml#/components/responses/403 "404": $ref: ../responses/SOL005_resp.yaml#/components/responses/404 - "405": - $ref: ../responses/SOL005_resp.yaml#/components/responses/405 "406": $ref: ../responses/SOL005_resp.yaml#/components/responses/406 "413": @@ -42,6 +40,34 @@ endpoints: $ref: ../responses/SOL005_resp.yaml#/components/responses/503 "504": $ref: ../responses/SOL005_resp.yaml#/components/responses/504 + post: + description: > + This method is not supported. When this method is requested on this resource, the API producer shall + return a "405 Method Not Allowed" response + responses: + 405: + $ref: ../responses/SOL005_resp.yaml#/components/responses/405 + put: + description: > + This method is not supported. When this method is requested on this resource, the API producer shall + return a "405 Method Not Allowed" response + responses: + 405: + $ref: ../responses/SOL005_resp.yaml#/components/responses/405 + patch: + description: > + This method is not supported. When this method is requested on this resource, the API producer shall + return a "405 Method Not Allowed" response + responses: + 405: + $ref: ../responses/SOL005_resp.yaml#/components/responses/405 + delete: + description: > + This method is not supported. When this method is requested on this resource, the API producer shall + return a "405 Method Not Allowed" response + responses: + 405: + $ref: ../responses/SOL005_resp.yaml#/components/responses/405 components: responses: diff --git a/src/SOL005/responses/SOL005_resp.yaml b/src/SOL005/responses/SOL005_resp.yaml index 6bbb21e..d9047a1 100644 --- a/src/SOL005/responses/SOL005_resp.yaml +++ b/src/SOL005/responses/SOL005_resp.yaml @@ -301,6 +301,8 @@ components: application/json: schema: $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + maximum: 1 + minimum: 0 406: description: > -- GitLab From 6ad09f10df485afba17ec781387741f16be42d3b Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Tue, 2 Mar 2021 12:19:10 +0100 Subject: [PATCH 07/70] fixed issue #18 --- src/SOL005/NSFaultManagement/NSFaultManagement.yaml | 2 +- .../definitions/SOL005NSFaultManagement_def.yaml | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/SOL005/NSFaultManagement/NSFaultManagement.yaml b/src/SOL005/NSFaultManagement/NSFaultManagement.yaml index 29b31e4..596cf7f 100644 --- a/src/SOL005/NSFaultManagement/NSFaultManagement.yaml +++ b/src/SOL005/NSFaultManagement/NSFaultManagement.yaml @@ -13,7 +13,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 1.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 1.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:2 externalDocs: description: ETSI GS NFV-SOL 005 V3.3.1 diff --git a/src/SOL005/NSFaultManagement/definitions/SOL005NSFaultManagement_def.yaml b/src/SOL005/NSFaultManagement/definitions/SOL005NSFaultManagement_def.yaml index d1619f2..f486114 100644 --- a/src/SOL005/NSFaultManagement/definitions/SOL005NSFaultManagement_def.yaml +++ b/src/SOL005/NSFaultManagement/definitions/SOL005NSFaultManagement_def.yaml @@ -101,7 +101,9 @@ definitions: faultDetails: description: > Provides additional information about the fault.. - type: string + type: array + items: + type: string _links: description: > Links for this resource. -- GitLab From 0bcfe9ab58c27ed67b8358c7e44a6515fcd68b8b Mon Sep 17 00:00:00 2001 From: piscione Date: Wed, 21 Apr 2021 15:59:35 +0200 Subject: [PATCH 08/70] SOL005_4: updated description of Patch method of NSDManagement --- src/SOL005/NSDManagement/NSDManagement.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/SOL005/NSDManagement/NSDManagement.yaml b/src/SOL005/NSDManagement/NSDManagement.yaml index 9287803..f6070d0 100644 --- a/src/SOL005/NSDManagement/NSDManagement.yaml +++ b/src/SOL005/NSDManagement/NSDManagement.yaml @@ -177,7 +177,7 @@ paths: # 409 CONFLICT # Error: The operation cannot be executed currently, - # due to a conflict with the state of the resource. + # due to a conflict with the state of the "individual NS descriptor" resource. # Typically, this is due to an operational state # mismatch, i.e. enable an already enabled or # disable an already disabled individual NS @@ -1559,7 +1559,7 @@ components: 200 OK Shall be returned when the operation has been accepted and completed successfully. - The response body shall contain attribute modifications for an 'Individual NS Descriptor' + The response body shall contain attribute modifications for an 'Individual NS descriptor' resource (see clause 5.5.2.6). headers: Content-Type: -- GitLab From 1334a67f9dc9325e7134d4afd0a76468dfa6e2a5 Mon Sep 17 00:00:00 2001 From: piscione Date: Wed, 21 Apr 2021 16:10:41 +0200 Subject: [PATCH 09/70] SOL005_5: updated description of Delete method of NSDManagement --- src/SOL005/NSDManagement/NSDManagement.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/SOL005/NSDManagement/NSDManagement.yaml b/src/SOL005/NSDManagement/NSDManagement.yaml index f6070d0..aa1c855 100644 --- a/src/SOL005/NSDManagement/NSDManagement.yaml +++ b/src/SOL005/NSDManagement/NSDManagement.yaml @@ -226,9 +226,9 @@ paths: # due to a conflict with the state of the resource. # Typically, this is due to the fact the NS descriptor # resource is in the enabled operational state (i.e. - # operationalState = ENABLED) or there are running + # nsdOperationalState = ENABLED) or there are running # NS instances using the concerned individual NS - # descriptor resource (i.e. usageState = IN_USE). + # descriptor resource (i.e. nsdUsageState = IN_USE). # The response body shall contain a ProblemDetails # structure, in which the "detail" attribute shall convey # more information about the error. -- GitLab From d52e0ec750be7b7f758843e89b378f6f1dece918 Mon Sep 17 00:00:00 2001 From: piscione Date: Wed, 21 Apr 2021 16:28:43 +0200 Subject: [PATCH 10/70] SOL005_6: updated description of a field of NsdInfo datamodel --- .../definitions/SOL005NSDescriptorManagement_def.yaml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/SOL005/NSDManagement/definitions/SOL005NSDescriptorManagement_def.yaml b/src/SOL005/NSDManagement/definitions/SOL005NSDescriptorManagement_def.yaml index c246405..9d8a36d 100644 --- a/src/SOL005/NSDManagement/definitions/SOL005NSDescriptorManagement_def.yaml +++ b/src/SOL005/NSDManagement/definitions/SOL005NSDescriptorManagement_def.yaml @@ -104,8 +104,11 @@ definitions: archiveSecurityOption: description: > Signals the security option used by the NSD archive as defined - in clause 5.1 of ETSI GS NFV SOL 007. - Valid values: OPTION_1, OPTION_2 + in clause 5.1 of ETSI GS NFV SOL 007. It shall be present after the + VNF package content has been on-boarded and absent otherwise. + Valid values: + - OPTION_1 + - OPTION_2 type: string enum: - OPTION_1 -- GitLab From f1ab4348e5ceda7f047804f33464b76d4dc06297 Mon Sep 17 00:00:00 2001 From: piscione Date: Wed, 21 Apr 2021 17:35:57 +0200 Subject: [PATCH 11/70] SOL005_11: updated description of attributes of InstantiateNsRequest datamodel --- .../definitions/SOL005NSLifecycleManagement_def.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index 5e0947c..c6fa380 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -1859,15 +1859,15 @@ definitions: at the composite NS level (as opposed to the VNF level, which is covered in additionalParamsForVnf), and as opposed to the nested NS level, which is covered in - additionalParamForNestedNs. + additionalParamsForNestedNs. $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" - additionalParamForNestedNs: + additionalParamsForNestedNs: description: > Allows the OSS/BSS to provide additional parameter(s) per nested NS instance (as opposed to the composite NS - level, which is covered in additionalParamForNs, and as + level, which is covered in additionalParamsForNs, and as opposed to the VNF level, which is covered in - additionalParamForVnf). This is for nested NS instances + additionalParamsForVnf). This is for nested NS instances that are to be created by the NFVO as part of the NS instantiation and not for existing nested NS instances that are referenced for reuse. @@ -1880,7 +1880,7 @@ definitions: per VNF instance (as opposed to the composite NS level, which is covered in additionalParamsForNs and as opposed to the nested NS level, which is covered in - additionalParamForNestedNs). This is for VNFs that are + additionalParamsForNestedNs). This is for VNFs that are to be created by the NFVO as part of the NS instantiation and not for existing VNF that are referenced for reuse. type: array -- GitLab From cbe0a6b3a095bfbdb6c012a1c70ede213971bd3b Mon Sep 17 00:00:00 2001 From: piscione Date: Wed, 21 Apr 2021 17:59:34 +0200 Subject: [PATCH 12/70] SOL005_13: added TerminateVnfData datamodel --- .../SOL005NSLifecycleManagement_def.yaml | 41 ++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index c6fa380..63fcd14 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -6071,4 +6071,43 @@ definitions: type: string enum: - FULL - - SHORT \ No newline at end of file + - SHORT + + TerminateVnfData: + description: > + This type represents the information to terminate a VNF that is part of an NS. + type: object + required: + - vnfInstanceId + properties: + vnfInstanceId: + description: > + Identifies the VNF instance, part of the NS, to be terminated. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + terminationType: + description: > + Indicates whether forceful or graceful termination is requested. + If the VNF is still in service, requesting forceful termination can + adversely impact network service. + Permitted values: + - FORCEFUL + - GRACEFUL + type: string + enum: + - FORCEFUL + - GRACEFUL + gracefulTerminationTimeout: + description: > + The attribute is only applicable in case of graceful termination. + It defines the time to wait for the VNF to be taken out of service before + shutting down the VNF and releasing the resources. + The unit is seconds. + type: integer + additionalParams: + description: > + Additional parameters passed by the OSS/BSS as input to the termination process, specific to the VNF being terminated. + EXAMPLE: Input parameters to VNF-specific termination procedures. + + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" + + -- GitLab From 4fa3e449733914ea704aa26945de5adc010e66e6 Mon Sep 17 00:00:00 2001 From: piscione Date: Wed, 21 Apr 2021 18:12:13 +0200 Subject: [PATCH 13/70] SOL005_12: added attribute and note to UpdateNsRequest data model --- .../SOL005NSLifecycleManagement_def.yaml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index 63fcd14..a799ecd 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -2269,6 +2269,20 @@ definitions: type: array items: $ref: "#/definitions/InstantiateVnfData" + terminateVnfData: + description: > + Specifies the details to terminate VNF instance(s). + It shall be present only if updateType = "REMOVE_VNF" + and if the VNF instance(s) is(are) to be terminated as + part of this operation. + If a VNF instance is removed from an NS and this NS was the + last one for which this VNF instance was a part, the VNF instance + is terminated by the NFVO. + For each of the referred vnfInstanceId in the terminateVnfData, + there shall be a corresponding value in the removeVnfInstanceId. + type: array + items: + $ref: "#/definitions/TerminateVnfData" changeVnfFlavourData: description: > Identifies the new DF of the VNF instance to be -- GitLab From a36a3dfc3d29f98e0a3fd881306b8f126e720efd Mon Sep 17 00:00:00 2001 From: piscione Date: Wed, 21 Apr 2021 18:20:13 +0200 Subject: [PATCH 14/70] SOL005_14: added TerminateNsData datamodel. --- .../definitions/SOL005NSLifecycleManagement_def.yaml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index a799ecd..2c85699 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -6121,7 +6121,12 @@ definitions: description: > Additional parameters passed by the OSS/BSS as input to the termination process, specific to the VNF being terminated. EXAMPLE: Input parameters to VNF-specific termination procedures. - $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" - + TerminateNsData: + type: object + properties: + additionalParamsforNs: + description: > + Allows the OSS/BSS to provide additional parameter(s) to the termination process at the NS level. + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" \ No newline at end of file -- GitLab From 99aa7cafd7319d0deeb41e3759a8e25b6c2ed131 Mon Sep 17 00:00:00 2001 From: piscione Date: Wed, 21 Apr 2021 18:27:23 +0200 Subject: [PATCH 15/70] SOL005_15: added attributes to TerminateNsRequest datamodel --- .../SOL005NSLifecycleManagement_def.yaml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index 2c85699..c7a5da5 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -131,6 +131,22 @@ definitions: will be terminated automatically at this timestamp. Cardinality "0" indicates the NS termination takes place immediately $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" + terminateNsData: + description: > + Provides additional parameters to the termination process at the NS level. + Information needed for terminating specific VNF instances shall only be specified + in the "terminateVnfData" attribute, and not in the "terminateNsData" attribute. + $ref: "#/definitions/TerminateNsData" + terminateVnfData: + description: > + Provides the information to terminate VNF instance(s). + Information needed for terminating specific VNF instances + shall only be specified in the "terminateVnfData" attribute, and not in the "terminateNsData" attribute. + VNF instance(s) part of this NS instance is(are) terminated as part of Terminate NS operation + only if the instance(s) is(are) not used by any other NS instance. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" CreateNsRequest: type: object -- GitLab From fc9b28f0986b269b4435dd86228a4f5c07fde9a9 Mon Sep 17 00:00:00 2001 From: piscione Date: Wed, 21 Apr 2021 18:37:35 +0200 Subject: [PATCH 16/70] SOL005_17: added attributes on IpOverEthernetAddressData data model and updated description and note --- .../SOL005NSLifecycleManagement_def.yaml | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index c7a5da5..95ca7c1 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -4413,10 +4413,22 @@ definitions: description: > MAC address. If this attribute is not present, it shall be chosen by the NFV MANO. $ref: "#/definitions/MacAddress" + segmentationType: + description: > + Specifies the encapsulation type for the traffics coming in and out of the trunk subport. + Permitted values are: + - VLAN: The subport uses VLAN as encapsulation type. + - INHERIT: The subport gets its segmentation type from the network it is connected to. + This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. + If this attribute is not present for a subport CP instance, default value VLAN shall be used. + type: string + enum: + - VLAN + - INHERIT segmentationId: description: > - Identification of the network segment to which the Cp instance connects to. - If the Cp instance represents a subport in a trunk, "segmentationId" shall be present. + Identification of the network segment to which the CP instance connects to. + If the CP instance represents a subport in a trunk, "segmentationId" shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the "segmentationId" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an @@ -4446,7 +4458,9 @@ definitions: type: description: > The type of the IP addresses. - Permitted values: IPV4, IPV6. + Permitted values: + - IPV4 + - IPV6 type: string enum: - IPV4 -- GitLab From ef0888cf7b38e5066bfcabe998d4e785beaed1ba Mon Sep 17 00:00:00 2001 From: piscione Date: Sun, 25 Apr 2021 20:23:02 +0200 Subject: [PATCH 17/70] SOL005_18: updated description of attribute of IpOverEthernetAddressInfo data model --- .../definitions/SOL005NSLifecycleManagement_def.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index 95ca7c1..c732375 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -1256,7 +1256,9 @@ definitions: type: description: > The type of the IP addresses. - Permitted values: IPV4, IPV6. + Permitted values: + - IPV4 + - IPV6 type: string enum: - IPV4 -- GitLab From e38ec47f9f361af8dcdb2dc35721732331352468 Mon Sep 17 00:00:00 2001 From: piscione Date: Sun, 25 Apr 2021 20:42:44 +0200 Subject: [PATCH 18/70] SOL005_20: updated description of fields of ParamsForVnf datamodel --- .../SOL005NSLifecycleManagement_def.yaml | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index c732375..d464bf4 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -1979,19 +1979,31 @@ definitions: type: string vnfConfigurableProperties: description: > - Values for the "vnfConfigurableProperties" input + If present, this attribute provides values for the configurable properties declared in the VNFD. + These values will override the default values if default values are also declared in the VNFD. + + It provides values for the "vnfConfigurableProperties" input parameter of the Instantiate VNF operation defined in ETSI GS NFV-SOL 003 [4]. $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" metadata: description: > - Values for the "metadata" input parameter of the Create + If present, this attribute provides values for metadata. + Metadata can but need not be declared in the VNFD. + These values will override the default values if default + values are also declared in the VNFD. + + It provides the values for the "metadata" input parameter of the Create VNF Identifier operation defined in ETSI GS NFV-SOL 003 [4]. $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" extensions: description: > - Values for the "extensions" attribute of the Instantiate + If present, this attribute provides values for the extensions + declared in the VNFD. These values will override the default + values if default values are also declared in the VNFD. + + It provides the values for the "extensions" input parameter of the Instantiate VNF operation defined in ETSI GS NFV-SOL 003 [4]. $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" additionalParams: -- GitLab From e94b2acccf6035cceb2721b2021ac7ebb6624201 Mon Sep 17 00:00:00 2001 From: piscione Date: Sun, 25 Apr 2021 21:09:06 +0200 Subject: [PATCH 19/70] SOL005_21: updated descriptions and notes and added attribute to InstantiateVnfData datamodel --- .../SOL005NSLifecycleManagement_def.yaml | 60 +++++++++++++++++-- 1 file changed, 56 insertions(+), 4 deletions(-) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index d464bf4..9092b56 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -2496,18 +2496,39 @@ definitions: update operation, a set of these parameters are then passed by the NFVO to the VNFM. It shall comply with the provisions defined in Table 6.5.3.24-1. type: object - required: - - vnfdId - - vnfFlavourId properties: vnfdId: description: > Information sufficient to identify the VNFD which defines the VNF to be instantiated. + + If vnfdId and vnfFlavourId (and vnfInstantiationLevelId, + if provided) are present, there should be only one vnfProfile + that matches the vnfdId and vnfFlavourId (and vnfInstantiationLevelId, + if present) in the NS deployment flavour specified in the NSD + associated to the NS instance to which the present operation is + triggered. In the case there is more than one matching vnfProfile, + the NFVO may select a matching vnfProfile based on other information, + such as external VL. + + Either the attribute triple "vnfdId, vnfFlavourId and vnfInstantiationLevelId + (if provided)" or the attribute "vnProfileId" shall be present, but not both. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" vnfFlavourId: description: > Identifier of the VNF deployment flavor to be instantiated. + + If vnfdId and vnfFlavourId (and vnfInstantiationLevelId, + if provided) are present, there should be only one vnfProfile + that matches the vnfdId and vnfFlavourId (and vnfInstantiationLevelId, + if present) in the NS deployment flavour specified in the NSD + associated to the NS instance to which the present operation is + triggered. In the case there is more than one matching vnfProfile, + the NFVO may select a matching vnfProfile based on other information, + such as external VL. + + Either the attribute triple "vnfdId, vnfFlavourId and vnfInstantiationLevelId + (if provided)" or the attribute "vnProfileId" shall be present, but not both. $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" vnfInstantiationLevelId: description: > @@ -2515,7 +2536,26 @@ definitions: flavor to be instantiated. If not present, the default instantiation level as declared in the VNFD is instantiated. + + If vnfdId and vnfFlavourId (and vnfInstantiationLevelId, + if provided) are present, there should be only one vnfProfile + that matches the vnfdId and vnfFlavourId (and vnfInstantiationLevelId, + if present) in the NS deployment flavour specified in the NSD + associated to the NS instance to which the present operation is + triggered. In the case there is more than one matching vnfProfile, + the NFVO may select a matching vnfProfile based on other information, + such as external VL. + + Either the attribute triple "vnfdId, vnfFlavourId and vnfInstantiationLevelId + (if provided)" or the attribute "vnProfileId" shall be present, but not both. $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" + vnfProfileId: + description: > + Identifier of (Reference to) a vnfProfile defined in the NSD which is used for instantiating the VNF. + + Either the attribute triple "vnfdId, vnfFlavourId and vnfInstantiationLevelId + (if provided)" or the attribute "vnProfileId" shall be present, but not both. + $ref: "#/definitions/IdentifierInNsd" vnfInstanceName: description: > Human-readable name of the VNF instance to be created. @@ -2547,7 +2587,11 @@ definitions: type: string vnfConfigurableProperties: description: > - Values for the "vnfConfigurableProperties" input + If present, this attribute provides values for the configurable + properties declared in the VNFD. These values will override + the default values if default values are also declared in the VNFD. + + It provides values for the "vnfConfigurableProperties" input parameter of the Instantiate VNF operation defined in ETSI GS NFV-SOL 003 [4]. $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" @@ -2558,11 +2602,19 @@ definitions: $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" metadata: description: > + If present, this attribute provides values for metadata. Metadata + can but need not be declared in the VNFD. These values will override + the default values if default values are also declared in the VNFD. + This attribute provides values for the "metadata" input parameter of the Create VNF Identifier operation. $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" extensions: description: > + If present, this attribute provides values for extensions declared + in the VNFD. These values will override the default values if default + values are also declared in the VNFD. + This attribute provides values for the "extensions" input parameter of the Instantiate VNF operation. $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" -- GitLab From f04b3e4638baa596d26d3e499f07774da9dab32a Mon Sep 17 00:00:00 2001 From: piscione Date: Sun, 25 Apr 2021 21:13:15 +0200 Subject: [PATCH 20/70] SOL005_22: added note to ExtVirtualLinkData datamodel --- .../SOL005NSLifecycleManagement_def.yaml | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index 9092b56..0f48ab8 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -4616,7 +4616,18 @@ definitions: extLinkPorts: description: > Externally provided link ports to be used to connect - external connection points to this external VL. + external connection points to this external VL unless + the extCp exposes a VIP CP and a link port is not needed + for it based on the conditions defined below. + + A link port is not needed for an external CP instance that exposes a VIP CP in the following cases: + 1. For a VIP CP directly exposed as extCP: + 1.1. no dedicated IP address is allocated as VIP address, as indicated in the VNFD + 1.2. a dedicated IP address is allocated as VIP address, but the NFVO indicates that no port is needed + (createExtLinkPort in VnfExtCpConfig set to false). + 2. For a VIP CP exposed as extCP via a floating IP address: + 2.1. no dedicated IP address is allocated as VIP address, as indicated in the VNFD, + and the VNFC CP associated to the VIP CP is also exposed via a floating IP address. type: array items: $ref: "#/definitions/ExtLinkPortData" -- GitLab From 4c1c9e9d62767ca81f18b58a1ed8561f2df7b5c8 Mon Sep 17 00:00:00 2001 From: piscione Date: Sun, 25 Apr 2021 21:20:12 +0200 Subject: [PATCH 21/70] SOL005_23: added attribute to ExtLinkPortData datamodel --- .../definitions/SOL005NSLifecycleManagement_def.yaml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index 0f48ab8..90f80f1 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -4737,6 +4737,15 @@ definitions: description: > Reference to the virtualised resource realizing this link port. $ref: "../../definitions/SOL005_def.yaml#/definitions/ResourceHandle" + trunkResourceId: + description: > + Identifier of the trunk resource in the VIM. + Shall be present if the present link port corresponds to the parent + port that the trunk resource is associated with. + + The value of "trunkResourceId" is scoped by the value of "vimConnectionId" + in the "resourceHandle" attribute. + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVim" VnfExtCpConfig: description: > -- GitLab From 76aa8d2e89c45b4541cd168c61f8114786fd7511 Mon Sep 17 00:00:00 2001 From: piscione Date: Sun, 25 Apr 2021 21:25:05 +0200 Subject: [PATCH 22/70] SOL005_24: added attribute to VnfExtCpConfig datamodel --- .../SOL005NSLifecycleManagement_def.yaml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index 90f80f1..11b0514 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -4788,6 +4788,19 @@ definitions: consumer shall ensure that the cpProtocolData can be used with the pre-created link port referenced by "linkPortId". $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + + createExtLinkPort: + description: > + Indicates the need to create a dedicated link port for the external CP. + + If set to True, a link port is created. If set to False, no link port is created. + + This attribute is only applicable for external CP instances without a floating IP + address that expose a VIP CP instance for which a dedicated IP address is allocated. + It shall be present in that case and shall be absent otherwise. + + type: boolean + cpProtocolData: description: > Parameters for configuring the network protocols on the link port -- GitLab From 662ea6473b12c13d64374fd60a69d2d37b9d38b5 Mon Sep 17 00:00:00 2001 From: piscione Date: Sun, 25 Apr 2021 21:26:42 +0200 Subject: [PATCH 23/70] SOL005_25: updated description of a field of ChangeExtVnfConnectivityData datamodel --- .../definitions/SOL005NSLifecycleManagement_def.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index 11b0514..89c071c 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -2828,7 +2828,7 @@ definitions: $ref: "#/definitions/ExtVirtualLinkData" additionalParams: description: > - Additional parameters passed by the OSS as input to + Additional parameters passed by the OSS/BSS as input to the external connectivity change process, specific to the VNF instance being changed. $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" -- GitLab From 83782557e7ee65a9bf8e23f9ba00f74a04dab6ce Mon Sep 17 00:00:00 2001 From: piscione Date: Sun, 25 Apr 2021 21:33:02 +0200 Subject: [PATCH 24/70] SOL005_27: updated description fields of ScaleNsData datamodel --- .../definitions/SOL005NSLifecycleManagement_def.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index 89c071c..9bbcce5 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -3954,14 +3954,14 @@ definitions: Allows the OSS/BSS to provide additional parameter(s) at the NS level necessary for the NS scaling (as opposed to the VNF level, which is - covered in additionalParamForVnf). + covered in additionalParamsForVnf). $ref: "#/definitions/ParamsForVnf" additionalParamsForVnf: description: > Allows the OSS/BSS to provide additional parameter(s) per VNF instance (as opposed to the NS level, which is covered in - additionalParamforNs). This is for VNFs that are + additionalParamsforNs). This is for VNFs that are to be created by the NFVO as part of the NS scaling and not for existing VNF that are covered by the scaleVnfData. -- GitLab From f518a4d5b6758ca5419a7f43bc8afdec516f1ebd Mon Sep 17 00:00:00 2001 From: piscione Date: Mon, 26 Apr 2021 18:59:26 +0200 Subject: [PATCH 25/70] SOL005_35: added VipCpInfo datamodel --- .../SOL005NSLifecycleManagement_def.yaml | 46 ++++++++++++++++++- 1 file changed, 45 insertions(+), 1 deletion(-) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index 9bbcce5..1c14687 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -6258,4 +6258,48 @@ definitions: additionalParamsforNs: description: > Allows the OSS/BSS to provide additional parameter(s) to the termination process at the NS level. - $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" \ No newline at end of file + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" + + VipCpInfo: + type: object + required: + - cpInstanceId + - cpdId + properties: + cpInstanceId: + description: > + Identifier of this VIP CP instance and of this VipCpInfo information element. + $ref: "#/definitions/IdentifierInVnf" + cpdId: + description: > + Identifier of the VIP Connection Point Descriptor, VipCpd, in the VNFD. + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" + vnfExtCpId: + description: > + When the VIP CP is exposed as external CP of the VNF, the identifier of this external VNF CP instance. + $ref: "#/definitions/IdentifierInVnf" + cpProtocolInfo: + description: > + Protocol information for this CP. There shall be one cpProtocolInfo for layer 3. There may be one cpProtocolInfo for layer 2. + type: array + items: + $ref: "#/definitions/CpProtocolInfo" + associatedVnfcCpIds: + description: > + Identifiers of the VnfcCps that share the virtual IP addresse allocated to the VIP CP instance. + + It is possible that there is no associated VnfcCp because the VIP CP is available but not associated yet. + type: array + items: + $ref: "#/definitions/IdentifierInVnf" + vnfLinkPortId: + description: > + Identifier of the "VnfLinkPortInfo" structure in the "VnfVirtualLinkResourceInfo" or "ExtManagedVirtual-LinkĀ¬Info" structure. + Shall be present if the CP is associated to a link port on an internal VL (including externally-managed internal VL). + $ref: "#/definitions/IdentifierInVnf" + metadata: + description: > + Allows the OSS/BSS to provide additional parameter(s) to the termination process at the NS level. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" \ No newline at end of file -- GitLab From 9342d01c5fc8c87b539361f57022aab7e00eb9bc Mon Sep 17 00:00:00 2001 From: piscione Date: Mon, 26 Apr 2021 19:04:22 +0200 Subject: [PATCH 26/70] SOL005_28: added attribute and note to VnfInstance data model --- .../definitions/SOL005NSLifecycleManagement_def.yaml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index 1c14687..ffa558f 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -529,6 +529,16 @@ definitions: minItems: 1 items: $ref: "#/definitions/VnfExtCpInfo" + vipCpInfo: + description: > + VIP CPs that are part of the VNF instance. + Shall be present when that particular VIP CP + of the VNFC instance is associated to an external + CP of the VNF instance. + May be present otherwise. + type: array + items: + $ref: "#/definitions/VipCpInfo" extVirtualLinkInfo: description: > Information about the external VLs the VNF instance is connected to. @@ -542,6 +552,8 @@ definitions: VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site VL instance (refer to clause 6.5.3.59). + Even though externally-managed internal VLs are also used for VNF-internal connectivity, they shall not be + listed in the "vnfVirtualLinkResourceInfo" attribute as this would be redundant. type: array items: $ref: "#/definitions/ExtManagedVirtualLinkInfo" -- GitLab From a157c924ae890ce75c7351b1dfb6f9c35d7d8264 Mon Sep 17 00:00:00 2001 From: piscione Date: Mon, 26 Apr 2021 19:07:55 +0200 Subject: [PATCH 27/70] SOL005_29: updated description of a field of CpProtocolInfo datamodel --- .../definitions/SOL005NSLifecycleManagement_def.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index ffa558f..a9e840f 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -1211,7 +1211,10 @@ definitions: description: > The identifier of layer(s) and protocol(s) associated to the network address information. - Permitted values: IP_OVER_ETHERNET See note. + Permitted values: + - IP_OVER_ETHERNET + + See note. type: string enum: - IP_OVER_ETHERNET -- GitLab From 32d625331fd2151e375ffeddbb9e677e50238967 Mon Sep 17 00:00:00 2001 From: piscione Date: Mon, 26 Apr 2021 19:12:25 +0200 Subject: [PATCH 28/70] SOL005_30: added attribute to VnfcResourceInfo datamodel --- .../definitions/SOL005NSLifecycleManagement_def.yaml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index a9e840f..5c0944d 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -1626,10 +1626,18 @@ definitions: type: array items: $ref: "#/definitions/CpProtocolInfo" + parentCpId: + description: > + Identifier of another VNFC CP instance that corresponds to the parent port of a trunk that the present VNFC + CP instance participates in. + Shall be provided if the present CP instance participates in a trunk as subport, and the referred VNFC + CP instances are also present in the vnfcCpInfo attribute. + $ref: "#/definitions/IdentifierInVnf" vnfLinkPortId: description: > - Identifier of the "vnfLinkPorts" structure in the "VnfVirtualLinkResourceInfo" structure. Shall be present if - the CP is associated to a link port on an internal VL of the VNF instance and shall be absent otherwise. + Identifier of the "vnfLinkPorts" structure in the "VnfVirtualLinkResourceInfo" or "ExtManagedVirtualLinkInfo" + structure. Shall be present if the CP is associated to a link port on an internal VL (including + externally-managed internal VL) of the VNF instance and shall be absent otherwise. $ref: "#/definitions/IdentifierInVnf" metadata: description: > -- GitLab From 6a85f23a910b86f582e90c17368a7ae45f261007 Mon Sep 17 00:00:00 2001 From: piscione Date: Mon, 26 Apr 2021 19:17:51 +0200 Subject: [PATCH 29/70] SOL005_31: added attributes to ExtLinkPortInfo datamodel --- .../SOL005NSLifecycleManagement_def.yaml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index 5c0944d..192f217 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -1428,6 +1428,21 @@ definitions: external connection point instance. The value refers to an "extCpInfo" item in the VnfInstance. $ref: "#/definitions/IdentifierInVnf" + secondaryCpInstanceId: + description: > + Additional external CP of the VNF connected to this link port. + If present, this attribute shall refer to a "secondary" ExtCpInfo item in the VNF instance that exposes + a virtual IP CP instance which shares this linkport with the external CP instance referenced by the + "cpInstanceId" attribute. + The use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. + $ref: "#/definitions/IdentifierInVnf" + trunkResourceId: + description: > + Identifier of the trunk resource in the VIM. + Shall be present if the present link port corresponds to the parent port that the trunk resource is associated + with. + The value of "trunkResourceId" is scoped by the value of "vimConnectionId" in the "resourceHandle" attribute. + $ref: "#/definitions/IdentifierInVim" ExtManagedVirtualLinkInfo: type: object -- GitLab From 49e1524eed9e492807befb883411872fbceeb74b Mon Sep 17 00:00:00 2001 From: piscione Date: Tue, 27 Apr 2021 09:52:48 +0200 Subject: [PATCH 30/70] SOL005_32: added attributes and notes to VnfLinkPortInfo datamodel --- .../SOL005NSLifecycleManagement_def.yaml | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index 192f217..f9a3e25 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -1516,6 +1516,11 @@ definitions: (i.e. VNFC CP) instance. The value refers to an "extCpInfo" item in the VnfInstance or a "vnfcCpInfo" item of a "vnfcResouceInfo" item in the VnfInstance. + Either cpInstanceId with cpInstanceType set to "EXT_CP" or any combination + of cpInstanceId with cpInstanceType set to "VNFC_CP" and vipCpInstanceId + (i.e. one or both of them) shall be present for a VnfLinkPortInfo. In case + both cpInstanceId with cpInstanceType set to "VNFC_CP" and vipCpInstanceId + are present, the two different CP instances share the linkport. $ref: "#/definitions/IdentifierInVnf" cpInstanceType: description: > @@ -1525,10 +1530,33 @@ definitions: Permitted values: * VNFC_CP: The link port is connected to a VNFC CP * EXT_CP: The link port is associated to an external CP. + Either cpInstanceId with cpInstanceType set to "EXT_CP" or any combination + of cpInstanceId with cpInstanceType set to "VNFC_CP" and vipCpInstanceId + (i.e. one or both of them) shall be present for a VnfLinkPortInfo. In case + both cpInstanceId with cpInstanceType set to "VNFC_CP" and vipCpInstanceId + are present, the two different CP instances share the linkport. type: string enum: - VNFC_CP - EXT_CP + vipCpInstanceId: + description: > + VIP CP instance of the VNF connected to this link port. May be present. + Either cpInstanceId with cpInstanceType set to "EXT_CP" or any combination of cpInstanceId with + cpInstanceType set to "VNFC_CP" and vipCpInstanceId (i.e. one or both of them) shall be present + for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to "VNFC_CP" and vipCpInstanceId + are present, the two different CP instances share the linkport. + Annex A.4 of ETSI GS NFV-IFA 007 [19] provides examples for configurations where both vipCpInstanceId + and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or only + vipCpInstanceId is present (UC#6 and UC#6-b). + $ref: "#/definitions/IdentifierInVnf" + trunkResourceId: + description: > + Identifier of the trunk resource in the VIM. + Shall be present if the present link port corresponds to the parent port that the trunk resource + is associated with. + The value of "trunkResourceId" is scoped by the value of "vimConnectionId" in the "resourceHandle" attribute. + $ref: "#/definitions/IdentifierInVim" MonitoringParameter: type: object -- GitLab From 7ca16334eb65100e22a5092b65fed2d3e4a3474f Mon Sep 17 00:00:00 2001 From: piscione Date: Tue, 27 Apr 2021 14:39:49 +0200 Subject: [PATCH 31/70] SOL005_33: addded and updated attributes and notes into VnfExtCpInfo datamodel --- .../SOL005NSLifecycleManagement_def.yaml | 27 +++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index f9a3e25..cbdef69 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -1066,6 +1066,8 @@ definitions: description: > Identifier of the "extLinkPortInfo" structure inside the "extVirtualLinkInfo" structure. Shall be present if the CP is associated to a link port. + An external CP instance is not associated to a link port in the cases indicated + for the ā€œextLinkPortsā€ attribute in clause 6.5.3.26. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" metadata: description: > @@ -1073,20 +1075,23 @@ definitions: $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" associatedVnfcCpId: description: > - Identifier of the "vnfcCpInfo" structure in "VnfcResourceInfo" structure - that represents the VNFC CP which is exposed by this external CP instance. - Shall be present in case this CP instance maps to a VNFC CP(s). - The attributes "associatedVnfcCpId" and "associatedVnfVirtualLinkId" are - mutually exclusive. One and only one shall be present. - $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + Identifier of the "vnfcCpInfo" structure in "VnfcResourceInfo" structure that + represents the VNFC CP which is exposed by this external CP instance, either + directly or via a floating IP address. Shall be present in case this CP instance + maps to a VNFC CP. + The attributes "associatedVnfcCpId", "associatedVipCpId" and "associatedVnfVirtualLinkId" + are mutually exclusive. Exactly one shall be present. + $ref: "#/definitions/IdentifierInVnf" associatedVnfVirtualLinkId: description: > Identifier of the "VnfVirtualLinkResourceInfo" structure that represents - the internal VL, which is exposed by this external CP instance. Shall be - present in case this CP instance maps to an internal VL. - The attributes "associatedVnfcCpId" and "associatedVnfVirtualLinkId" are - mutually exclusive. One and only one shall be present. - $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + the internal VL or of the "ExtManagedVirtualLinkInfo" structure that represents + the externally-managed internal VL, which is exposed by this external CP instance. + Shall be present in case this CP instance maps to an internal VL (including + externally-managed internal VL). + The attributes "associatedVnfcCpId", "associatedVipCpId" and + "associatedVnfVirtualLinkId" are mutually exclusive. Exactly one shall be present. + $ref: "#/definitions/IdentifierInVnf" CpGroupInfo: description: > -- GitLab From ebfa26b211b19c42bc2f9012a9c946042a3b8a16 Mon Sep 17 00:00:00 2001 From: piscione Date: Tue, 27 Apr 2021 14:44:14 +0200 Subject: [PATCH 32/70] SOL005_34: updated description of fields of VnfcSnapshotInfo datamodel --- .../definitions/SOL005NSLifecycleManagement_def.yaml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index cbdef69..56fe78c 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -5330,7 +5330,8 @@ definitions: id: description: > Identifier of the information held by the VNFM about a specific VNFC Snapshot. This identifier is allocated by - the VNFM and is unique within the scope of a VNF snapshot. + the VNFM and is unique within the scope of a VNF snapshot. The attribute also identifies the compute snapshot + image associated to this VNFC snapshot within the context of a referred VNF snapshot. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" vnfcInstanceId: description: > @@ -5369,7 +5370,10 @@ definitions: properties: storageResourceId: description: > - Reference to the virtual storage resource. + Reference to the "VirtualStorageResourceInfo" structure in the "VnfInstance" + structure that represents the virtual storage resource. The attribute also + identifies the storage snapshot image associated to this VNFC snapshot within + the context of a referred VNF snapshot. $ref: "#/definitions/IdentifierInVnf" storageSnapshotResources: description: > -- GitLab From 329acad3992ea009b57ee92df4d1a449b81df2a3 Mon Sep 17 00:00:00 2001 From: piscione Date: Tue, 27 Apr 2021 18:23:35 +0200 Subject: [PATCH 33/70] SOL005_44: updated version of the document --- src/SOL005/APIVersion/APIVersion.yaml | 2 +- .../NFVICapacityInformation/NFVICapacityInformation.yaml | 2 +- src/SOL005/NSDManagement/NSDManagement.yaml | 6 +++--- .../NSDManagementNotification.yaml | 2 +- src/SOL005/NSFaultManagement/NSFaultManagement.yaml | 2 +- .../NSFaultManagementNotification.yaml | 2 +- src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml | 2 +- .../NSLifecycleManagementNotification.yaml | 2 +- .../NSPerformanceManagement/NSPerformanceManagement.yaml | 2 +- .../NSPerformanceManagementNotification.yaml | 2 +- src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml | 2 +- .../VNFPackageManagementNotification.yaml | 2 +- .../VNFSnapshotPackageManagement.yaml | 2 +- 13 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/SOL005/APIVersion/APIVersion.yaml b/src/SOL005/APIVersion/APIVersion.yaml index ec432b9..4cc988a 100644 --- a/src/SOL005/APIVersion/APIVersion.yaml +++ b/src/SOL005/APIVersion/APIVersion.yaml @@ -15,7 +15,7 @@ info: version: 1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 005 V3.3.1 + description: ETSI GS NFV-SOL 005 V3.5.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.03.01_60/gs_nfv-sol005v030301p.pdf servers: diff --git a/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml b/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml index 01d262a..a8b09d5 100644 --- a/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml +++ b/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml @@ -16,7 +16,7 @@ info: version: 1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 005 V3.3.1 + description: ETSI GS NFV-SOL 005 V3.5.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.03.01_60/gs_nfv-sol005v030301p.pdf servers: diff --git a/src/SOL005/NSDManagement/NSDManagement.yaml b/src/SOL005/NSDManagement/NSDManagement.yaml index aa1c855..c6b9c04 100644 --- a/src/SOL005/NSDManagement/NSDManagement.yaml +++ b/src/SOL005/NSDManagement/NSDManagement.yaml @@ -18,7 +18,7 @@ info: version: 2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 005 V3.3.1 + description: ETSI GS NFV-SOL 005 V3.5.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.03.01_60/gs_nfv-sol005v030301p.pdf servers: @@ -520,7 +520,7 @@ paths: # Individual NSD Archive Artifact # ############################################################################### /ns_descriptors/{nsdInfoId}/artifacts/{artifactPath}: - #ETSI GS NFV-SOL 005 V3.3.1 location: 5.4.4c + #ETSI GS NFV-SOL 005 V3.5.1 location: 5.4.4c parameters: - $ref: '#/components/parameters/NsdInfoId' - $ref: '#/components/parameters/ArtifactPathInNSD' @@ -1005,7 +1005,7 @@ paths: # Individual PNFD Archive Artifact # ############################################################################### /pnf_descriptors/{pnfdInfoId}/artifacts/{artifactPath}: - #ETSI GS NFV-SOL 005 V3.3.1 location: 5.4.7c + #ETSI GS NFV-SOL 005 V3.5.1 location: 5.4.7c parameters: - $ref: '#/components/parameters/PnfdInfoId' - $ref: '#/components/parameters/ArtifactPathInPNFD' diff --git a/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml b/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml index 7de59c9..0657435 100644 --- a/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml +++ b/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml @@ -17,7 +17,7 @@ info: version: 2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 005 V3.3.1 + description: ETSI GS NFV-SOL 005 V3.5.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.03.01_60/gs_nfv-sol005v030301p.pdf servers: diff --git a/src/SOL005/NSFaultManagement/NSFaultManagement.yaml b/src/SOL005/NSFaultManagement/NSFaultManagement.yaml index 596cf7f..52f36d2 100644 --- a/src/SOL005/NSFaultManagement/NSFaultManagement.yaml +++ b/src/SOL005/NSFaultManagement/NSFaultManagement.yaml @@ -16,7 +16,7 @@ info: version: 1.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:2 externalDocs: - description: ETSI GS NFV-SOL 005 V3.3.1 + description: ETSI GS NFV-SOL 005 V3.5.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.03.01_60/gs_nfv-sol005v030301p.pdf servers: diff --git a/src/SOL005/NSFaultManagementNotification/NSFaultManagementNotification.yaml b/src/SOL005/NSFaultManagementNotification/NSFaultManagementNotification.yaml index 1da3614..a389a87 100644 --- a/src/SOL005/NSFaultManagementNotification/NSFaultManagementNotification.yaml +++ b/src/SOL005/NSFaultManagementNotification/NSFaultManagementNotification.yaml @@ -12,7 +12,7 @@ info: version: 1.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 005 V3.3.1 + description: ETSI GS NFV-SOL 005 V3.5.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.03.01_60/gs_nfv-sol005v030301p.pdf servers: diff --git a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml index 6319f01..cbc83c8 100644 --- a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml +++ b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml @@ -16,7 +16,7 @@ info: version: 2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:4 externalDocs: - description: ETSI GS NFV-SOL 005 V3.3.1 + description: ETSI GS NFV-SOL 005 V3.5.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.03.01_60/gs_nfv-sol005v030301p.pdf servers: diff --git a/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml b/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml index eb6f38e..bec29fc 100644 --- a/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml +++ b/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml @@ -13,7 +13,7 @@ info: version: 2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 005 V3.3.1 + description: ETSI GS NFV-SOL 005 V3.5.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.03.01_60/gs_nfv-sol005v030301p.pdf servers: diff --git a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml index 1b61242..7cadf85 100644 --- a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml +++ b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml @@ -18,7 +18,7 @@ info: version: 2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 005 V3.3.1 + description: ETSI GS NFV-SOL 005 V3.5.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.03.01_60/gs_nfv-sol005v030301p.pdf servers: diff --git a/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml b/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml index 1fb031e..027acb9 100644 --- a/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml +++ b/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml @@ -17,7 +17,7 @@ info: version: 2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 005 V3.3.1 + description: ETSI GS NFV-SOL 005 V3.5.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.03.01_60/gs_nfv-sol005v030301p.pdf servers: diff --git a/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml index be25ddd..624239f 100644 --- a/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml @@ -15,7 +15,7 @@ info: version: 2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:2 externalDocs: - description: ETSI GS NFV-SOL 005 V3.3.1 + description: ETSI GS NFV-SOL 005 V3.5.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.03.01_60/gs_nfv-sol005v030301p.pdf servers: diff --git a/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml b/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml index 84c6d7c..24940e2 100644 --- a/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml +++ b/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml @@ -13,7 +13,7 @@ info: version: 2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 005 V3.3.1 + description: ETSI GS NFV-SOL 005 V3.5.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.03.01_60/gs_nfv-sol005v030301p.pdf servers: diff --git a/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml b/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml index 449c065..9b55156 100644 --- a/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml +++ b/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml @@ -17,7 +17,7 @@ info: version: 1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 005 V3.3.1 + description: ETSI GS NFV-SOL 005 V3.5.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.03.01_60/gs_nfv-sol005v030301p.pdf servers: -- GitLab From 3a1096be80b2f7e046787614ea72bf5110f934be Mon Sep 17 00:00:00 2001 From: piscione Date: Wed, 28 Apr 2021 16:57:42 +0200 Subject: [PATCH 34/70] SOL005_9: updated description of exclude deafult row --- .../NSLifecycleManagement.yaml | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml index cbc83c8..0f97fa1 100644 --- a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml +++ b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml @@ -410,7 +410,20 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/filter - $ref: ../components/SOL005_params.yaml#/components/parameters/fields - $ref: ../components/SOL005_params.yaml#/components/parameters/exclude_fields - - $ref: ../components/SOL005_params.yaml#/components/parameters/exclude_default + - in: query + name: exclude_default + description: > + - Indicates to exclude the following complex attributes from the response. See clause 5.3 of ETSI GS NFV-SOL 013 [16] for details. The NFVO shall support this parameter. + + The following attributes shall be excluded from the NsLcmOpOcc structure in the response body if this parameter is provided: + - operationParams + - changedVnfInfo + - error + - resourceChanges + - lcmCoordinations + - warnings + schema: + type: string - $ref: ../components/SOL005_params.yaml#/components/parameters/nextpage_opaque_marker - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: -- GitLab From 69f2f5998bbc49cdf1b211abd78f35b5beda908b Mon Sep 17 00:00:00 2001 From: piscione Date: Wed, 28 Apr 2021 17:20:41 +0200 Subject: [PATCH 35/70] SOL005_10: added attributes and notes into NsLcmOpOcc datamodel --- .../SOL005NSLifecycleManagement_def.yaml | 81 +++++++++++++++++-- 1 file changed, 74 insertions(+), 7 deletions(-) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index 56fe78c..e18ad7e 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -4328,12 +4328,22 @@ definitions: id: description: > Identifier of this NS lifecycle operation occurrence. + NOTE 1: This allows the OSS/BSS to obtain a copy of the latest "result" + notification if it has not received it due to an error. If the notification + represents the successful result of a lifecycle operation, at least an affectedVnf, + or affectedPnf, or affectedVl, or affectedVnffg or affectedNs, or affectedSap + shall be present. + + NOTE 2: A coordination action has timed out if the NFVO has not been able to read + the "Individual coordination action" resource within a timeout interval after requesting + the coordination to be started or to be cancelled. The length of the timeout interval + is defined by means outside the scope of the present document. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" operationState: description: > The state of the NS LCM operation. $ref: "#/definitions/NsLcmOperationStateType" - statusEnteredTime: + stateEnteredTime: description: > Date-time when the current state has been entered. $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" @@ -4413,7 +4423,7 @@ definitions: description: > Information about the VNF instances that were affected during the lifecycle operation, if this notification - represents the result of a lifecycle operation. + represents the result of a lifecycle operation. See note 1. type: array items: $ref: "#/definitions/AffectedVnf" @@ -4421,7 +4431,7 @@ definitions: description: > Information about the PNF instances that were affected during the lifecycle operation, if this notification - represents the result of a lifecycle operation. + represents the result of a lifecycle operation. See note 1. type: array items: $ref: "#/definitions/AffectedPnf" @@ -4429,7 +4439,7 @@ definitions: description: > Information about the VL instances that were affected during the lifecycle operation, if this notification - represents the result of a lifecycle operation. + represents the result of a lifecycle operation. See note 1. type: array items: $ref: "#/definitions/AffectedVirtualLink" @@ -4437,7 +4447,7 @@ definitions: description: > Information about the VNFFG instances that were affected during the lifecycle operation, if this notification - represents the result of a lifecycle operation. See note + represents the result of a lifecycle operation. See note 1. type: array items: $ref: "#/definitions/AffectedVnffg" @@ -4445,7 +4455,7 @@ definitions: description: > Information about the nested NS instances that were affected during the lifecycle operation, if this notification - represents the result of a lifecycle operation. See note. + represents the result of a lifecycle operation. See note 1. type: array items: $ref: "#/definitions/AffectedNs" @@ -4453,10 +4463,67 @@ definitions: description: > Information about the nested NS instances that were affected during the lifecycle operation, if this notification - represents the result of a lifecycle operation. See note. + represents the result of a lifecycle operation. See note 1. type: array items: $ref: "#/definitions/AffectedSap" + + lcmCoordinations: + description: > + Information about LCM coordination actions (see clause 12.5.4.3) + related to this LCM operation occurrence. + type: array + items: + type: object + required: + - id + - coordinationActionName + - startTime + - endpointType + properties: + id: + description: > + Identifier of this coordination action. For a terminated coordination action, + this attribute refers to the "id" attribute in the LcmCoord data structure + (see clause 12.5.2.3). For a timed-out or ongoing coordination action, this + attribute refers to the {coordinationId} URI variable in the "Location" header + of the "202 Accepted" HTTP response to the POST request that has initiated the + coordination action (see clause 12.4.2.3.1). + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + + coordinationActionName: + description: > + Indicator of the actual coordination action. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + startTime: + description: > + The time when the coordination action has been started. + $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" + endTime: + description: > + The end time of the coordination action. Shall be present for a coordination + action that has finished or timed out (see note 2) and shall be absent if the + coordination is ongoing. + $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" + endpointType: + description: > + The endpoint type used by this coordination action. + Valid values: + - MGMT: coordination with other operation supporting management systems (e.g. OSS/BSS) + type: string + enum: + - MGMT + warnings: + description: > + Warning messages that were generated while the operation was executing. + + If the operation has included VNF LCM operations or NS LCM coordination + actions and these have resulted in warnings, such warnings should be + added to this attribute. + type: array + items: + type: string + _links: description: > Links to resources related to this resource. -- GitLab From 9395eed5c32909d17a167f6b01410f9a22afeaab Mon Sep 17 00:00:00 2001 From: piscione Date: Wed, 28 Apr 2021 17:24:02 +0200 Subject: [PATCH 36/70] SOL005_19: update note of VnfLocationConstraint datamodel --- .../definitions/SOL005NSLifecycleManagement_def.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index e18ad7e..bc79963 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -2142,6 +2142,12 @@ definitions: This type represents the association of location constraints to a VNF instance to be created according to a specific VNF profile. It shall comply with the provisions defined in Table 6.5.3.20-1. + + NOTE: these constraints are typically determined by the OSS/BSS from + service requirements (e.g. latency requirements, regulatory requirements). + The NFVO can map such location constraints to eligible NFVI-PoPs/resource + zones where the VNF instance is to be created. + type: object required: - vnfProfileId @@ -2155,6 +2161,8 @@ definitions: description: > Defines the location constraints for the VNF instance to be created based on the VNF profile. + + See note. $ref: "#/definitions/LocationConstraints" VnfInstanceData: -- GitLab From d44226fdca4edb1329128067981c7ba36f8b64ff Mon Sep 17 00:00:00 2001 From: piscione Date: Wed, 28 Apr 2021 17:28:35 +0200 Subject: [PATCH 37/70] SOL005_26: updated description of attribute of NfpRule datamodel --- .../SOL005NSLifecycleManagement_def.yaml | 28 +++++++++++++++---- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index bc79963..6ccec38 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -3077,6 +3077,9 @@ definitions: in order for the NFP to be applicable to the packet. The condition acts as a flow classifier and it is met only if all the values expressed in the condition are matched by those in the packet. It shall comply with the provisions defined in Table 6.5.3.40-1. + + NOTE: At least one attribute shall be present. If multiple attributes are present, a logical "AND" + operation shall be applied to those attributes when matching packets against the rule. type: object anyOf: - required: @@ -3104,15 +3107,21 @@ definitions: properties: etherDestinationAddress: description: > - Indicates a destination Mac address. + Indicates a destination Mac address. See note. $ref: "#/definitions/MacAddress" etherSourceAddress: description: > - Indicates a source Mac address. + Indicates a source Mac address. See note. $ref: "#/definitions/MacAddress" etherType: description: > - Human readable description for the VNFFG. + Indicates the protocol carried over the Ethernet layer. + + Permitted values: + - IPV4 + - IPV6 + + See note. type: string enum: - IPV4 @@ -3135,6 +3144,8 @@ definitions: TCP UDP ICMP + + See note. type: string enum: - TCP @@ -3147,27 +3158,34 @@ definitions: Code Point (DSCP) field of the IP header. For IPv6 [28] a string of "0" and "1" digits that corresponds to the 6 differentiated services bits of - the traffic class header field + the traffic class header field. + + See note. type: string sourcePortRange: description: > - Indicates a range of source ports + Indicates a range of source ports. + See note. $ref: "#/definitions/PortRange" destinationPortRange: description: > Indicates a range of destination ports. + See note. $ref: "#/definitions/PortRange" sourceIpAddressPrefix: description: > Indicates the source IP address range in CIDR format. + See note. $ref: "#/definitions/IpAddressPrefix" destinationIpAddressPrefix: description: > Indicates the destination IP address range in CIDR format. + See note. $ref: "#/definitions/IpAddressPrefix" extendedCriteria: description: > Indicates values of specific bits in a frame. + See note. type: array items: $ref: "#/definitions/Mask" -- GitLab From 5a9694e283c1d5f5add239955e35e346ef7e0f97 Mon Sep 17 00:00:00 2001 From: piscione Date: Wed, 28 Apr 2021 17:31:11 +0200 Subject: [PATCH 38/70] SOL005_43: update note of NestedNsLocationConstraint datamodel --- .../definitions/SOL005NSLifecycleManagement_def.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index 6ccec38..20d0ed2 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -6358,6 +6358,10 @@ definitions: description: > This type represents the association of location constraints to a nested NS instance to be created according to a specific NS profile. It shall comply with the provisions defined in Table 6.5.3.96-1. + + NOTE: These constraints are typically determined by the OSS/BSS from service requirements (e.g. latency requirements, + regulatory requirements). The NFVO can map such location constraints to eligible NFVI-PoPs/resource zones where + the VNF instances as part of the nested NS are to be created. type: object required: - nsProfileId @@ -6370,6 +6374,7 @@ definitions: locationConstraints: description: > Defines the location constraints for the nested NS instance to be created based on the NS profile. + See note. $ref: "#/definitions/LocationConstraints" LcmOpOccNotificationVerbosityType: -- GitLab From 7acbf92f442ba0a8301b8b064eef646be4a88308 Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Mon, 3 May 2021 14:16:25 +0200 Subject: [PATCH 39/70] SOL005_37: VnfPkgInfo updated --- .../definitions/SOL005VNFPackageManagement_def.yaml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/SOL005/VNFPackageManagement/definitions/SOL005VNFPackageManagement_def.yaml b/src/SOL005/VNFPackageManagement/definitions/SOL005VNFPackageManagement_def.yaml index df5aafb..812704e 100644 --- a/src/SOL005/VNFPackageManagement/definitions/SOL005VNFPackageManagement_def.yaml +++ b/src/SOL005/VNFPackageManagement/definitions/SOL005VNFPackageManagement_def.yaml @@ -3,7 +3,6 @@ definitions: type: object required: - id - - packageSecurityOption - onboardingState - operationalState - usageState @@ -67,8 +66,12 @@ definitions: description: > Signals the security option used by the package as defined in clause 5.1 of ETSI - GS NFV-SOL 004 [5]. - Valid values: OPTION_1, OPTION_2 + GS NFV-SOL 004. It shall be present after + the VNF package content has been on-boarded + and absent otherwise. + Valid values: + - OPTION_1 + - OPTION_2 type: string enum: - OPTION_1 -- GitLab From 4b909af135e27d807179a49a57493f77310686b1 Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Mon, 3 May 2021 14:20:35 +0200 Subject: [PATCH 40/70] SOL005_38: GET Individual VNF snapshot package updated --- .../VNFSnapshotPackageManagement.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml b/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml index 9b55156..e238a30 100644 --- a/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml +++ b/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml @@ -893,7 +893,7 @@ components: Shall be returned when information of the VNF snapshot package has been read successfully. - The response body shall contain the VNF snapshot package info representation defined in clause 12.5.2.3. + The response body shall contain the VNF snapshot package info representation defined in clause 11.5.2.3. headers: Version: description: The used API version. -- GitLab From 4b0c0a9a15567d02697c894d659fcb9b339305f5 Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Mon, 3 May 2021 14:31:13 +0200 Subject: [PATCH 41/70] SOL005_4: VnfcSnapshotImageInfo: updated --- .../SOL005VNFSnapshotPackageManagement_def.yaml | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/SOL005/VNFSnapshotPackageManagement/definitions/SOL005VNFSnapshotPackageManagement_def.yaml b/src/SOL005/VNFSnapshotPackageManagement/definitions/SOL005VNFSnapshotPackageManagement_def.yaml index 5e2dac7..1cb1cd6 100644 --- a/src/SOL005/VNFSnapshotPackageManagement/definitions/SOL005VNFSnapshotPackageManagement_def.yaml +++ b/src/SOL005/VNFSnapshotPackageManagement/definitions/SOL005VNFSnapshotPackageManagement_def.yaml @@ -141,6 +141,7 @@ definitions: - UPLOADING: the VNF snapshot package is being uploaded. - EXTRACTING: the VNF snapshot packageā€™s content is being extracted. - AVAILABLE: the VNF snapshot package is available (i.e., build or upload is completed). + - PROCESSING: the VNF snapshot package is being processed. - ERROR: failure during the VNF snapshot package building, uploading or processing. - ERROR_EXTRACTING: failure during the VNF snapshot package extraction task. type: string @@ -150,6 +151,7 @@ definitions: - UPLOADING - EXTRACTING - AVAILABLE + - PROCESSING - ERROR - ERROR_EXTRACTING isCancelPending: @@ -509,7 +511,19 @@ definitions: - size properties: id: - description: Identifier of the VNFC snapshot image. + description: > + Identifier of the VNFC snapshot image. + When building the VNF snapshot package, the NFVO shall set the value of this attribute + as follows: + - for an image artifact corresponding to a compute snapshot resource, the value is copied + from the "id" attribute of the ā€œVnfcSnapshotInfoā€. + - for an image artifact corresponding to a storage snapshot resource, the value is copied + from the "storageResourceId" attribute in the "VnfcSnapshotInfo" of the corresponding + storage snapshot resource. + + When onboarding an existing VNF snapshot package, the NFVO shall set the value of this + attribute as provided in the manifest file in the VNF snapshot package (refer to ETSI + GS NFV-SOL 010). $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierLocal" name: description: Name of the VNFC snapshot image. -- GitLab From 5d93cbbb99ac4ad4d739a97b8b1ec485ec523676 Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Mon, 3 May 2021 16:28:13 +0200 Subject: [PATCH 42/70] SOL005_42: NS LCM Coordination interface added --- .../NSLCMCoordination/NSLCMCoordination.yaml | 352 ++++++++++++++++++ .../SOL005NSLCMCoordination_def.yaml | 183 +++++++++ 2 files changed, 535 insertions(+) create mode 100644 src/SOL005/NSLCMCoordination/NSLCMCoordination.yaml create mode 100644 src/SOL005/NSLCMCoordination/definitions/SOL005NSLCMCoordination_def.yaml diff --git a/src/SOL005/NSLCMCoordination/NSLCMCoordination.yaml b/src/SOL005/NSLCMCoordination/NSLCMCoordination.yaml new file mode 100644 index 0000000..bf02f92 --- /dev/null +++ b/src/SOL005/NSLCMCoordination/NSLCMCoordination.yaml @@ -0,0 +1,352 @@ +openapi: 3.0.2 + +info: + title: SOL005 - NS LCM Coordination interface + description: | + SOL005 - NS LCM Coordination interface + + IMPORTANT: Please note that this file might be not aligned to the current + version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. + In case of discrepancies the published ETSI Group Specification takes precedence. + Please report bugs to https://forge.etsi.org/rep/nfv/SOL005/issues + contact: + name: NFV-SOL WG + license: + name: ETSI Forge copyright notice + url: https://forge.etsi.org/etsi-forge-copyright-notice.txt + version: 1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + +externalDocs: + description: ETSI GS NFV-SOL 005 V3.5.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.03.01_60/gs_nfv-sol005v030301p.pdf + +servers: + - url: http://127.0.0.1/lcmcoord/v1 + - url: https://127.0.0.1/lcmcoord/v1 + +paths: + ############################################################################### + # API Versions # + ############################################################################### + /api_versions: + $ref: '../endpoints/SOL005_endpoints.yaml#/endpoints/api-versions' + + /coordinations: + parameters: + - $ref: ../components/SOL005_params.yaml#/components/parameters/Version + - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization + - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept + post: + description: | + The POST method requests the coordination of an LCM operation occurrence + with a management operation executed in the API producer. + See clause 12.4.2.3.1. + requestBody: + $ref: '#/components/requestBodies/LcmCoordRequest' + responses: + 201: + $ref: '#/components/responses/CoordinationActions.Post.201' + 202: + $ref: '#/components/responses/CoordinationActions.Post.202' + 400: + $ref: ../responses/SOL005_resp.yaml#/components/responses/400 + 401: + $ref: ../responses/SOL005_resp.yaml#/components/responses/401 + 403: + $ref: ../responses/SOL005_resp.yaml#/components/responses/403 + 404: + $ref: ../responses/SOL005_resp.yaml#/components/responses/404 + 405: + $ref: ../responses/SOL005_resp.yaml#/components/responses/405 + 406: + $ref: ../responses/SOL005_resp.yaml#/components/responses/406 + 409: + $ref: ../responses/SOL005_resp.yaml#/components/responses/409 + 416: + $ref: ../responses/SOL005_resp.yaml#/components/responses/416 + 500: + $ref: ../responses/SOL005_resp.yaml#/components/responses/500 + 503: + $ref: ../responses/SOL005_resp.yaml#/components/responses/503 + 504: + $ref: ../responses/SOL005_resp.yaml#/components/responses/504 + + /coordinations/{coordinationId}: + parameters: + - $ref: ../components/SOL005_params.yaml#/components/parameters/Version + - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization + - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept + - $ref: '#/components/parameters/CoordinationId' + get: + description: | + The GET method reads a coordination result. + See clause 12.4.3.3.2. + responses: + 200: + $ref: '#/components/responses/IndividualCoordinationAction.Get.200' + 400: + $ref: ../responses/SOL005_resp.yaml#/components/responses/400 + 401: + $ref: ../responses/SOL005_resp.yaml#/components/responses/401 + 403: + $ref: ../responses/SOL005_resp.yaml#/components/responses/403 + 404: + $ref: ../responses/SOL005_resp.yaml#/components/responses/404 + 405: + $ref: ../responses/SOL005_resp.yaml#/components/responses/405 + 406: + $ref: ../responses/SOL005_resp.yaml#/components/responses/406 + 416: + $ref: ../responses/SOL005_resp.yaml#/components/responses/416 + 500: + $ref: ../responses/SOL005_resp.yaml#/components/responses/500 + 503: + $ref: ../responses/SOL005_resp.yaml#/components/responses/503 + 504: + $ref: ../responses/SOL005_resp.yaml#/components/responses/504 + + /coordinations/cancel: + parameters: + - $ref: ../components/SOL005_params.yaml#/components/parameters/Version + - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization + - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept + post: + description: | + The POST method initiates the cancellation of an ongoing coordination action. + See clause 12.4.4.3.1. + responses: + 202: + $ref: '#/components/responses/CoordinationActionCancel.Post.202' + 400: + $ref: ../responses/SOL005_resp.yaml#/components/responses/400 + 401: + $ref: ../responses/SOL005_resp.yaml#/components/responses/401 + 403: + $ref: ../responses/SOL005_resp.yaml#/components/responses/403 + 404: + $ref: ../responses/SOL005_resp.yaml#/components/responses/404 + 405: + $ref: ../responses/SOL005_resp.yaml#/components/responses/405 + 406: + $ref: ../responses/SOL005_resp.yaml#/components/responses/406 + 409: + $ref: ../responses/SOL005_resp.yaml#/components/responses/409 + 416: + $ref: ../responses/SOL005_resp.yaml#/components/responses/416 + 500: + $ref: ../responses/SOL005_resp.yaml#/components/responses/500 + 503: + $ref: ../responses/SOL005_resp.yaml#/components/responses/503 + 504: + $ref: ../responses/SOL005_resp.yaml#/components/responses/504 + +components: + parameters: + CoordinationId: + name: coordinationId + in: path + description: | + Identifier of the LCM coordination. + + NOTE: This identifier can be retrieved from the resource referenced by the + "Location" HTTP header in the response to a POST request to the + "Coordinations" resource. + required: true + style: simple + explode: false + schema: + type: string + + requestBodies: + LcmCoordRequest: + description: | + Parameters for the coordination action as defined in clause 12.5.2.2. + content: + application/json: + schema: + $ref: ./definitions/SOL005NSLCMCoordination_def.yaml#/definitions/LcmCoordRequest + required: true + + responses: + CoordinationActions.Post.201: + description: | + 201 CREATED + + Shall be returned when the API producer has chosen the synchronous mode, which may be + chosen for coordination actions that finish within the time frame in which an HTTP + response is expected. + + The response body shall contain an LcmCoord data structure that represents the result + of the coordination action. + The HTTP response shall include a "Location" HTTP header that indicates the URI of the + "Individual coordination action" resource that has been created as the result of the + finished coordination procedure. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Location: + description: The resource URI of the created VNF Snapshot Package. + style: simple + explode: false + schema: + type: string + format: url + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: definitions/SOL005NSLCMCoordination_def.yaml#/definitions/LcmCoord + + CoordinationActions.Post.202: + description: | + 202 ACCEPTED + + Shall be returned when the API producer has chosen the asynchronous mode and + the request has been accepted for processing. + + The response body shall be empty. + + The HTTP response shall include a "Location" HTTP header that indicates the + URI of the "Individual coordination action" resource that will be created + once the coordination operation has finished successfully. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Location: + description: The resource URI of the created VNF Snapshot Package. + style: simple + explode: false + schema: + type: string + format: url + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + + IndividualCoordinationAction.Get.200: + description: | + 200 OK + + Shall be returned when the coordination is finished and the coordination result + has been read successfully. + A representation of the "Individual coordination action" resource shall be returned + in the response body. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: definitions/SOL005NSLCMCoordination_def.yaml#/definitions/LcmCoord + + IndividualCoordinationAction.Post.202: + description: | + 202 ACCEPTED + + Shall be returned when the management operation with which coordination is requested + is still ongoing or in the process of being cancelled, i.e. no coordination result is + available yet. + + The response body shall be empty. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + + CoordinationActionCancel.Post.202: + description: | + 202 ACCEPTED + + Shall be returned when the cancellation request has been accepted for processing. + + The response shall have an empty payload body. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + + \ No newline at end of file diff --git a/src/SOL005/NSLCMCoordination/definitions/SOL005NSLCMCoordination_def.yaml b/src/SOL005/NSLCMCoordination/definitions/SOL005NSLCMCoordination_def.yaml new file mode 100644 index 0000000..b385c9c --- /dev/null +++ b/src/SOL005/NSLCMCoordination/definitions/SOL005NSLCMCoordination_def.yaml @@ -0,0 +1,183 @@ +definitions: + LcmCoordRequest: + description: | + This type represents an LCM coordination request. + It shall comply with the provisions defined in table 12.5.2.2-1. + + NOTE: How to determine the supported coordination actions is outside + the scope of the present version of this document. + type: object + required: + - nsInstanceId + - nsLcmOpOccId + - lcmOperationType + - coordinationActionName + - _links + properties: + nsInstanceId: + description: | + Identifier of the NS instance which this coordination request is related to. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + nsLcmOpOccId: + description: | + The identifier of the NS lifecycle management operation occurrence related + to the coordination. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + lcmOperationType: + description: | + Indicates the type of the LCM operation with which coordination is requested. + Shall be the same as the value of the "lcmOperationType" attribute in the + NsLcmOpOcc structure that is referenced by the "nsLcmOpOccId". + $ref: "#/definitions/LcmOperationForCoordType" + coordinationActionName: + description: | + Indicates the LCM coordination action. + + See note. + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInNsd" + inputParams: + description: | + Additional input parameters passed as input to the coordination action. + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" + _links: + description: | + Links to resources related to this request. + type: object + required: + - nsLcmOpOcc + - nsInstance + properties: + nsLcmOpOcc: + description: | + Related lifecycle management operation occurrence. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" + nsInstance: + description: | + Related NS instance. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" + + LcmCoord: + description: | + This type represents an LCM coordination result. It shall comply with the provisions + defined in table 12.5.2.3-1. + + NOTE: How to determine the supported coordination actions is outside the scope of the + present version of this document. + required: + - id + - coordinationResult + - nsInstanceId + - nsLcmOpOccId + - lcmOperationType + - coordinationActionName + - _links + properties: + id: + description: | + Identifier of this coordination result. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + coordinationResult: + description: | + The result of executing the coordination action which also implies the action to + be performed by the NFVO as the result of this coordination. + $ref: "#/definitions/LcmCoordResultType" + nsInstanceId: + description: | + Identifier of the NS instance which this coordination request is related to. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + nsLcmOpOccId: + description: | + The identifier of the NS lifecycle management operation occurrence related + to the coordination. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + lcmOperationType: + description: | + Indicates the type of the LCM operation with which coordination is requested. + Shall be the same as the value of the "lcmOperationType" attribute in the + NsLcmOpOcc structure that is referenced by the "nsLcmOpOccId". + $ref: "#/definitions/LcmOperationForCoordType" + coordinationActionName: + description: | + Indicates the actual LCM coordination action. + + See note. + $ref: "../../definitions/SOL005_def.yaml#/definitions/String" + outputParams: + description: | + Additional parameters returned by the coordination action, e.g. on the reason + for the indicated coordinationResult. + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" + warnings: + description: | + Warning messages that were generated while the operation was executing. + $ref: "../../definitions/SOL005_def.yaml#/definitions/String" + error: + description: | + Error information related to the coordination. + + This attribute shall be present if "coordinationResult" is "ABORT" and may be + present if "coordinationResult" is "CANCELLED". + + If provided, the error information should be represented in the "error" attribute + of the related NsLcmOpOcc data structure. + $ref: "../../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + _links: + description: | + Links to resources related to this resource. + type: object + required: + - self + - nsLcmOpOcc + - nsInstance + properties: + self: + description: | + URI of this resource. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" + nsLcmOpOcc: + description: | + Related lifecycle management operation occurrence. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" + nsInstance: + description: | + Related NS instance. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" + + LcmOperationForCoordType: + description: | + The enumeration LcmOperationForCoordType defines the permitted values to represent + NS lifecycle operation types in NS LCM operation coordination actions. + It shall comply with the provisions defined in table 12.5.4.3-1. + + - INSTANTIATE: Represents the "Instantiate NS" LCM operation. + - SCALE: Represents the "Scale NS" LCM operation. + - UPDATE: Represents the "Update NS" LCM operation. + - TERMINATE: Represents the "Terminate NS" LCM operation. + - HEAL: Represents the "Heal NS" LCM operation. + type: string + enum: + - INSTANTIATE + - SCALE + - UPDATE + - TERMINATE + - HEAL + + LcmCoordResultType: + description: | + The enumeration LcmCoordResultType defines the permitted values to represent the result + of executing an LCM coordination action. The coordination result also implies the action + to be performed by the NFVO as the follow-up to this coordination. The LcmCoordResultType + shall comply with the provisions defined in table 12.5.4.3.-1. + + - CONTINUE: The related LCM operation shall be continued, staying in the state "PROCESSING". + - ABORT: The related LCM operation shall be aborted by transitioning into the state "FAILED_TEMP". + - CANCELLED: The coordination action has been cancelled upon request of the API consumer, + i.e. the NFVO. The related LCM operation shall be aborted by transitioning into + the state "FAILED_TEMP". + type: string + enum: + - CONTINUE + - ABORT + - CACELLED + + -- GitLab From 53dcbadca080919811e3d18490763dee60b87d72 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Tue, 4 May 2021 11:31:18 +0200 Subject: [PATCH 43/70] updated notification endpoints --- .../NSDManagementNotification.yaml | 14 +++++++------- .../NSPerformanceManagementNotification.yaml | 4 ++-- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml b/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml index 0657435..4209c2b 100644 --- a/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml +++ b/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml @@ -28,7 +28,7 @@ paths: ############################################################################### # Notification endpoint NsdOnBoardingNotification # ############################################################################### - /URI_is_provided_by_the_client_when_creating_the_subscription_NsdOnBoardingNotification: + /URI_is_provided_by_the_client_when_creating_the_subscription-NsdOnBoardingNotification: parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization - $ref: ../components/SOL005_params.yaml#/components/parameters/Version @@ -95,7 +95,7 @@ paths: ############################################################################### # Notification endpoint NsdOnBoardingFailureNotification # ############################################################################### - /URI_is_provided_by_the_client_when_creating_the_subscription_NsdOnBoardingFailureNotification: + /URI_is_provided_by_the_client_when_creating_the_subscription-NsdOnBoardingFailureNotification: parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization - $ref: ../components/SOL005_params.yaml#/components/parameters/Version @@ -162,7 +162,7 @@ paths: ############################################################################### # Notification endpoint NsdChangeNotification # ############################################################################### - /URI_is_provided_by_the_client_when_creating_the_subscription_NsdChangeNotification: + /URI_is_provided_by_the_client_when_creating_the_subscription-NsdChangeNotification: parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization - $ref: ../components/SOL005_params.yaml#/components/parameters/Version @@ -229,7 +229,7 @@ paths: ############################################################################### # Notification endpoint NsdDeletionNotification # ############################################################################### - /URI_is_provided_by_the_client_when_creating_the_subscription_NsdDeletionNotification: + /URI_is_provided_by_the_client_when_creating_the_subscription-NsdDeletionNotification: parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization - $ref: ../components/SOL005_params.yaml#/components/parameters/Version @@ -296,7 +296,7 @@ paths: ############################################################################### # Notification endpoint PnfdOnBoardingNotification # ############################################################################### - /URI_is_provided_by_the_client_when_creating_the_subscription_PnfdOnBoardingNotification: + /URI_is_provided_by_the_client_when_creating_the_subscription-PnfdOnBoardingNotification: parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization - $ref: ../components/SOL005_params.yaml#/components/parameters/Version @@ -363,7 +363,7 @@ paths: ############################################################################### # Notification endpoint PnfdOnBoardingFailureNotification # ############################################################################### - /URI_is_provided_by_the_client_when_creating_the_subscription_PnfdOnBoardingFailureNotification: + /URI_is_provided_by_the_client_when_creating_the_subscription-PnfdOnBoardingFailureNotification: parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization - $ref: ../components/SOL005_params.yaml#/components/parameters/Version @@ -430,7 +430,7 @@ paths: ############################################################################### # Notification endpoint PnfdDeletionNotification # ############################################################################### - /URI_is_provided_by_the_client_when_creating_the_subscription_PnfdDeletionNotification: + /URI_is_provided_by_the_client_when_creating_the_subscription-PnfdDeletionNotification: parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization - $ref: ../components/SOL005_params.yaml#/components/parameters/Version diff --git a/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml b/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml index 027acb9..f289424 100644 --- a/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml +++ b/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml @@ -28,7 +28,7 @@ paths: ################################################################################## # Notification endpoint PerformanceInformationAvailableNotification # ################################################################################## - /URI_is_provided_by_the_client_when_creating_the_subscription_PerformanceInformationAvailableNotificatio: + /URI_is_provided_by_the_client_when_creating_the_subscription-PerformanceInformationAvailableNotificatio: parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization - $ref: ../components/SOL005_params.yaml#/components/parameters/Version @@ -99,7 +99,7 @@ paths: ################################################################################## # Notification endpoint ThresholdCrossedNotification # ################################################################################## - /URI_is_provided_by_the_client_when_creating_the_subscription_ThresholdCrossedNotification: + /URI_is_provided_by_the_client_when_creating_the_subscription-ThresholdCrossedNotification: parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization - $ref: ../components/SOL005_params.yaml#/components/parameters/Version -- GitLab From a2310efd2e0e7870ea188dcfe59ea4a1a98cf54c Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Tue, 4 May 2021 14:46:32 +0200 Subject: [PATCH 44/70] Minor fixes --- .../NSFaultManagement/NSFaultManagement.yaml | 12 +- ...L005NSFaultManagementNotification_def.yaml | 3 +- .../SOL005NSLifecycleManagement_def.yaml | 120 +++++++++--------- .../VNFPackageManagement.yaml | 34 ++--- .../SOL005VNFPackageManagement_def.yaml | 30 ++--- src/SOL005/components/SOL005_params.yaml | 4 +- 6 files changed, 90 insertions(+), 113 deletions(-) diff --git a/src/SOL005/NSFaultManagement/NSFaultManagement.yaml b/src/SOL005/NSFaultManagement/NSFaultManagement.yaml index 52f36d2..e912c4a 100644 --- a/src/SOL005/NSFaultManagement/NSFaultManagement.yaml +++ b/src/SOL005/NSFaultManagement/NSFaultManagement.yaml @@ -184,16 +184,8 @@ paths: post: summary: Subscribe to alarms related to NSs. description: | - The POST method creates a new subscription. This method shall follow the provisions specified in the Tables - 8.4.4.3.1-1 and 8.4.4.3.1-2 for URI query parameters, request and response data structures, and response codes. - As the result of successfully executing this method, a new "Individual subscription" resource shall exist as - defined in clause 8.4.5. This method shall not trigger any notification. Creation of two subscription resources - with the same callbackURI and the same filter can result in performance degradation and will provide duplicates - of notifications to the OSS, and might make sense only in very rare use cases. Consequently, the NFVO may either - allow creating a subscription resource if another subscription resource with the same filter and callbackUri - already exists (in which case it shall return the "201 Created" response code), or may decide to not create a - duplicate subscription resource (in which case it shall return a "303 See Other" response code referencing the - existing subscription resource with the same filter and callbackUri). + The POST method creates a new subscription. + See clause 8.4.4.3.1. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType diff --git a/src/SOL005/NSFaultManagementNotification/definitions/SOL005NSFaultManagementNotification_def.yaml b/src/SOL005/NSFaultManagementNotification/definitions/SOL005NSFaultManagementNotification_def.yaml index b01a5af..bd8abf8 100644 --- a/src/SOL005/NSFaultManagementNotification/definitions/SOL005NSFaultManagementNotification_def.yaml +++ b/src/SOL005/NSFaultManagementNotification/definitions/SOL005NSFaultManagementNotification_def.yaml @@ -119,7 +119,8 @@ definitions: description: > This type represents a notification that the alarm list has been rebuilt, e.g. if the NFVO detects its storage holding the alarm list is corrupted. It shall comply with the provisions defined in Table 8.5.2.7-1. - The notification shall be triggered by the NFVO when the alarm list has been rebuilt. + The notification shall be triggered by the NFVO when the alarm list has been rebuilt, e.g. because the NFVO has detected + that its storage holding the alarm list was corrupted. type: object required: - id diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index 20d0ed2..60aef49 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -380,10 +380,30 @@ definitions: VnfInstance: description: > - This type represents a VNF instance. - Clause B.3.2 of ETSI GS NFV-SOL 003 [4] provides examples illustrating the relationship among the - different run-time information elements (CP, VL and link ports) used to represent the connectivity of a - VNF. + This type represents a VNF instance. It shall comply with the provisions defined in table 6.5.3.57-1. + + NOTE: Clause B.3.2 of ETSI GS NFV-SOL 003 provides examples illustrating the relationship among the + different run-time information elements (CP, VL and link ports) used to represent the connectivity + of a VNF. + + NOTE 1: Modifying the value of this attribute shall not be performed when conflicts exist between the + previous and the newly referred VNF package, i.e. when the new VNFD is changed with respect to + the previous VNFD in other aspects than merely referencing to other VNF software 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 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, + and others can be set only after instantiation. The applicability of certain configuration may depend + on the VNF and the required operation of the VNF at a certain point in time. + NOTE 4: It is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a + multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same + VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed + multi-site VL instance (refer to clause 6.5.3.59). + NOTE 5: Even though externally-managed internal VLs are also used for VNF-internal connectivity, they shall not + be listed in the "vnfVirtualLinkResourceInfo" attribute as this would be redundant. type: object required: - id @@ -412,7 +432,8 @@ definitions: vnfdId: description: > Identifier of the VNFD on which the VNF instance is based. - Modifications to this attribute can be requested using the "ModifyVnfInfoData" structure. + Modifications to this attribute can be requested using the "ModifyVnfInfoData" structure. + See note 1. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" vnfProvider: description: > @@ -438,41 +459,29 @@ definitions: $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" vnfConfigurableProperties: description: > - Additional VNF-specific attributes that provide the current values - of the configurable properties of the VNF instance. - - These attributes represent values that are stored persistently in the - VnfInstance structure and that correspond to configuration parameters - of the VNF instance. - Modifying these attributes affects the configuration of the VNF instance - either directly(if the VNF instance is in INSTANTIATED state at the time - of the modification) or as part of the subsequent VNF instantiation operation - (if the VNF instance is in NOT_INSTANTIATED state at the time of the modification). - - Configurable properties referred in these attributes are declared in - the VNFD. - - ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD - based on TOSCA specifications. - 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, and others can be - set only after instantiation. The applicability of certain - configuration may depend on the VNF and the required operation of - the VNF at a certain point in time. - These configurable properties include the following standard - attributes, which are declared in the VNFD if auto-scaling and/or - auto-healing are supported by the VNF: - - isAutoscaleEnabled: If present, the VNF supports auto-scaling. If - set to true, auto-scaling is currently enabled. If set to false, - auto-scaling is currently disabled. - - isAutohealEnabled: If present, the VNF supports auto-healing. If - set to true, auto-healing is currently enabled. If set to false, - auto-healing is currently disabled. - - Modifications to this attribute can be requested using the "ModifyVnfInfoData" structure. + Additional VNF-specific attributes that provide the current values of the + configurable properties of the VNF instance. + + These attributes represent values that are stored persistently in the VnfInstance + structure and that correspond to configuration parameters of the VNF instance. + + Modifying these attributes affects the configuration of the VNF instance either + directly (if the VNF instance is in INSTANTIATED state at the time of the modification) + or as part of the subsequent VNF instantiation operation (if the VNF instance is in + NOT_INSTANTIATED state at the time of the modification). + Configurable properties referred in these attributes are declared in the VNFD + (see note 2 and note 3). + + These configurable properties include the following standard attributes, which are + eclared in the VNFD if auto-scaling and/or auto-healing are supported by the VNF: + - isAutoscaleEnabled: If present, the VNF supports auto-scaling. If set to true, + auto-scaling is currently enabled. If set to false, auto-scaling is currently + disabled. + - isAutohealEnabled: If present, the VNF supports auto-healing. If set to true, + auto-healing is currently enabled. If set to false, auto-healing is currently + disabled. + + Modifications to these attributes can be requested using the "ModifyVnfInfoData" structure. $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" vimId: description: > @@ -481,6 +490,10 @@ definitions: instantiationState: description: > The instantiation state of the VNF. + + Permitted values: + - NOT_INSTANTIATED: The VNF instance is terminated or not instantiated. + - INSTANTIATED: The VNF instance is instantiated. type: string enum: - NOT_INSTANTIATED @@ -501,7 +514,7 @@ definitions: $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" vnfState: description: > - The state of the VNF instance. + State of the VNF instance. $ref: "#/definitions/VnfOperationalStateType" scaleStatus: description: > @@ -547,13 +560,8 @@ definitions: $ref: "#/definitions/ExtVirtualLinkInfo" extManagedVirtualLinkInfo: description: > - External virtual links the VNF instance is connected to. - It is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a multi-site - VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same VNF internal VL - shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site VL instance - (refer to clause 6.5.3.59). - Even though externally-managed internal VLs are also used for VNF-internal connectivity, they shall not be - listed in the "vnfVirtualLinkResourceInfo" attribute as this would be redundant. + Information about the externally-managed internal VLs of the VNF instance. + See note 4 and note 5. type: array items: $ref: "#/definitions/ExtManagedVirtualLinkInfo" @@ -580,10 +588,11 @@ definitions: type: array items: $ref: "#/definitions/VnfcResourceInfo" - virtualLinkResourceInfo: + vnfVirtualLinkResourceInfo: description: > Information about the virtualised network resources used by the VLs of the VNF instance. + See note 5. type: array items: $ref: "#/definitions/VnfVirtualLinkResourceInfo" @@ -607,7 +616,7 @@ definitions: effect on the VNF instance, it only affects the information represented in the VnfInstance structure. - Metadata that the VNF provider foresees are expected to be declared in the VNFD. + Metadata that the VNF provider foresees are expected to be declared in the VNFD (see note 2). Modifications to these attributes can be requested using the "ModifyVnfInfoData" structure. $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" extensions: @@ -4088,7 +4097,7 @@ definitions: to a given level, or to scale a VNF instance by steps. type: object required: - - vnfInstanceid + - vnfInstanceId - scaleVnfType oneOf: - required: @@ -4941,8 +4950,6 @@ definitions: * At least one of the "linkPortId" and "cpProtocolData" attributes shall be present for a to-be-created external CP instance or an existing external CP instance. - * If the "linkPortId" attribute is absent, the VNFM shall create a - link port. * If the "cpProtocolData" attribute is absent, the "linkPortId" attribute shall be provided referencing a pre-created link port, and the VNFM can use means outside the scope of the present @@ -4952,19 +4959,14 @@ definitions: consumer shall ensure that the cpProtocolData can be used with the pre-created link port referenced by "linkPortId". $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" - createExtLinkPort: description: > Indicates the need to create a dedicated link port for the external CP. - If set to True, a link port is created. If set to False, no link port is created. - This attribute is only applicable for external CP instances without a floating IP address that expose a VIP CP instance for which a dedicated IP address is allocated. It shall be present in that case and shall be absent otherwise. - type: boolean - cpProtocolData: description: > Parameters for configuring the network protocols on the link port @@ -4973,8 +4975,6 @@ definitions: * At least one of the "linkPortId" and "cpProtocolData" attributes shall be present for a to-be-created external CP instance or an existing external CP instance. - * If the "linkPortId" attribute is absent, the VNFM shall create a - link port. * If the "cpProtocolData" attribute is absent, the "linkPortId" attribute shall be provided referencing a pre-created link port, and the VNFM can use means outside the scope of the present diff --git a/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml index 624239f..39c0bab 100644 --- a/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml @@ -406,15 +406,8 @@ paths: put: summary: Upload a VNF package by providing the content of the VNF package. description: | - The PUT method uploads the content of a VNF package. This method shall follow the provisions specified in the - Tables 9.4.5.3.3-1 and 9.4.5.3.3-2 for URI query parameters, request and response data structures, and response - codes. Upon start of the upload of the package, the NFVO shall set the "onboardingState" attribute in the "VnfPkgInfo" - structure to "UPLOADING". Upon successful upload of the package, if the package references external artifacts, the - NFVO shall obtain the external artifacts. Subsequently, upon success, the NFVO shall set that attribute to "PROCESSING" - and shall process the package, which shall include checking package consistency. Upon successful processing, the NFVO - shall set the "onboardingState" attribute to "ONBOARDED". If an error occurs during uploading the package, downloading - the external artifacts or processing the package, the NFVO shall set the "onboardingState" attribute to "ERROR" and - shall populate the "onboardingFailureDetails" attribute in "VnfPkgInfo". + The PUT method uploads the content of a VNF package. + See clause 9.4.5.3.3. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType @@ -458,7 +451,9 @@ paths: inclusion/exclusion defined below, embedded in a directory structure being the same as in the VNF package. The criteria for exclusion/inclusion of an artifact in the archive are defined as follows: * Artifacts that are software images shall be excluded from the archive. - * Artifacts that are external to the VNF package shall be excluded from the archive. + * Artifacts that are not software images and that are external to the VNF package shall be excluded from the + archive unless the URI query parameter "include_external_artifacts" has been provided. External artifacts + shall be included in the archive using the content of the "artifactPath" attribute as the path. * All additional artifacts included in the VNF package that are MANO artifacts shall be included in the archive, unless the URI query parameter "exclude_all_mano_artifacts" has been provided, in which case such artifacts shall be excluded. @@ -516,18 +511,8 @@ paths: summary: Upload a VNF package by providing the address information of the VNF package. description: | - The POST method provides the information for the NFVO to get the content of a VNF package. This method shall - follow the provisions specified in the Tables 9.4.6.3.1-1 and 9.4.6.3.1-2 for URI query parameters, request - and response data structures, and response codes. Upon start of obtaining the package, the NFVO shall set the - "onboardingState" attribute in the "VnfPkgInfo" structure to "UPLOADING". Upon successfully obtaining the - package, if the package references external artifacts, the NFVO shall obtain the external artifacts. Subsequently, - upon success, the NFVO shall set that attribute to "PROCESSING" and shall process the package, which shall include - checking package consistency. Upon successful processing, the NFVO shall set the "onboardingState" attribute to - "ONBOARDED", the "operationalState" attribute to "ENABLED", and the "usageState" attribute to "NOT_IN_USE". - In addition, the NFVO shall set the value of the attributes in the "VnfPkgInfo" that are copied from the VNFD - (refer to clause 9.5.2.5). If an error occurs during obtaining the package, downloading the external artifacts or processing - the package, the NFVO shall set the "onboardingState" attribute to "ERROR" and shall populate the "onboardingFailureDetails" - attribute in "VnfPkgInfo". + The POST method provides the information for the NFVO to get the content of a VNF package. + See clause 9.4.6.3.1. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType requestBody: @@ -567,9 +552,8 @@ paths: get: summary: Fetch individual VNF package artifact. description: | - The GET method fetches the content of an artifact within a VNF package. This method shall follow the provisions - specified in the Tables 9.4.7.3.2-1 and 9.4.7.3.2-2 for URI query parameters, request and response data structures, - and response codes. + The GET method fetches the content of an artifact within a VNF package. + See clause 9.4.7.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - $ref: ../components/SOL005_params.yaml#/components/parameters/Range diff --git a/src/SOL005/VNFPackageManagement/definitions/SOL005VNFPackageManagement_def.yaml b/src/SOL005/VNFPackageManagement/definitions/SOL005VNFPackageManagement_def.yaml index 812704e..a6c7aab 100644 --- a/src/SOL005/VNFPackageManagement/definitions/SOL005VNFPackageManagement_def.yaml +++ b/src/SOL005/VNFPackageManagement/definitions/SOL005VNFPackageManagement_def.yaml @@ -201,6 +201,18 @@ definitions: description: > Checksum of the artifact file. Permitted hash algorithms are defined in ETSI GS NFV-SOL 004. $ref: "../../definitions/SOL005_def.yaml#/definitions/Checksum" + isEncrypted: + description: > + Reflects whether the artifact is encrypted (true) or not (false). + type: boolean + nonManoArtifactSetId: + description: > + Non-MANO artifact set identifier of the non-MANO artifact + set to which the artifact belongs, as defined in + clause 4.3.7 of ETSI GS NFV-SOL 004 [5]. Shall be + provided if the artifact is a non-MANO artifact, and shall + be omitted otherwise. + type: string artifactClassification: description: > Marks specific types of artifacts as defined in the VNF @@ -208,28 +220,16 @@ definitions: applies, the attribute shall not be present. Valid values: - HISTORY: a history artifact as per clause 4.3.3 - in ETSI GS NFV-SOL 004 [5] + in ETSI GS NFV-SOL 004 - TESTING: a testing artifact as per clause 4.3.4 - in ETSI GS NFV-SOL 004 [5] + in ETSI GS NFV-SOL 004 - LICENSE: a license artifact as per clause 4.3.5 - in ETSI GS NFV-SOL 004 [5] + in ETSI GS NFV-SOL 004 type: string enum: - HISTORY - TESTING - LICENSE - isEncrypted: - description: > - Reflects whether the artifact is encrypted (true) or not (false). - type: boolean - nonManoArtifactSetId: - description: > - Non-MANO artifact set identifier of the non-MANO artifact - set to which the artifact belongs, as defined in - clause 4.3.7 of ETSI GS NFV-SOL 004 [5]. Shall be - provided if the artifact is a non-MANO artifact, and shall - be omitted otherwise. - type: string metadata: description: > The metadata of the artifact that are available in the diff --git a/src/SOL005/components/SOL005_params.yaml b/src/SOL005/components/SOL005_params.yaml index 707c930..a55f564 100644 --- a/src/SOL005/components/SOL005_params.yaml +++ b/src/SOL005/components/SOL005_params.yaml @@ -159,7 +159,7 @@ components: in: query description: | Flag (i.e. parameter without value) that instructs the NFVO to exclude the set of non-MANO artifacts from the - response payload body. The NFVO shall support this parameter. The VNFM may supply this parameter. + response payload body. The NFVO shall support this parameter. The OSS/BSS may supply this parameter. required: false style: form explode: true @@ -172,7 +172,7 @@ components: description: | Comma-separated list of non-MANO artifact set identifiers for which the artifacts are to be included in the response body. The NFVO should support this parameter. If the NFVO does not support this parameter, it shall - ignore it, i.e. provide a response as if no parameter was provided. The VNFM may supply this parameter. + ignore it, i.e. provide a response as if no parameter was provided. The OSS/BSS may supply this parameter. required: false style: form explode: true -- GitLab From 237b8b1ebe79841a7ebc7120b8f9e5c21880a264 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Wed, 5 May 2021 10:42:36 +0200 Subject: [PATCH 45/70] fix notificatin endpoint --- .../NSPerformanceManagementNotification.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml b/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml index f289424..7c6b3c3 100644 --- a/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml +++ b/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml @@ -28,7 +28,7 @@ paths: ################################################################################## # Notification endpoint PerformanceInformationAvailableNotification # ################################################################################## - /URI_is_provided_by_the_client_when_creating_the_subscription-PerformanceInformationAvailableNotificatio: + /URI_is_provided_by_the_client_when_creating_the_subscription-PerformanceInformationAvailableNotification: parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization - $ref: ../components/SOL005_params.yaml#/components/parameters/Version @@ -278,4 +278,4 @@ components: style: simple explode: false schema: - type: string \ No newline at end of file + type: string -- GitLab From 087b5a36a2880c9ba56f75c354babc1584335e5e Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Wed, 5 May 2021 18:04:01 +0200 Subject: [PATCH 46/70] updated endpoints descriptions --- src/SOL005/APIVersion/APIVersion.yaml | 2 +- .../NFVICapacityInformation.yaml | 170 +----------- .../NFVICapacityInformation_def.yaml | 73 ----- .../NFVICapacityInformationNotification.yaml | 144 ++++++++++ ...VICapacityInformationNotification_def.yaml | 76 ++++++ src/SOL005/NSDManagement/NSDManagement.yaml | 252 +++--------------- .../NSDManagementNotification.yaml | 95 ++----- .../NSFaultManagement/NSFaultManagement.yaml | 47 +--- .../NSFaultManagementNotification.yaml | 30 +-- .../NSLCMCoordination/NSLCMCoordination.yaml | 10 +- .../NSLifecycleManagement.yaml | 153 +++-------- .../NSLifecycleManagementNotification.yaml | 49 ++-- .../NSPerformanceManagement.yaml | 67 +---- .../NSPerformanceManagementNotification.yaml | 40 +-- .../VNFPackageManagement.yaml | 112 ++------ .../VNFPackageManagementNotification.yaml | 21 +- .../VNFSnapshotPackageManagement.yaml | 124 ++------- src/SOL005/endpoints/SOL005_endpoints.yaml | 15 +- 18 files changed, 434 insertions(+), 1046 deletions(-) create mode 100644 src/SOL005/NFVICapacityInformationNotification/NFVICapacityInformationNotification.yaml create mode 100644 src/SOL005/NFVICapacityInformationNotification/definitions/SOL005NFVICapacityInformationNotification_def.yaml diff --git a/src/SOL005/APIVersion/APIVersion.yaml b/src/SOL005/APIVersion/APIVersion.yaml index 4cc988a..40f15df 100644 --- a/src/SOL005/APIVersion/APIVersion.yaml +++ b/src/SOL005/APIVersion/APIVersion.yaml @@ -16,7 +16,7 @@ info: externalDocs: description: ETSI GS NFV-SOL 005 V3.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.03.01_60/gs_nfv-sol005v030301p.pdf + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.05.01_60/gs_nfv-sol005v030501p.pdf servers: - url: http://127.0.0.1/ diff --git a/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml b/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml index a8b09d5..f96976c 100644 --- a/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml +++ b/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml @@ -17,7 +17,7 @@ info: externalDocs: description: ETSI GS NFV-SOL 005 V3.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.03.01_60/gs_nfv-sol005v030301p.pdf + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.05.01_60/gs_nfv-sol005v030501p.pdf servers: - url: http://127.0.0.1/nfvici/v1 @@ -32,9 +32,8 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization get: - summary: Query NFVI capacity information description: | - The API consumer can use this method to retrieve information about NFVI capacity information. + The API consumer can use this method to retrieve information about NFVI capacity information. See clause 10.4.2.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/filter - $ref: ../components/SOL005_params.yaml#/components/parameters/all_fields @@ -71,9 +70,8 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization get: - summary: Query NFVI capacity information for a specific VIM description: | - The API consumer can use this method for reading an individual VIMā€™s NFVI capacity information. + The API consumer can use this method for reading an individual VIM's NFVI capacity information. See clause 10.4.3.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/filter - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept @@ -104,10 +102,8 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization get: - summary: Query NFVI capacity thresholds description: | - This resource represents NFVI capacity thresholds. - The API consumer can use this resource to create and query NFVI capacity thresholds. + The API consumer can use this method to query information about NFVI capacity thresholds. See clause 10.4.4.3.2 parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/filter - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept @@ -135,11 +131,8 @@ paths: $ref: ../responses/SOL005_resp.yaml#/components/responses/504 post: - summary: Create a NFVI capacity threshold description: | - The POST method creates a new NFVI capacity threshold. - As a result of successfully executing this method, a new "Individual capacity threshold" resource as defined - in clause 10.4.5 shall have been created. + The POST method creates a new NFVI capacity threshold. See clause 10.4.4.3.1. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType @@ -175,11 +168,8 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization get: - summary: Query Individual NFVI capacity threshold description: | - The API consumer can use this method for reading information about an NFVI capacity threshold. - This method shall follow the provisions specified in the tables 10.4.5.3.2-1 and 10.4.5.3.2-2 for URI query - parameters, request and response data structures, and response codes. + The API consumer can use this method for reading information about an NFVI capacity threshold. See clause 10.4.5.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: @@ -205,11 +195,8 @@ paths: $ref: ../responses/SOL005_resp.yaml#/components/responses/504 patch: - summary: Modify an "Individual capacity threshold" resource description: | - This method iallows to modify an "Individual capacity threshold" resource. - This method shall follow the provisions specified in the Tables 10.4.5.3.4-1 and 10.4.5.3.4-2 for URI query - parameters, request and response data structures, and response codes. + This method allows to modify an "Individual capacity threshold" resource. See clause 10.4.5.3.4. requestBody: $ref: '#/components/requestBodies/IndividualNfviCapacityThresholdRequest' responses: @@ -239,11 +226,8 @@ paths: $ref: ../responses/SOL005_resp.yaml#/components/responses/504 delete: - summary: Delete an NFVI capacity threshold description: | - This method allows to delete an NFVI capacity threshold. - As a result of successfully executing this method, the "Individual capacity threshold" resource shall not exist - any longer. + This method allows to delete an NFVI capacity threshold. See clause 10.4.5.3.5. responses: "204": $ref: '#/components/responses/IndividualCapacityThreshold.Delete' @@ -266,144 +250,6 @@ paths: "504": $ref: ../responses/SOL005_resp.yaml#/components/responses/504 - /subscriptions: - parameters: - - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization - get: - summary: Query multiple subscriptions. - description: | - The API consumer can use this method to query the list of active subscriptions to NFVI capacity information - notifications subscribed by the API consumer. - parameters: - - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - - $ref: ../components/SOL005_params.yaml#/components/parameters/filter - - $ref: ../components/SOL005_params.yaml#/components/parameters/nextpage_opaque_marker - responses: - "200": - $ref: '#/components/responses/NfviCiSubscriptions.Get' - "400": - $ref: ../responses/SOL005_resp.yaml#/components/responses/400 - "401": - $ref: ../responses/SOL005_resp.yaml#/components/responses/401 - "403": - $ref: ../responses/SOL005_resp.yaml#/components/responses/403 - "404": - $ref: ../responses/SOL005_resp.yaml#/components/responses/404 - "405": - $ref: ../responses/SOL005_resp.yaml#/components/responses/405 - "406": - $ref: ../responses/SOL005_resp.yaml#/components/responses/406 - "500": - $ref: ../responses/SOL005_resp.yaml#/components/responses/500 - "503": - $ref: ../responses/SOL005_resp.yaml#/components/responses/503 - "504": - $ref: ../responses/SOL005_resp.yaml#/components/responses/504 - - post: - summary: Create an NFVI capacity subscription - description: | - The POST method creates a new subscription. - This method shall follow the provisions specified in the Tables 10.4.6.3.1-1 and 10.4.6.3.1-2 for URI query - parameters, request and response data structures, and response codes. - parameters: - - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType - requestBody: - $ref: '#/components/requestBodies/NfviCapacitySubscriptionRequest' - responses: - "201": - $ref: '#/components/responses/NfviCiSubscriptions.Post' - "303": - $ref: ../responses/SOL005_resp.yaml#/components/responses/303 - "400": - $ref: ../responses/SOL005_resp.yaml#/components/responses/400 - "401": - $ref: ../responses/SOL005_resp.yaml#/components/responses/401 - "403": - $ref: ../responses/SOL005_resp.yaml#/components/responses/403 - "404": - $ref: ../responses/SOL005_resp.yaml#/components/responses/404 - "405": - $ref: ../responses/SOL005_resp.yaml#/components/responses/405 - "406": - $ref: ../responses/SOL005_resp.yaml#/components/responses/406 - "422": - $ref: ../responses/SOL005_resp.yaml#/components/responses/422 - "500": - $ref: ../responses/SOL005_resp.yaml#/components/responses/500 - "503": - $ref: ../responses/SOL005_resp.yaml#/components/responses/503 - "504": - $ref: ../responses/SOL005_resp.yaml#/components/responses/504 - callbacks: - CapacityShortageNotification: - $ref: '#/components/callbacks/CapacityShortageNotification' - - - /subscriptions/{subscriptionId}: - parameters: - - $ref: '#/components/parameters/SubscriptionId' - - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization - get: - summary: Read an individual subscription resource - description: | - The API consumer can use this method for reading an individual subscription about NFVI capacity information - notifications subscribed by the API consumer. - parameters: - - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - responses: - "200": - $ref: '#/components/responses/NfviCiSubscription.Get' - "400": - $ref: ../responses/SOL005_resp.yaml#/components/responses/400 - "401": - $ref: ../responses/SOL005_resp.yaml#/components/responses/401 - "403": - $ref: ../responses/SOL005_resp.yaml#/components/responses/403 - "404": - $ref: ../responses/SOL005_resp.yaml#/components/responses/404 - "405": - $ref: ../responses/SOL005_resp.yaml#/components/responses/405 - "406": - $ref: ../responses/SOL005_resp.yaml#/components/responses/406 - "500": - $ref: ../responses/SOL005_resp.yaml#/components/responses/500 - "503": - $ref: ../responses/SOL005_resp.yaml#/components/responses/503 - "504": - $ref: ../responses/SOL005_resp.yaml#/components/responses/504 - - delete: - summary: Terminate a subscription. - description: | - This method terminates an individual subscription. - This method shall follow the provisions specified in the Tables 10.4.7.3.5-1 and 10.4.7.3.5-2 for URI query - parameters, request and response data structures, and response codes. - responses: - "204": - $ref: '#/components/responses/NfviCiSubscription.Delete' - "400": - $ref: ../responses/SOL005_resp.yaml#/components/responses/400 - "401": - $ref: ../responses/SOL005_resp.yaml#/components/responses/401 - "403": - $ref: ../responses/SOL005_resp.yaml#/components/responses/403 - "404": - $ref: ../responses/SOL005_resp.yaml#/components/responses/404 - "405": - $ref: ../responses/SOL005_resp.yaml#/components/responses/405 - "406": - $ref: ../responses/SOL005_resp.yaml#/components/responses/406 - "500": - $ref: ../responses/SOL005_resp.yaml#/components/responses/500 - "503": - $ref: ../responses/SOL005_resp.yaml#/components/responses/503 - "504": - $ref: ../responses/SOL005_resp.yaml#/components/responses/504 - components: parameters: VimId: diff --git a/src/SOL005/NFVICapacityInformation/definitions/NFVICapacityInformation_def.yaml b/src/SOL005/NFVICapacityInformation/definitions/NFVICapacityInformation_def.yaml index 7588547..8813b63 100644 --- a/src/SOL005/NFVICapacityInformation/definitions/NFVICapacityInformation_def.yaml +++ b/src/SOL005/NFVICapacityInformation/definitions/NFVICapacityInformation_def.yaml @@ -176,79 +176,6 @@ components: This attribute shall only be present if the subscriber requires authorization of notifications. $ref: ../../definitions/SOL005_def.yaml#/definitions/SubscriptionAuthentication - CapacityShortageNotification: - type: object - description: | - This notification informs the receiver that the available NFVI capacity has crossed below a threshold value or - has re-covered from a capacity shortage. It shall comply with the provisions defined in Table 10.5.2.10-1. - required: - - id - - notificationType - - thresholdId - - timeStamp - - direction - - capacityInformation - - objectInstanceId - properties: - id: - description: | - Identifier of this notification. If a notification is sent multiple times due to multiple subscriptions, - the "id" attribute of all these notifications shall have the same value. - $ref: ../../definitions/SOL005_def.yaml#/definitions/Identifier - notificationType: - description: | - Discriminator for the different notification types. - Shall be set to "CapacityShortageNotification" for this notification type. - type: string - thresholdId: - description: | - Identifier of the threshold which has been crossed - $ref: ../../definitions/SOL005_def.yaml#/definitions/Identifier - timeStamp: - description: | - Date and time of the generation of the notification. - $ref: ../../definitions/SOL005_def.yaml#/definitions/DateTime - objectInstanceId: - description: | - Identifies the VIMā€™s NFVI capacity information instance (measured object instance) in which the available - NFVI capacity has crossed a threshold value. - $ref: ../../definitions/SOL005_def.yaml#/definitions/Identifier - subObjectInstanceId: - description: | - Identifier of the sub-object of the measured object to which the measurement applies. - Refer to the definition of the "CapacityThreshold" in clause 10.5.2.7. - $ref: ../../definitions/SOL005_def.yaml#/definitions/IdentifierInVim - direction: - description: | - Specifies if the threshold has been crossed in UP or DOWN direction. - type: string - enum: - - UP - - DOWN - capacityInformation: - description: | - Information about the available, reserved, allocated/used, and total capacity of the NFVI. - If the threshold creation process does specify a resource zone and/or vimId, the information is provided - for the resource zone/vimId where the NFVI capacity has crossed the thresholdas indicated by the - "subObjectInstanceId" and "objectInstanceId" attributes. - $ref: "#/components/schemas/NfviCapacityMeasurement" - _links: - description: | - Links to resources related to this notification. - type: object - required: - - threshold - properties: - objectInstance: - description: | - Link to the resource representing the measured object instance to which the notified change applies. - Shall be present if the measured object instance information is accessible as a resource. - $ref: ../../definitions/SOL005_def.yaml#/definitions/NotificationLink - threshold: - description: | - Link to the resource that represents the threshold that was crossed. - $ref: ../../definitions/SOL005_def.yaml#/definitions/NotificationLink - NfviCapacityInfoNotificationsFilter: type: object description: | diff --git a/src/SOL005/NFVICapacityInformationNotification/NFVICapacityInformationNotification.yaml b/src/SOL005/NFVICapacityInformationNotification/NFVICapacityInformationNotification.yaml new file mode 100644 index 0000000..d78e34d --- /dev/null +++ b/src/SOL005/NFVICapacityInformationNotification/NFVICapacityInformationNotification.yaml @@ -0,0 +1,144 @@ +openapi: 3.0.2 + +info: + title: SOL005 - NFVI Capacity Information Notification Interface + description: | + SOL005 - NFVI Capacity Information Notification Interface + IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it + refers to and has not been approved by the ETSI NFV ISG. In case of discrepancies the published ETSI Group Specification + takes precedence. + Please report bugs to https://forge.etsi.org/rep/nfv/SOL005/issues + contact: + name: NFV-SOL WG + license: + name: ETSI Forge copyright notice + url: https://forge.etsi.org/etsi-forge-copyright-notice.txt + version: 1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + +externalDocs: + description: ETSI GS NFV-SOL 005 V3.5.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.05.01_60/gs_nfv-sol005v030501p.pdf + +servers: + - url: http://127.0.0.1/callback/v2 + - url: https://127.0.0.1/callback/v2 + +paths: + ############################################################################### + # Notification endpoint NsdOnBoardingNotification # + ############################################################################### + /URI_is_provided_by_the_client_when_creating_the_subscription-CapacityShortageNotification: + parameters: + - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization + - $ref: ../components/SOL005_params.yaml#/components/parameters/Version + - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept + + post: + description: | + The POST method delivers a notification regarding an NFVI capacity information event from the API producer to + an API consumer. The API consumer shall have previously created an "Individual capacity threshold" resource. + See clause 10.4.6.3.1. + parameters: + - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType + requestBody: + $ref: '#/components/requestBodies/CapacityShortageNotification' + responses: + 204: + $ref: '#/components/responses/CapacityShortageNotification.Post.204' + 400: + $ref: "../responses/SOL005_resp.yaml#/components/responses/400" + 401: + $ref: "../responses/SOL005_resp.yaml#/components/responses/401" + 403: + $ref: "../responses/SOL005_resp.yaml#/components/responses/403" + 404: + $ref: "../responses/SOL005_resp.yaml#/components/responses/404" + 405: + $ref: "../responses/SOL005_resp.yaml#/components/responses/405" + 406: + $ref: "../responses/SOL005_resp.yaml#/components/responses/406" + 500: + $ref: "../responses/SOL005_resp.yaml#/components/responses/500" + 503: + $ref: "../responses/SOL005_resp.yaml#/components/responses/503" + + get: + description: | + The GET method allows the API producer to test the notification endpoint that is provided by the API consumer, + e.g. during creation of the capacity threshold resource. See clause 10.4.6.3.2. + responses: + 204: + $ref: '#/components/responses/CapacityShortageNotification.Get.204' + 400: + $ref: "../responses/SOL005_resp.yaml#/components/responses/400" + 401: + $ref: "../responses/SOL005_resp.yaml#/components/responses/401" + 403: + $ref: "../responses/SOL005_resp.yaml#/components/responses/403" + 404: + $ref: "../responses/SOL005_resp.yaml#/components/responses/404" + 405: + $ref: "../responses/SOL005_resp.yaml#/components/responses/405" + 406: + $ref: "../responses/SOL005_resp.yaml#/components/responses/406" + 500: + $ref: "../responses/SOL005_resp.yaml#/components/responses/500" + 503: + $ref: "../responses/SOL005_resp.yaml#/components/responses/503" + +components: + requestBodies: + CapacityShortageNotification: + description: | + A notification about the successful on-boarding of an NSD. + content: + application/json: + schema: + $ref: "definitions/SOL005NFVICapacityInformationNotification_def.yaml#/components/schemas/CapacityShortageNotification" + required: true + + responses: + CapacityShortageNotification.Post.204: + description: | + 204 NO CONTENT + + Shall be returned when the notification has been delivered successfully. + headers: + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + + CapacityShortageNotification.Get.204: + description: | + 204 NO CONTENT + + Shall be returned when the notification endpoint has been tested successfully. + The response body shall be empty. + headers: + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string diff --git a/src/SOL005/NFVICapacityInformationNotification/definitions/SOL005NFVICapacityInformationNotification_def.yaml b/src/SOL005/NFVICapacityInformationNotification/definitions/SOL005NFVICapacityInformationNotification_def.yaml new file mode 100644 index 0000000..eedad43 --- /dev/null +++ b/src/SOL005/NFVICapacityInformationNotification/definitions/SOL005NFVICapacityInformationNotification_def.yaml @@ -0,0 +1,76 @@ +# Copyright (c) ETSI 2017. +# https://forge.etsi.org/etsi-forge-copyright-notice.txt +components: + schemas: + CapacityShortageNotification: + type: object + description: | + This notification informs the receiver that the available NFVI capacity has crossed below a threshold value or + has re-covered from a capacity shortage. It shall comply with the provisions defined in Table 10.5.2.10-1. + required: + - id + - notificationType + - thresholdId + - timeStamp + - direction + - capacityInformation + - objectInstanceId + properties: + id: + description: | + Identifier of this notification. If a notification is sent multiple times due to multiple subscriptions, + the "id" attribute of all these notifications shall have the same value. + $ref: ../../definitions/SOL005_def.yaml#/definitions/Identifier + notificationType: + description: | + Discriminator for the different notification types. + Shall be set to "CapacityShortageNotification" for this notification type. + type: string + thresholdId: + description: | + Identifier of the threshold which has been crossed + $ref: ../../definitions/SOL005_def.yaml#/definitions/Identifier + timeStamp: + description: | + Date and time of the generation of the notification. + $ref: ../../definitions/SOL005_def.yaml#/definitions/DateTime + objectInstanceId: + description: | + Identifies the VIMā€™s NFVI capacity information instance (measured object instance) in which the available + NFVI capacity has crossed a threshold value. + $ref: ../../definitions/SOL005_def.yaml#/definitions/Identifier + subObjectInstanceId: + description: | + Identifier of the sub-object of the measured object to which the measurement applies. + Refer to the definition of the "CapacityThreshold" in clause 10.5.2.7. + $ref: ../../definitions/SOL005_def.yaml#/definitions/IdentifierInVim + direction: + description: | + Specifies if the threshold has been crossed in UP or DOWN direction. + type: string + enum: + - UP + - DOWN + capacityInformation: + description: | + Information about the available, reserved, allocated/used, and total capacity of the NFVI. + If the threshold creation process does specify a resource zone and/or vimId, the information is provided + for the resource zone/vimId where the NFVI capacity has crossed the thresholdas indicated by the + "subObjectInstanceId" and "objectInstanceId" attributes. + $ref: ../../NFVICapacityInformation/definitions/NFVICapacityInformation_def.yaml#/components/schemas/NfviCapacityMeasurement + _links: + description: | + Links to resources related to this notification. + type: object + required: + - threshold + properties: + objectInstance: + description: | + Link to the resource representing the measured object instance to which the notified change applies. + Shall be present if the measured object instance information is accessible as a resource. + $ref: ../../definitions/SOL005_def.yaml#/definitions/NotificationLink + threshold: + description: | + Link to the resource that represents the threshold that was crossed. + $ref: ../../definitions/SOL005_def.yaml#/definitions/NotificationLink \ No newline at end of file diff --git a/src/SOL005/NSDManagement/NSDManagement.yaml b/src/SOL005/NSDManagement/NSDManagement.yaml index c6b9c04..4ff4cc8 100644 --- a/src/SOL005/NSDManagement/NSDManagement.yaml +++ b/src/SOL005/NSDManagement/NSDManagement.yaml @@ -19,7 +19,7 @@ info: externalDocs: description: ETSI GS NFV-SOL 005 V3.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.03.01_60/gs_nfv-sol005v030301p.pdf + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.05.01_60/gs_nfv-sol005v030501p.pdf servers: - url: http://127.0.0.1/nsd/v2 @@ -43,9 +43,8 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept post: - summary: Create a new NS descriptor resource. description: | - The POST method is used to create a new NS descriptor resource. + The POST method is used to create a new NS descriptor resource. See clause 5.4.2.3.1. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType requestBody: @@ -73,9 +72,8 @@ paths: $ref: "../responses/SOL005_resp.yaml#/components/responses/504" get: - summary: Query information about multiple NS descriptor resources. description: | - The GET method queries information about multiple NS descriptor resources. + The GET method queries information about multiple NS descriptor resources. See clause 5.4.2.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/filter - $ref: ../components/SOL005_params.yaml#/components/parameters/all_fields @@ -116,9 +114,8 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version get: - summary: Read information about an individual NS descriptor resource. description: | - The GET method reads information about an individual NS descriptor. + The GET method reads information about an individual NS descriptor. See clause 5.4.3.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: @@ -144,17 +141,9 @@ paths: $ref: "../responses/SOL005_resp.yaml#/components/responses/504" patch: - summary: Modify the operational state and/or the user defined data of an individual NS descriptor resource. description: | The PATCH method modifies the operational state and/or user defined data of an individual NS descriptor resource. - This method can be used to: - 1) Enable a previously disabled individual NS descriptor resource, allowing again its use for instantiation of new - network service with this descriptor. The usage state (i.e. "IN_USE/NOT_IN_USE") shall not change as a - result. - 2) Disable a previously enabled individual NS descriptor resource, preventing any further use for instantiation of - new network service(s) with this descriptor. The usage state (i.e. "IN_USE/NOT_IN_USE") shall not change - as a result. - 3) Modify the user defined data of an individual NS descriptor resource. + See clause 5.4.3.3.4. requestBody: $ref: '#/components/requestBodies/NsdInfoModifications' responses: @@ -197,12 +186,8 @@ paths: $ref: "../responses/SOL005_resp.yaml#/components/responses/504" delete: - summary: Delete an individual NS descriptor resource. description: | - The DELETE method deletes an individual NS descriptor resource. - An individual NS descriptor resource can only be deleted when there is no NS instance using it (i.e. usageState = - NOT_IN_USE) and has been disabled already (i.e. operationalState = DISABLED). Otherwise, the DELETE method - shall fail. + The DELETE method deletes an individual NS descriptor resource. See clause 5.4.3.3.5. responses: 204: $ref: '#/components/responses/IndividualNSDescriptor.Delete.204' @@ -251,22 +236,8 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version get: - summary: Fetch the content of a NSD. - description: | - The GET method fetches the content of the NSD archive. - The NSD archive is implemented as a single zip file. - The content of the NSD archive is provided as onboarded, - i.e. depending on the security option used, the CSAR wrapped - in a ZIP archive together with an external signature is returned, - as defined in clause 5.1 of ETSI GS NFV-SOL 007. - - NOTE: Information about the applicable security option can be - obtained by evaluating the "archiveSecurityOption" - attribute in the "nsdInfo" structure. - - This method shall follow the provisions specified in the T - ables 5.4.4.3.2-1 and 5.4.4.3.2-2 for URI query parameters, - request and response data structures, and response codes. + description: | + The GET method fetches the content of the NSD archive. See clause 5.4.4.3.2. parameters: - $ref: '#/components/parameters/AcceptTextOrZip' - $ref: ../components/SOL005_params.yaml#/components/parameters/Range @@ -341,13 +312,8 @@ paths: $ref: "../responses/SOL005_resp.yaml#/components/responses/504" put: - summary: Upload the content of a NSD. description: | - The PUT method is used to upload the content of an NSD archive. - The NSD to be uploaded is implemented as a single ZIP file as defined in clause 5.4.4.3.2. - The "Content-Type" HTTP header in the PUT request shall be set to "application/zip". - This method shall follow the provisions specified in the Tables 5.4.4.3.3-1 and - 5.4.4.3.3-2 for URI query parameters, request and response data structures, and response codes. + The PUT method is used to upload the content of an NSD archive. See clause 5.4.4.3.3. parameters: - $ref: '#/components/parameters/ContentTypeZip' responses: @@ -399,42 +365,7 @@ paths: get: description: | - The GET method reads the content of the NSD within an NSD archive. - The NSD can be implemented as a single file or as a collection of - multiple files. If the NSD is implemented in the form of multiple files, - a ZIP file embedding these files shall be returned. If the NSD is implemented - as a single file, either that file or a ZIP file embedding that file shall be returned. - The selection of the format is controlled by the "Accept" HTTP header passed in the GET request: - ā€¢ If the "Accept" header contains only "text/plain" and the NSD is implemented as a single file, - the file shall be returned; otherwise, an error message shall be returned. - ā€¢ If the "Accept" header contains only "application/zip", the single file or - the multiple files that make up the NSD shall be returned embedded in a ZIP file. - ā€¢ If the "Accept" header contains both "text/plain" and "application/zip", it is up - to the NFVO to choose the format to return for a single-file NSD; for a multi-file NSD, - a ZIP file shall be returned. - The default format of the ZIP file shall comply with the CSAR format as specified in ETSI GS NFV-SOL 007 - where only the YAML files representing the NSD, and information necessary to navigate - the ZIP file and to identify the file that is the entry point for parsing the NSD and - (if requested) further security information are included and other artifacts referenced from the YAML files are excluded. This means that the content - of the ZIP archive shall contain the following files from the NSD archive: - ā€¢ TOSCA.meta (if available in the NSD archive); - ā€¢ The main TOSCA definitions YAML file (either as referenced by the Entry-Definitions keyword from TOSCA.meta or available as a - file with the extension ".yml" or ".yaml" from the root of the archive); - ā€¢ Other TOSCA YAML files, if any, as referenced by the Other-Definitions keyword from TOSCA.meta; - ā€¢ Every component of the NSD referenced (recursively) from the theYAML files as mentioned above; - NOTE 1: For a NSD based on TOSCA, it includes all the imported type definition files as indicated - in the top level the main service template and in any of the lower level service template if it - has any as described in ETSI GS NFV-SOL 001. - NOTE 2: For a NSD based on YANG, it includes the file as indicated by the "yang_definitions" - keyname in the metadata section of the main yaml file as described in ETSI GS NFV-SOL 007. - ā€¢ The related security information, if the "include_signatures" URI parameter is provided, as follows: - - the manifest file; - - the singleton certificate file in the root of the NSD archive (if available in the NSD archive); - - the signing certificates of the individual files included in the ZIP archive - (if available in the NSD archive); - - the signatures of the individual files (if available in the NSD archive). - This method shall follow the provisions specified in the Tables 5.4.4a.3.2-1 and 5.4.4a.3.2-2 for - URI query parameters, request and response data structures, and response codes. + The GET method reads the content of the NSD within an NSD archive. See clause 5.4.4a.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/include_signatures - $ref: '#/components/parameters/AcceptTextOrZip' @@ -473,12 +404,8 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version get: - summary: Fetch the content of the manifest in an NSD archive. description: | - The GET method reads the content of the manifest file within an NSD archive. - This method shall follow the provisions specified in the Tables 5.4.4b.3.2-1 - and 5.4.4b.3.2-2 for URI query parameters, request and response data structures, - and response codes. + The GET method reads the content of the manifest file within an NSD archive. See clasue 5.4.4b.3.2. parameters: - $ref: '#/components/parameters/AcceptTextOrZip' - $ref: ../components/SOL005_params.yaml#/components/parameters/include_signatures @@ -528,12 +455,7 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version get: description: | - The GET method fetches the content of an individual artifact within - a NSD archive. - - This method shall follow the provisions specified in the Tables 5.4.4c.3.2-1 - and 5.4.4c.3.2-2 for URI query parameters, request and response data structures, - and response codes. + The GET method fetches the content of an individual artifact within an NSD archive. See clause 5.4.4c.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Range - $ref: ../components/SOL005_params.yaml#/components/parameters/include_signatures @@ -596,9 +518,8 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version post: - summary: Create a new PNF descriptor resource. description: | - The POST method is used to create a new PNF descriptor resource + The POST method is used to create a new PNF descriptor resource. See clause 5.4.5.3.1. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType @@ -627,10 +548,8 @@ paths: $ref: "../responses/SOL005_resp.yaml#/components/responses/504" get: - summary: Query information about multiple PNF descriptor resources. description: | - "The GET method queries information about multiple PNF descriptor - resources." + The GET method queries information about multiple PNF descriptor resources. See clause 5.4.5.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/filter - $ref: ../components/SOL005_params.yaml#/components/parameters/all_fields @@ -669,9 +588,8 @@ paths: - $ref: '#/components/parameters/PnfdInfoId' get: - summary: Read an individual PNFD resource. description: | - The GET method reads information about an individual PNF descriptor. + The GET method reads information about an individual PNF descriptor. See clause 5.4.6.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization @@ -699,9 +617,8 @@ paths: $ref: "../responses/SOL005_resp.yaml#/components/responses/504" patch: - summary: Modify the user defined data of an individual PNF descriptor resource. description: | - The PATCH method modifies the user defined data of an individual PNF descriptor resource. + The PATCH method modifies the user defined data of an individual PNF descriptor resource. See clause 5.4.6.3.4. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType @@ -732,20 +649,8 @@ paths: $ref: "../responses/SOL005_resp.yaml#/components/responses/504" delete: - summary: Delete an individual PNF descriptor resource. - description: | - The DELETE method deletes an individual PNF descriptor resource. - An individual PNF descriptor resource can only be deleted when t - here is no NS instance using it or there is NSD referencing it. - To delete all PNFD versions identified by a particular value of - the "pnfdInvariantId" attribute, the procedure is to first use t - he GET method with filter "pnfdInvariantId" towards the PNF - descriptors resource to find all versions of the PNFD. Then, - he API consumer uses the DELETE method described in this clause - to delete each PNFD version individually. - This method shall follow the provisions specified in the Tables - 5.4.6.3.5-1 and 5.4.6.3.5-2 for URI query parameters, request - and response data structures, and response codes. + description: | + The DELETE method deletes an individual PNF descriptor resource. See clause 5.4.6.3.5. responses: 204: $ref: '#/components/responses/IndividualPnfDescriptor.Delete.200' @@ -779,20 +684,8 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version get: - summary: Fetch the content of a PNFD. description: | - The GET method fetches the content of the PNFD archive. - The content of the PNFD archive is provided as onboarded, - i.e. depending on the security option used, the CSAR or - the CSAR wrapped in a ZIP archive together with an external - signature is returned, as defined in clause 5.1 of ETSI GS NFV-SOL 004. - - NOTE: Information about the applicable security option can be obtained - by evaluating the "archiveSecurityOption" attribute in the "pnfdInfo" structure. - - This method shall follow the provisions specified in the Tables 5.4.7.3.2-1 - and 5.4.7.3.2-2 for URI query parameters, request and response data structures, - and response codes. + The GET method fetches the content of the PNFD archive. See clause 5.4.7.3.2. parameters: - $ref: '#/components/parameters/AcceptText' - $ref: ../components/SOL005_params.yaml#/components/parameters/Range @@ -836,11 +729,8 @@ paths: $ref: "../responses/SOL005_resp.yaml#/components/responses/504" put: - summary: Upload the content of a PNFD. description: | - The PUT method is used to upload the content of a PNFD archive. - This resource represents the content of the individual PNF descriptor, i.e. PNFD content. - The client can use this resource to upload and download the content of the PNFD. + The PUT method is used to upload the content of a PNFD archive. See clause 5.4.7.3.3. parameters: - $ref: '#/components/parameters/AcceptText' - $ref: '#/components/parameters/ContentTypeZip' @@ -891,45 +781,7 @@ paths: get: description: | - The GET method reads the content of the PNFD within a PNFD archive. - The PNFD can be implemented as a single file or as a collection of - multiple files. If the PNFD is implemented in the form of multiple - files, a ZIP file embedding these files shall be returned. If the - PNFD is implemented as a single file, either that file or a ZIP file - embedding that file shall be returned. - The selection of the format is controlled by the "Accept" HTTP header - passed in the GET request: - ā€¢ If the "Accept" header contains only "text/plain" and the PNFD is - implemented as a single file, the file shall be returned; otherwise, - an error message shall be returned. - ā€¢ If the "Accept" header contains only "application/zip", the single - file or the multiple files that make up the PNFD shall be returned - embedded in a ZIP file. - ā€¢ If the "Accept" header contains both "text/plain" and "application/zip", - it is up to the NFVO to choose the format to return for a single-file PNFD; - for a multi-file PNFD, a ZIP file shall be returned. - The default format of the ZIP file shall be the one specified in ETSI GS - NFV-SOL 004 where only the YAML files representing the PNFD, and information - necessary to navigate the ZIP file and to identify the file that is the entry - point for parsing the PNFD and (if requested) further security information - are included. This means that the content of the ZIP archive shall contain - the following files from the PNFD archive: - ā€¢ TOSCA.meta (if available in the PNFD archive); - ā€¢ the main service template (either as referenced from TOSCA.meta or - available as a file with the extension ".yml" or ".yaml" from the - root of the archive); - ā€¢ every component of the PNFD referenced (recursively) from the main - service template; - ā€¢ the related security information, if the "include_signatures" URI - parameter is provided, as follows: - - the manifest file; - - the singleton certificate file in the root of the PNFD archive - (if available in the PNFD archive); - - the signing certificates of the individual files included in the - ZIP archive (if available in the PNFD archive); - - the signatures of the individual files (if available in the PNFD archive). - This method shall follow the provisions specified in the Tables 5.4.7a.3.2-1 and - 5.4.7a.3.2-2 for URI query parameters, request and response data structures, and response codes. + The GET method reads the content of the PNFD within a PNFD archive. See clause 5.4.7a.3.2. parameters: - $ref: '#/components/parameters/AcceptText' - $ref: ../components/SOL005_params.yaml#/components/parameters/Range @@ -970,10 +822,7 @@ paths: get: description: | - The GET method reads the content of the manifest file within a PNFD archive. - This method shall follow the provisions specified in the Tables 5.4.7b.3.2-1 - and 5.4.7b.3.2-2 for URI query parameters, request and response data structures, - and response codes. + The GET method reads the content of the manifest file within a PNFD archive. See clause 5.4.7b.3.2. parameters: - $ref: '#/components/parameters/AcceptTextOrZip' - $ref: ../components/SOL005_params.yaml#/components/parameters/include_signatures @@ -1014,11 +863,7 @@ paths: get: description: | - The GET method fetches the content of an individual artifact within a PNFD archive. - - This method shall follow the provisions specified in the Tables 5.4.7c.3.2-1 and - 5.4.7c.3.2-2 for URI query parameters, request and response data structures, and - response codes. + The GET method fetches the content of an individual artifact within a PNFD archive. See clause 5.4.7c.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Range - $ref: ../components/SOL005_params.yaml#/components/parameters/include_signatures @@ -1081,22 +926,8 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version post: - summary: Subscribe to NSD and PNFD change notifications. - description: | - The POST method creates a new subscription. - This method shall support the URI query parameters, request and - response data structures, and response codes, as specified in - the Tables 5.4.8.3.1-1 and 5.4.8.3.1-2. - Creation of two subscription resources with the same callback URI - and the same filter can result in performance degradation and will - provide duplicates of notifications to the OSS, and might make - sense only in very rare use cases. Consequently, the NFVO may - either allow creating a subscription resource if another subscription - resource with the same filter and callback URI already exists (in which - case it shall return the "201 Created" response code), or may decide to - not create a duplicate subscription resource (in which case it shall - return a "303 See Other" response code referencing the existing - subscription resource with the same filter and callbackUricallback URI). + description: | + The POST method creates a new subscription. See clause 5.4.8.3.1. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType @@ -1140,14 +971,9 @@ paths: $ref: "../responses/SOL005_resp.yaml#/components/responses/504" get: - summary: Query multiple subscriptions. - description: | - TThe GET method queries the list of active subscriptions of the - functional block that invokes the method. It can be used e.g. - for resynchronization after error situations. - This method shall support the URI query parameters, request and - response data structures, and response codes, as specified in - the Tables 5.4.8.3.2-1 and 5.4.8.3.2-2. + description: | + The GET method queries the list of active subscriptions of the functional block that invokes the method. + It can be used e.g. for resynchronization after error situations. See clause 5.4.8.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/filter - $ref: ../components/SOL005_params.yaml#/components/parameters/nextpage_opaque_marker @@ -1185,17 +1011,9 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version get: - summary: Read an individual subscription resource. description: | - This resource represents an individual subscription. - It can be used by the client to read and to terminate a subscription to - notifications related to NSD management. - - The GET method retrieves information about a subscription by reading - an individual subscription resource. - This resource represents an individual subscription. - It can be used by the client to read and to terminate a subscription to - notifications related to NSD management. + The GET method retrieves information about a subscription by reading an individual subscription resource. + See clause 5.4.9.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: @@ -1221,16 +1039,8 @@ paths: $ref: "../responses/SOL005_resp.yaml#/components/responses/504" delete: - summary: Terminate Subscription description: | - This resource represents an individual subscription. - It can be used by the client to read and to terminate a subscription to - notifications related to NSD management. - - The DELETE method terminates an individual subscription. - This method shall support the URI query parameters, request and - response data structures, and response codes, as - specified in the Table 5.4.9.3.3-2. + The DELETE method terminates an individual subscription. See clause 5.4.9.3.5. responses: 204: $ref: '#/components/responses/IndividualSubscription.Delete.204' diff --git a/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml b/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml index 4209c2b..548308d 100644 --- a/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml +++ b/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml @@ -14,11 +14,11 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 005 V3.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.03.01_60/gs_nfv-sol005v030301p.pdf + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.05.01_60/gs_nfv-sol005v030501p.pdf servers: - url: http://127.0.0.1/callback/v2 @@ -35,12 +35,8 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept post: - summary: Notify about NSD and PNFD changes description: | - The POST method delivers a notification from the API producer to the API consumer. - This method shall support the URI query parameters, request and - response data structures, and response codes, as - specified in the Table 5.4.10.3.1-2. + The POST method delivers a notification from the API producer to the API consumer. See clause 5.4.10.3.1. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType requestBody: @@ -66,12 +62,9 @@ paths: $ref: "../responses/SOL005_resp.yaml#/components/responses/503" get: - summary: Test the notification endpoint description: | - The GET method allows the API producer to test the notification endpoint - that is provided by the API consumer, e.g. during subscription. - This method shall follow the provisions specified in the Table 5.4.10.3.2-2 for URI query parameters, - request and response data structures, and response codes. + The GET method allows the API producer to test the notification endpoint that is provided by the API + consumer, e.g. during subscription. See clause 5.4.10.3.2. responses: 204: $ref: '#/components/responses/NsdOnBoardingNotification.Get.204' @@ -102,12 +95,8 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept post: - summary: Notify about NSD and PNFD changes description: | - The POST method delivers a notification from the API producer to the API consumer. - This method shall support the URI query parameters, request and - response data structures, and response codes, as - specified in the Table 5.4.10.3.1-2. + The POST method delivers a notification from the API producer to the API consumer. See clause 5.4.10.3.1. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType requestBody: @@ -133,12 +122,9 @@ paths: $ref: "../responses/SOL005_resp.yaml#/components/responses/503" get: - summary: Test the notification endpoint description: | - The GET method allows the API producer to test the notification endpoint - that is provided by the API consumer, e.g. during subscription. - This method shall follow the provisions specified in the Table 5.4.10.3.2-2 for URI query parameters, - request and response data structures, and response codes. + The GET method allows the API producer to test the notification endpoint that is provided by the API + consumer, e.g. during subscription. See clause 5.4.10.3.2. responses: 204: $ref: '#/components/responses/NsdOnBoardingFailureNotification.Get.204' @@ -169,12 +155,8 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept post: - summary: Notify about NSD and PNFD changes description: | - The POST method delivers a notification from the API producer to the API consumer. - This method shall support the URI query parameters, request and - response data structures, and response codes, as - specified in the Table 5.4.10.3.1-2. + The POST method delivers a notification from the API producer to the API consumer. See clause 5.4.10.3.1. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType requestBody: @@ -200,12 +182,9 @@ paths: $ref: "../responses/SOL005_resp.yaml#/components/responses/503" get: - summary: Test the notification endpoint description: | - The GET method allows the API producer to test the notification endpoint - that is provided by the API consumer, e.g. during subscription. - This method shall follow the provisions specified in the Table 5.4.10.3.2-2 for URI query parameters, - request and response data structures, and response codes. + The GET method allows the API producer to test the notification endpoint that is provided by the API + consumer, e.g. during subscription. See clause 5.4.10.3.2. responses: 204: $ref: '#/components/responses/NsdChangeNotification.Get.204' @@ -236,12 +215,8 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept post: - summary: Notify about NSD and PNFD changes description: | - The POST method delivers a notification from the API producer to the API consumer. - This method shall support the URI query parameters, request and - response data structures, and response codes, as - specified in the Table 5.4.10.3.1-2. + The POST method delivers a notification from the API producer to the API consumer. See clause 5.4.10.3.1. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType requestBody: @@ -267,12 +242,9 @@ paths: $ref: "../responses/SOL005_resp.yaml#/components/responses/503" get: - summary: Test the notification endpoint description: | - The GET method allows the API producer to test the notification endpoint - that is provided by the API consumer, e.g. during subscription. - This method shall follow the provisions specified in the Table 5.4.10.3.2-2 for URI query parameters, - request and response data structures, and response codes. + The GET method allows the API producer to test the notification endpoint that is provided by the API + consumer, e.g. during subscription. See clause 5.4.10.3.2. responses: 204: $ref: '#/components/responses/NsdDeletionNotification.Get.204' @@ -303,12 +275,8 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept post: - summary: Notify about NSD and PNFD changes description: | - The POST method delivers a notification from the API producer to the API consumer. - This method shall support the URI query parameters, request and - response data structures, and response codes, as - specified in the Table 5.4.10.3.1-2. + The POST method delivers a notification from the API producer to the API consumer. See clause 5.4.10.3.1. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType requestBody: @@ -334,12 +302,9 @@ paths: $ref: "../responses/SOL005_resp.yaml#/components/responses/503" get: - summary: Test the notification endpoint description: | - The GET method allows the API producer to test the notification endpoint - that is provided by the API consumer, e.g. during subscription. - This method shall follow the provisions specified in the Table 5.4.10.3.2-2 for URI query parameters, - request and response data structures, and response codes. + The GET method allows the API producer to test the notification endpoint that is provided by the API + consumer, e.g. during subscription. See clause 5.4.10.3.2. responses: 204: $ref: '#/components/responses/PnfdOnBoardingNotification.Get.204' @@ -370,12 +335,8 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept post: - summary: Notify about NSD and PNFD changes description: | - The POST method delivers a notification from the API producer to the API consumer. - This method shall support the URI query parameters, request and - response data structures, and response codes, as - specified in the Table 5.4.10.3.1-2. + The POST method delivers a notification from the API producer to the API consumer. See clause 5.4.10.3.1. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType requestBody: @@ -401,12 +362,9 @@ paths: $ref: "../responses/SOL005_resp.yaml#/components/responses/503" get: - summary: Test the notification endpoint description: | - The GET method allows the API producer to test the notification endpoint - that is provided by the API consumer, e.g. during subscription. - This method shall follow the provisions specified in the Table 5.4.10.3.2-2 for URI query parameters, - request and response data structures, and response codes. + The GET method allows the API producer to test the notification endpoint that is provided by the API + consumer, e.g. during subscription. See clause 5.4.10.3.2. responses: 204: $ref: '#/components/responses/PnfdOnBoardingFailureNotification.Get.204' @@ -437,12 +395,8 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept post: - summary: Notify about NSD and PNFD changes description: | - The POST method delivers a notification from the API producer to the API consumer. - This method shall support the URI query parameters, request and - response data structures, and response codes, as - specified in the Table 5.4.10.3.1-2. + The POST method delivers a notification from the API producer to the API consumer. See clause 5.4.10.3.1. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType requestBody: @@ -468,12 +422,9 @@ paths: $ref: "../responses/SOL005_resp.yaml#/components/responses/503" get: - summary: Test the notification endpoint description: | - The GET method allows the API producer to test the notification endpoint - that is provided by the API consumer, e.g. during subscription. - This method shall follow the provisions specified in the Table 5.4.10.3.2-2 for URI query parameters, - request and response data structures, and response codes. + The GET method allows the API producer to test the notification endpoint that is provided by the API + consumer, e.g. during subscription. See clause 5.4.10.3.2. responses: 204: $ref: '#/components/responses/PnfdDeletionNotification.Get.204' diff --git a/src/SOL005/NSFaultManagement/NSFaultManagement.yaml b/src/SOL005/NSFaultManagement/NSFaultManagement.yaml index e912c4a..23900ad 100644 --- a/src/SOL005/NSFaultManagement/NSFaultManagement.yaml +++ b/src/SOL005/NSFaultManagement/NSFaultManagement.yaml @@ -17,7 +17,7 @@ info: externalDocs: description: ETSI GS NFV-SOL 005 V3.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.03.01_60/gs_nfv-sol005v030301p.pdf + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.05.01_60/gs_nfv-sol005v030501p.pdf servers: - url: http://127.0.0.1/nsfm/v1 @@ -32,12 +32,8 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization get: - summary: Query alarms related to NS instances. description: | - Get Alarm List. - The API consumer can use this method to retrieve information about the alarm list. This method shall follow the - provisions specified in the Tables 8.4.2.3.2-1 and 8.4.2.3.2-2 for URI query parameters, request and response - data structures, and response codes. + The API consumer can use this method to retrieve information about the alarm list. See clause 8.4.2.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/filter - $ref: ../components/SOL005_params.yaml#/components/parameters/nextpage_opaque_marker @@ -72,11 +68,8 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization get: - summary: Read individual alarm. description: | - The API consumer can use this method to read an individual alarm. This method shall follow the provisions - specified in the Tables 8.4.3.3.2-1 and 8.4.3.3.2-2 for URI query parameters, request and response data - structures, and response codes. + The API consumer can use this method to read an individual alarm. See clause 8.4.3.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: @@ -104,12 +97,8 @@ paths: $ref: ../responses/SOL005_resp.yaml#/components/responses/504 patch: - summary: Acknowledge individual alarm. description: | - Acknowledge Alarm - This method modifies an individual alarm resource. This method shall follow the provisions specified in the - Tables 8.4.3.3.2-1 and 8.4.3.3.2-2 for URI query parameters, request and response data structures, and response - codes. + This method modifies an individual alarm resource. See clause 8.4.3.3.4. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType @@ -148,13 +137,10 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization get: - summary: Query multiple subscriptions. description: | - Query Subscription Information - The API consumer can use this method to retrieve the list of active subscriptions for alarms related to an NS - subscribed by the API consumer. It can be used e.g. for resynchronization after error situations. This method - shall follow the provisions specified in the Tables 8.4.4.3.2-1 and 8.4.4.3.2-2 for URI query parameters, - request and response data structures, and response codes. + The API consumer can use this method to retrieve the list of active subscriptions for alarms related to an + NS subscribed by the API consumer. It can be used e.g. for resynchronization after error situations. + See clause 8.4.4.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/filter - $ref: ../components/SOL005_params.yaml#/components/parameters/nextpage_opaque_marker @@ -182,10 +168,8 @@ paths: $ref: ../responses/SOL005_resp.yaml#/components/responses/504 post: - summary: Subscribe to alarms related to NSs. description: | - The POST method creates a new subscription. - See clause 8.4.4.3.1. + The POST method creates a new subscription. See clause 8.4.4.3.1. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType @@ -223,12 +207,9 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization get: - summary: Read an individual subscription. description: | - Query Subscription Information - The API consumer can use this method for reading an individual subscription for alarms related to NSs subscribed - by the API consumer. This method shall follow the provisions specified in the Tables 8.4.5.3.2-1 and 8.4.5.3.2-2 - for URI query parameters, request and response data structures, and response codes. + The API consumer can use this method for reading an individual subscription for alarms related to NSs + subscribed by the API consumer. See clause 8.4.5.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: @@ -254,14 +235,8 @@ paths: $ref: ../responses/SOL005_resp.yaml#/components/responses/504 delete: - summary: Terminate a subscription. description: | - Terminate Subscription - This method terminates an individual subscription. As the result of successfully executing this method, the - "Individual subscription" resource shall not exist any longer. This means that no notifications for that - subscription shall be sent to the formerly-subscribed API consumer. NOTE: Due to race conditions, some - notifications might still be received by the formerly-subscribed API consumer for a certain time period after - the deletion. + This method terminates an individual subscription. See clause 8.4.5.3.5. responses: "204": $ref: '#/components/responses/IndividualFmSubscription.Delete' diff --git a/src/SOL005/NSFaultManagementNotification/NSFaultManagementNotification.yaml b/src/SOL005/NSFaultManagementNotification/NSFaultManagementNotification.yaml index a389a87..d0b697d 100644 --- a/src/SOL005/NSFaultManagementNotification/NSFaultManagementNotification.yaml +++ b/src/SOL005/NSFaultManagementNotification/NSFaultManagementNotification.yaml @@ -13,7 +13,7 @@ info: externalDocs: description: ETSI GS NFV-SOL 005 V3.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.03.01_60/gs_nfv-sol005v030301p.pdf + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.05.01_60/gs_nfv-sol005v030501p.pdf servers: - url: http://127.0.0.1/callback/v1 @@ -24,10 +24,9 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization get: - summary: Test the notification endpoint. description: | - The GET method allows the server to test the notification endpoint that is provided by the API consumer, - e.g. during subscription. + The GET method allows the API producer to test the notification endpoint that is provided by the API consumer, + e.g. during subscription. See clause 8.4.6.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: @@ -49,10 +48,9 @@ paths: $ref: ../responses/SOL005_resp.yaml#/components/responses/503 post: - summary: Notify about NS alarms description: | - The POST method notifies an alarm related to a NS or that the alarm list has been rebuilt. The API consumer - shall have previously created an "individual subscription resource" with a matching filter. + The POST method notifies an alarm related to an NS or that the alarm list has been rebuilt. The API consumer + shall have previously created an "individual subscription resource" with a matching filter. See clause 8.4.6.3.1. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType @@ -81,10 +79,9 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization get: - summary: Test the notification endpoint. description: | - The GET method allows the server to test the notification endpoint that is provided by the client, - e.g. during subscription. + The GET method allows the API producer to test the notification endpoint that is provided by the API consumer, + e.g. during subscription. See clause 8.4.6.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: @@ -106,9 +103,9 @@ paths: $ref: ../responses/SOL005_resp.yaml#/components/responses/503 post: - summary: Notify about NS alarms description: | - The POST method notifies an alarm related to a NS or that the alarm list has been rebuilt. + The POST method notifies an alarm related to an NS or that the alarm list has been rebuilt. The API consumer + shall have previously created an "individual subscription resource" with a matching filter. See clause 8.4.6.3.1. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType @@ -137,10 +134,9 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization get: - summary: Test the notification endpoint. description: | - The GET method allows the server to test the notification endpoint that is provided by the API consumer, - e.g. during subscription. + The GET method allows the API producer to test the notification endpoint that is provided by the API consumer, + e.g. during subscription. See clause 8.4.6.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: @@ -162,9 +158,9 @@ paths: $ref: ../responses/SOL005_resp.yaml#/components/responses/503 post: - summary: Notify about NS alarms description: | - The POST method notifies an alarm related to a NS or that the alarm list has been rebuilt. + The POST method notifies an alarm related to an NS or that the alarm list has been rebuilt. The API consumer + shall have previously created an "individual subscription resource" with a matching filter. See clause 8.4.6.3.1. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType diff --git a/src/SOL005/NSLCMCoordination/NSLCMCoordination.yaml b/src/SOL005/NSLCMCoordination/NSLCMCoordination.yaml index bf02f92..2cfba47 100644 --- a/src/SOL005/NSLCMCoordination/NSLCMCoordination.yaml +++ b/src/SOL005/NSLCMCoordination/NSLCMCoordination.yaml @@ -18,7 +18,7 @@ info: externalDocs: description: ETSI GS NFV-SOL 005 V3.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.03.01_60/gs_nfv-sol005v030301p.pdf + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.05.01_60/gs_nfv-sol005v030501p.pdf servers: - url: http://127.0.0.1/lcmcoord/v1 @@ -38,9 +38,8 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept post: description: | - The POST method requests the coordination of an LCM operation occurrence - with a management operation executed in the API producer. - See clause 12.4.2.3.1. + The POST method requests the coordination of an LCM operation occurrence with a management operation executed + in the API producer. See clause 12.4.2.3.1. requestBody: $ref: '#/components/requestBodies/LcmCoordRequest' responses: @@ -79,8 +78,7 @@ paths: - $ref: '#/components/parameters/CoordinationId' get: description: | - The GET method reads a coordination result. - See clause 12.4.3.3.2. + The GET method reads a coordination result. See clause 12.4.3.3.2. responses: 200: $ref: '#/components/responses/IndividualCoordinationAction.Get.200' diff --git a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml index 0f97fa1..1c7661b 100644 --- a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml +++ b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml @@ -17,7 +17,7 @@ info: externalDocs: description: ETSI GS NFV-SOL 005 V3.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.03.01_60/gs_nfv-sol005v030301p.pdf + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.05.01_60/gs_nfv-sol005v030501p.pdf servers: - url: http://127.0.0.1/nslcm/v1 @@ -32,11 +32,8 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization get: - summary: Query multiple NS instances. description: | - Query NS Instances. - The GET method queries information about multiple NS instances. This method shall support the URI query parameters, - request and response data structures, and response codes, as specified in the Tables 6.4.2.3.2-1 and 6.4.2.3.2-2. + The GET method queries information about multiple NS instances. See clause 6.4.2.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/filter - $ref: ../components/SOL005_params.yaml#/components/parameters/all_fields @@ -72,13 +69,8 @@ paths: $ref: ../responses/SOL005_resp.yaml#/components/responses/504 post: - summary: Create a NS instance resource. description: | - The POST method creates a new NS instance resource. As the result of successfully executing this method, a new - "Individual NS instance" resource as defined in clause 6.4.3 shall have been created, and the value of the - "instantiationState" attribute in the representation of that resource shall be "NOT_INSTANTIATED". A notification - of type NsIdentifierCreationNotification shall be triggered as part of successfully executing this method as defined - in clause 6.5.2.6. + The POST method creates a new NS instance resource. See clause 6.4.2.3.1. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType @@ -116,9 +108,9 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization get: - summary: Read an individual NS instance resource. description: | - The GET method retrieves information about a NS instance by reading an individual NS instance resource. + The GET method retrieves information about an NS instance by reading an "Individual NS instance" resource. + See clause 6.4.3.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType @@ -147,12 +139,8 @@ paths: $ref: ../responses/SOL005_resp.yaml#/components/responses/504 delete: - summary: Delete NS instance resource. description: | - Delete NS Identifier - This method deletes an individual NS instance resource. As the result of successfully executing this method, the - "Individual NS instance" resource shall not exist any longer. A notification of type "NsIdentifierDeletionNotification" - shall be triggered as part of successfully executing this method as defined in clause 6.5.2.7. + This method deletes an "Individual NS instance" resource. See clause 6.4.3.3.5. responses: "204": $ref: '#/components/responses/IndividualNsInstance.Delete' @@ -185,12 +173,8 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization post: - summary: Instantiate a NS. description: | - The POST method requests to instantiate a NS instance resource. The steps and conditions that apply as the result - of successfully executing this method are specified in clause 6.4.1.2. In addition, once the NFVO has successfully - completed the underlying NS LCM operation occurrence, it shall set the "nsState" attribute to the value "INSTANTIATED" - in the representation of the "Individual NS instance" resource. + The POST method instantiates an NS instance. See clause 6.4.4.3.1. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType @@ -228,12 +212,8 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization post: - summary: Scale a NS instance. description: | - The POST method requests to scale a NS instance resource. The steps and conditions that apply as the result of - successfully executing this method are specified in clause 6.4.1.2. In addition, once the NFVO has successfully - completed the underlying NS LCM operation occurrence, it shall reflect the result of scaling the NS instance by - updating the "nsScaleStatus" attribute in the representation of the "Individual NS instance" resource. + The POST method requests to scale an NS instance resource. See clause 6.4.5.3.1. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType @@ -271,9 +251,8 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization post: - summary: Updates a NS instance. description: | - The POST method updates an NS instance. + The POST method updates an NS instance. See clause 6.4.6.3.1. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType @@ -311,12 +290,8 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization post: - summary: Heal a NS instance. description: | - The POST method requests to heal an NS instance. This method shall follow the provisions specified in the Tables - 6.4.7.3.1-1 and 6.4.7.3.1-2 for URI query parameters, request and response data structures, and response codes. - The steps and conditions that apply as the result of successfully executing this method are specified in clause - 6.4.1.2. + The POST method requests to heal an NS instance. See clause 6.4.7.3.1. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType @@ -354,16 +329,8 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization post: - summary: Terminate a NS instance. description: | - Terminate NS task. The POST method terminates an NS instance. This method shall follow the provisions specified - in the Tables 6.4.8.3.1-1 and 6.4.8.3.1-2 for URI query parameters, request and response data structures, and - response codes. The steps and conditions that apply as the result of successfully executing this method are - specified in clause 6.4.1.2. In addition, once the NFVO has successfully completed the underlying NS LCM operation - occurrence, it shall set the "nsState" attribute in the representation of the "Individual NS instance" resource - to the value "NOT_INSTANTIATED". This method can only be used with an NS instance in the INSTANTIATED state. - Terminating an NS instance does not delete the NS instance identifier, but rather transitions the NS into the - NOT_INSTANTIATED state. + The POST method terminates an NS instance. See clause 6.4.8.3.1. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType @@ -400,12 +367,9 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization get: - summary: Query multiple NS LCM operation occurrences. description: | - Get Operation Status. Shall be returned upon the following error: The operation cannot be executed currently, - due to a conflict with the state of the resource. Typically, this is due to the fact that the NS instance resource - is in NOT_INSTANTIATED state, or that another lifecycle management operation is ongoing. The response body shall - contain a ProblemDetails structure, in which the "detail" attribute shall convey more information about the error. + The API consumer can use this method to query status information about multiple NS lifecycle management + operation occurrences. See clause 6.4.9.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/filter - $ref: ../components/SOL005_params.yaml#/components/parameters/fields @@ -454,12 +418,9 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization get: - summary: Read an individual NS LCM operation occurrence resource. description: | - The API consumer can use this method to read status information about a NS lifecycle management operation - occurrence by reading an individual "NS LCM operation occurrence" resource. This method shall follow the provisions - specified in the Tables 6.4.10.3.2-1 and 6.4.10.3.2-2 for URI query parameters, request and response data structures, - and response codes. + The API consumer can use this method to retrieve status information about an NS lifecycle management operation + occurrence by reading an individual "NS LCM operation occurrence" resource. See clause 6.4.10.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType @@ -493,12 +454,9 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization post: - summary: Retry a NS lifecycle management operation occurrence. description: | - The POST method initiates retrying a NS lifecycle management operation if that operation has experienced a - temporary failure, i.e. the related "NS LCM operation occurrence" is in "FAILED_TEMP" state. This method shall - follow the provisions specified in the Tables 6.4.11.3.1-1 and 6.4.11.3.1-2 for URI query parameters, request - and response data structures, and response codes. + The POST method initiates retrying an NS lifecycle management operation if that operation has experienced a + temporary failure, i.e. the related "NS LCM operation occurrence" is in "FAILED_TEMP" state. See clause 6.4.11.3.1. responses: "202": $ref: '#/components/responses/NsLcmOpOccRetry.Post' @@ -531,12 +489,9 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization post: - summary: Rollback a NS lifecycle management operation occurrence. description: | - The POST method initiates rolling back a NS lifecycle operation if that operation has experienced a temporary - failure, i.e. the related "NS LCM operation occurrence" is in "FAILED_TEMP" state. This method shall follow the - provisions specified in the Tables 6.4.12.3.1-1 and 6.4.12.3.1-2 for URI query parameters, request and response - data structures, and response codes. + The POST method initiates rolling back an NS lifecycle operation if that operation has experienced a + temporary failure, i.e. the related "NS LCM operation occurrence" is in "FAILED_TEMP" state. See clause 6.4.12.3.1. responses: "202": $ref: '#/components/responses/NsLcmOpOccRollback.Post' @@ -569,12 +524,9 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization post: - summary: Continue a NS lifecycle management operation occurrence. description: | - The POST method initiates continuing an NS lifecycle operation if that operation has experienced a temporary - failure, i.e. the related "NS LCM operation occurrence" is in "FAILED_TEMP" state. This method shall follow the - provisions specified in the Tables 6.4.13.3.1-1 and 6.4.13.3.1-2 for URI query parameters, request and response - data structures, and response codes. + The POST method initiates continuing an NS lifecycle operation if that operation has experienced a + temporary failure, i.e. the related "NS LCM operation occurrence" is in "FAILED_TEMP" state. See clause 6.4.13.3.1. responses: "202": $ref: '#/components/responses/NsLcmOpOccContinue.Post' @@ -607,10 +559,9 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization post: - summary: Mark a NS lifecycle management operation occurrence as failed. description: | - The POST method marks a NS lifecycle management operation occurrence as "finally failed" if that operation - occurrence is in "FAILED_TEMP" state. + The POST method marks an NS lifecycle management operation occurrence as "finally failed" if that + operation occurrence is in "FAILED_TEMP" state. See clause 6.4.14.3.1. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: @@ -645,22 +596,10 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization post: - summary: Cancel a NS lifecycle management operation occurrence. description: | - The POST method initiates cancelling an ongoing NS lifecycle management operation while it is being executed or - rolled back, i.e. the related NS LCM operation occurrence\" is either in "PROCESSING" or "ROLLING_BACK" state. - This method shall follow the provisions specified in the Tables 6.4.15.3.1-1 and 6.4.15.3.1-2 for URI query - parameters, request and response data structures, and response codes. Before returning the "202 Accepted" response, - the NFVO shall update the "isCancelPending" and "cancelMode" attributes in the representation of the parent resource - according to the provisions in clause 6.5.2.3. In case of success of processing the asynchronous request: - 1) If the request has been processed in "PROCESSING" or "ROLLING_BACK" state, the "operationState" attribute in - the representation of the parent resource shall be changed to "FAILED_TEMP". In both cases, the NFVO shall update - the "isCancelPending" and "cancelMode" attributes in the representation of the parent resource according to the - provisions in clause 6.5.2.3 to reflect the new status, and the applicable "result" notification according to - clause 6.6.2.2 shall be emitted to indicate that the execution of the underlying NS LCM operation occurrence - has temporarily failed. Due to race conditions, the processing of the actual operation that is to be cancelled - may eventually still succeed, in which case the "operationState" attribute in the representation of the parent - resource shall represent the result of that operation, rather than the result of the cancellation. + The POST method initiates cancelling an ongoing NS lifecycle management operation while it is being executed + or rolled back, i.e. the related "NS LCM operation occurrence" is either in "PROCESSING" or "ROLLING_BACK" state. + See clause 6.4.15.3.1. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType @@ -697,11 +636,9 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization get: - summary: Query multiple subscriptions. description: | - Query Subscription Information. - The GET method queries the list of active subscriptions of the functional block that invokes the method. It can - be used e.g. for resynchronization after error situations. + The GET method queries the list of active subscriptions of the functional block that invokes the method. + It can be used e.g. for resynchronization after error situations. See clause 6.4.16.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/filter - $ref: ../components/SOL005_params.yaml#/components/parameters/nextpage_opaque_marker @@ -729,16 +666,8 @@ paths: $ref: ../responses/SOL005_resp.yaml#/components/responses/504 post: - summary: Subscribe to NS lifecycle change notifications. description: | - The POST method creates a new subscription. This method shall support the URI query parameters, request and - response data structures, and response codes, as specified in the Tables 6.4.16.3.1-1 and 6.4.16.3.1-2. Creation - of two subscription resources with the same callbackURI and the same filter can result in performance degradation - and will provide duplicates of notifications to the OSS, and might make sense only in very rare use cases. - Consequently, the NFVO may either allow creating a subscription resource if another subscription resource with - the same filter and callbackUri already exists (in which case it shall return the "201 Created" response code), - or may decide to not create a duplicate subscription resource (in which case it shall return a "303 See Other" - response code referencing the existing subscription resource with the same filter and callbackUri). + The POST method creates a new subscription. See clause 6.4.16.3.1. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType @@ -776,11 +705,9 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization get: - summary: Read an individual subscription resource. description: | - The GET method retrieves information about a subscription by reading an individual subscription resource. This - method shall support the URI query parameters, request and response data structures, and response codes, as - specified in the Tables 6.4.17.3.2-1 and 6.4.17.3.2-2 + The GET method retrieves information about a subscription by reading an "Individual subscription" resource. + See clause 6.4.17.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: @@ -806,14 +733,8 @@ paths: $ref: ../responses/SOL005_resp.yaml#/components/responses/504 delete: - summary: Terminate a subscription. description: | - The DELETE method terminates an individual subscription. This method shall support the URI query parameters, - request and response data structures, and response codes, as specified in the Tables 6.4.17.3.5-1 and 6.4.17.3.5-2. - As the result of successfully executing this method, the "Individual subscription" resource shall not exist any - longer. This means that no notifications for that subscription shall be sent to the formerly-subscribed API consumer. - NOTE: Due to race conditions, some notifications might still be received by the formerly-subscribed API consumer for - a certain time period after the deletion. + The DELETE method terminates an individual subscription. See clause 6.4.17.3.5. responses: "204": $ref: '#/components/responses/IndividualNsLcmSubscription.Delete' @@ -841,9 +762,8 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization get: - summary: Query VNF snapshots description: | - The GET method queries information about multiple VNF snapshots. + The GET method queries information about multiple VNF snapshots. See clause 6.4.19.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/filter - $ref: ../components/SOL005_params.yaml#/components/parameters/all_fields @@ -880,9 +800,9 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization get: - summary: Query an Individual VNF snapshot description: | The GET method retrieves information about a VNF snapshot by reading an "Individual VNF snapshot" resource. + See clause 6.4.20.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: @@ -908,13 +828,10 @@ paths: $ref: ../responses/SOL005_resp.yaml#/components/responses/504 delete: - summary: Delete an Individual VNF snapshot description: | This method deletes an "Individual VNF snapshot" resource and the associated VNF snapshot information managed by the NFVO and corresponding VNFM, and any resource associated to the VNF snapshot managed by the VIM. - As the result of successfully executing this method, the "Individual VNF snapshot" resource shall not exist any - longer. In addition, the NFVO shall delete any references pointing to the "Individual VNF snapshot" resource from - the "NsInstance" data structures representing the "Individual NS instance" resources. + See clause 6.4.20.3.5. responses: "204": $ref: '#/components/responses/IndividualVnfSnapshot.Delete' diff --git a/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml b/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml index bec29fc..3ccf2bf 100644 --- a/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml +++ b/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml @@ -14,7 +14,7 @@ info: externalDocs: description: ETSI GS NFV-SOL 005 V3.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.03.01_60/gs_nfv-sol005v030301p.pdf + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.05.01_60/gs_nfv-sol005v030501p.pdf servers: - url: http://127.0.0.1/callback/v1 @@ -26,11 +26,10 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization get: - summary: Test the notification endpoint. description: | - The GET method allows the API producer to test the notification endpoint that is provided by the API consumer, - e.g. during subscription. This method shall follow the provisions specified in the Tables 6.4.18.3.2-1 and - 6.4.18.3.2-2 for URI query parameters, request and response data structures, and response codes. + The POST method delivers a notification from the API producer to an API consumer. The API consumer shall + have previously created an "Individual subscription" resource with a matching filter. + See clause 6.4.18.3.1. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: @@ -52,12 +51,9 @@ paths: $ref: ../responses/SOL005_resp.yaml#/components/responses/503 post: - summary: Notify about NS lifecycle change description: | - The POST method delivers a notification from the API producer to an API consumer. The API consumer shall have - previously created an "Individual subscription" resource with a matching filter. This method shall follow the - provisions specified in the Tables 6.4.18.3.1-1 and 6.4.18.3.1-2 for URI query parameters, request and response - data structures, and response codes. + The GET method allows the API producer to test the notification endpoint that is provided by the API consumer, + e.g. during subscription. See clause 6.4.18.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType @@ -86,11 +82,10 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization get: - summary: Test the notification endpoint. description: | - The GET method allows the API producer to test the notification endpoint that is provided by the API consumer, - e.g. during subscription. This method shall follow the provisions specified in the Tables 6.4.18.3.2-1 and - 6.4.18.3.2-2 for URI query parameters, request and response data structures, and response codes. + The POST method delivers a notification from the API producer to an API consumer. The API consumer shall + have previously created an "Individual subscription" resource with a matching filter. + See clause 6.4.18.3.1. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: @@ -112,13 +107,10 @@ paths: $ref: ../responses/SOL005_resp.yaml#/components/responses/503 post: - summary: Notify about NS lifecycle change description: | - The POST method delivers a notification from the API producer to an API consumer. - The API consumer shall have previously created an "Individual subscription" resource - with a matching filter. This method shall follow the provisions specified in the - Tables 6.4.18.3.1-1 and 6.4.18.3.1-2 for URI query parameters, request and response - data structures, and response codes. + The POST method delivers a notification from the API producer to an API consumer. The API consumer shall + have previously created an "Individual subscription" resource with a matching filter. + See clause 6.4.18.3.1. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType @@ -147,12 +139,10 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization get: - summary: Test the notification endpoint. description: | - Query NS Instances. - The GET method allows the API producer to test the notification endpoint that is provided by the API consumer, - e.g. during subscription. This method shall follow the provisions specified in the Tables 6.4.18.3.2-1 and - 6.4.18.3.2-2 for URI query parameters, request and response data structures, and response codes. + The POST method delivers a notification from the API producer to an API consumer. The API consumer shall + have previously created an "Individual subscription" resource with a matching filter. + See clause 6.4.18.3.1. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: @@ -174,13 +164,10 @@ paths: $ref: ../responses/SOL005_resp.yaml#/components/responses/503 post: - summary: Notify about NS lifecycle change description: | - The POST method delivers a notification from the API producer to an API consumer. - The API consumer shall have previously created an "Individual subscription" resource - with a matching filter. This method shall follow the provisions specified in the - Tables 6.4.18.3.1-1 and 6.4.18.3.1-2 for URI query parameters, request and response - data structures, and response codes. + The POST method delivers a notification from the API producer to an API consumer. The API consumer shall + have previously created an "Individual subscription" resource with a matching filter. + See clause 6.4.18.3.1. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType diff --git a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml index 7cadf85..4686b85 100644 --- a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml +++ b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml @@ -19,7 +19,7 @@ info: externalDocs: description: ETSI GS NFV-SOL 005 V3.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.03.01_60/gs_nfv-sol005v030301p.pdf + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.05.01_60/gs_nfv-sol005v030501p.pdf servers: - url: http://127.0.0.1/nspm/v2 @@ -44,15 +44,8 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType post: - summary: Create a PM job. description: | - The POST method creates a PM job. - This method shall follow the provisions specified in the - Tables 7.4.2.3.1-1 and 7.4.2.3.1-2 for URI query parameters, - request and response data structures, and response codes. - As the result of successfully executing this method, a new - "Individual PM job" resource exist as defined in - clause 7.4.3 shall have been created. + The POST method creates a PM job. See clause 7.4.2.3.1. requestBody: $ref: '#/components/requestBodies/CreatePmJobRequest' responses: @@ -78,9 +71,8 @@ paths: $ref: "../responses/SOL005_resp.yaml#/components/responses/503" get: - summary: Query PM jobs. description: | - The API consumer can use this method to retrieve information about PM jobs. + The API consumer can use this method to retrieve information about PM jobs. See clause 7.4.2.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/filter - $ref: ../components/SOL005_params.yaml#/components/parameters/all_fields @@ -119,9 +111,8 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version get: - summary: Read a single PM job. description: | - The API consumer can use this method for reading an individual PM job. + The API consumer can use this method for reading an individual PM job. See clause 7.4.3.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: @@ -145,12 +136,8 @@ paths: $ref: "../responses/SOL005_resp.yaml#/components/responses/503" patch: - summary: Modify a PM job. description: | - This method allows to modify an "individual PM job" resource. - This method shall follow the provisions specified in the - Tables 7.4.3.3.4-1 and 7.4.3.3.4-2 for URI query parameters, - request and response data structures, and response codes. + This method allows to modify an "individual PM job" resource. See clause 7.4.3.3.4. parameters: - $ref: '#/components/parameters/ContentTypeMergePatchJSON' requestBody: @@ -180,14 +167,8 @@ paths: $ref: "../responses/SOL005_resp.yaml#/components/responses/503" delete: - summary: Delete a PM job. description: | - This method terminates an individual PM job. - This method shall follow the provisions specified in the Tables 7.4.3.3.5-1 - and 7.4.3.3.5-2 for URI query parameters, request and response data structures, - and response codes. - As the result of successfully executing this method, the "Individual PM job" - resource shall not exist any longer. + This method terminates an individual PM job. See clause 7.4.3.3.5. responses: 204: $ref: '#/components/responses/IndividualPMJob.Delete.204' @@ -220,10 +201,9 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version get: - summary: Read an individual performance report. description: | The API consumer can use this method for reading an individual performance - report. + report. See clause 7.4.4.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: @@ -257,18 +237,9 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept post: - summary: Create a threshold. description: | The POST method can be used by the API consumer to create - a threshold. - - This method shall follow the provisions specified in the - table 7.4.5.3.1-2 for URI query parameters, - request and response data structures, and response codes. - - As the result of successfully executing this method, a new - "Individual threshold" resource as defined - in clause 7.4.6 shall have been created. + a threshold. See clause 7.4.5.3.1. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType requestBody: @@ -296,9 +267,8 @@ paths: $ref: "../responses/SOL005_resp.yaml#/components/responses/503" get: - summary: Query thresholds. description: | - The API consumer can use this method to query information about thresholds. + The API consumer can use this method to query information about thresholds. See clause 7.4.5.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/filter - $ref: ../components/SOL005_params.yaml#/components/parameters/nextpage_opaque_marker @@ -333,13 +303,9 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version get: - summary: Query a single threshold. description: | The API consumer can use this method for reading an individual - threshold. - This method shall follow the provisions specified in the - Tables 7.4.6.3.2-1 and 7.4.6.3.2-2 for URI query parameters, - request and response data structures, and response codes. + threshold. See clause 7.4.6.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: @@ -363,12 +329,9 @@ paths: $ref: "../responses/SOL005_resp.yaml#/components/responses/503" patch: - summary: Modify a Threshold + description: | - This method allows to modify an "Individual threshold" resource. - This method shall follow the provisions specified in the Tables - 7.4.6.3.4-1 and 7.4.6.3.4-2 for URI query parameters, request - and response data structures, and response codes. + This method allows to modify an "Individual threshold" resource. See clause 7.4.6.3.4. parameters: - $ref: '#/components/parameters/ContentTypeMergePatchJSON' requestBody: @@ -398,12 +361,8 @@ paths: $ref: "../responses/SOL005_resp.yaml#/components/responses/503" delete: - summary: Delete a Threshold. description: | - This method allows to delete a threshold. - - As the result of successfully executing this method, the - "Individual threshold" resource shall not exist any longer. + This method allows to delete a threshold. See clause 7.4.6.3.5. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: diff --git a/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml b/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml index 7c6b3c3..b079d2a 100644 --- a/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml +++ b/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml @@ -18,7 +18,7 @@ info: externalDocs: description: ETSI GS NFV-SOL 005 V3.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.03.01_60/gs_nfv-sol005v030301p.pdf + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.05.01_60/gs_nfv-sol005v030501p.pdf servers: - url: http://127.0.0.1/callback/v2 @@ -35,14 +35,10 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept post: - summary: Notify about PM related events description: | - The POST method delivers a notification regarding a performance management event - from the API producer to an API consumer. The API consumer shall have previously - created an "Individual PM job resource" or "Individual threshold resource". - This method shall follow the provisions specified in the - Tables 7.4.9.3.1-1 and 7.4.9.3.1-2 for URI query parameters, request and response - data strctures, and response codes. + The POST method delivers a notification regarding a performance management event from the API producer to an + API consumer. The API consumer shall have previously created an "Individual PM job resource" or + "Individual threshold resource". See clause 7.4.9.3.1. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType requestBody: @@ -68,14 +64,9 @@ paths: $ref: "../responses/SOL005_resp.yaml#/components/responses/503" get: - summary: Test the notification endpoint description: | - The GET method allows the API producer to test the notification - endpoint that is provided by the API consumer, e.g. during - creation of the PM job or threshold resource. - This method shall follow the provisions specified in the - Tables 7.4.9.3.2-1 and 7.4.9.3.2-2 for URI query parameters, - request and response data structures, and response codes. + The GET method allows the API producer to test the notification endpoint that is provided by the API + consumer, e.g. during creation of the PM job or threshold resource. See clause 7.4.9.3.2. responses: 204: $ref: '#/components/responses/PerformanceInformationAvailableNotification.Get.204' @@ -106,14 +97,10 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept post: - summary: Notify about PM related events description: | - The POST method delivers a notification regarding a performance management event - from the API producer to an API consumer. The API consumer shall have previously - created an "Individual PM job resource" or "Individual threshold resource". - This method shall follow the provisions specified in the - Tables 7.4.9.3.1-1 and 7.4.9.3.1-2 for URI query parameters, request and response - data strctures, and response codes. + The POST method delivers a notification regarding a performance management event from the API producer to an + API consumer. The API consumer shall have previously created an "Individual PM job resource" or + "Individual threshold resource". See clause 7.4.9.3.1. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType requestBody: @@ -139,14 +126,9 @@ paths: $ref: "../responses/SOL005_resp.yaml#/components/responses/503" get: - summary: Test the notification endpoint description: | - The GET method allows the API producer to test the notification - endpoint that is provided by the API consumer, e.g. during - creation of the PM job or threshold resource. - This method shall follow the provisions specified in the - Tables 7.4.9.3.2-1 and 7.4.9.3.2-2 for URI query parameters, - request and response data structures, and response codes. + The GET method allows the API producer to test the notification endpoint that is provided by the API + consumer, e.g. during creation of the PM job or threshold resource. See clause 7.4.9.3.2. responses: 204: $ref: '#/components/responses/ThresholdCrossedNotification.Get.204' diff --git a/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml index 39c0bab..d57fa55 100644 --- a/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml @@ -16,7 +16,7 @@ info: externalDocs: description: ETSI GS NFV-SOL 005 V3.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.03.01_60/gs_nfv-sol005v030301p.pdf + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.05.01_60/gs_nfv-sol005v030501p.pdf servers: - url: http://127.0.0.1/vnfpkgm/v2 @@ -31,11 +31,8 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization get: - summary: Query VNF packages information. description: | - The GET method queries the information of the VNF packages matching the filter. This method shall follow the - provisions specified in the Tables 9.4.2.3.2-1 and 9.4.2.3.2-2 for URI query parameters, request and response - data structures, and response codes. + The GET method queries the information of the VNF packages matching the filter. See clause 9.4.2.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/filter - $ref: ../components/SOL005_params.yaml#/components/parameters/all_fields @@ -67,12 +64,8 @@ paths: $ref: ../responses/SOL005_resp.yaml#/components/responses/504 post: - summary: Create a new individual VNF package resource. description: | - The POST method creates a new individual VNF package resource. - Upon successful creation of the "Individual VNF package" resource, the NFVO shall set the "onboardingState" - attribute in the "VnPkgInfo" structure to "CREATED", the "operationalState" attribute to "DISABLED", and the - "usageState" attribute to "NOT_IN_USE". + The POST method creates a new individual VNF package resource. See clause 9.4.2.3.1. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept @@ -110,9 +103,8 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization get: - summary: Read information about an individual VNF package. description: | - The GET method reads the information of a VNF package. + The GET method reads the information of an individual VNF package. See clause 9.4.3.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: @@ -138,9 +130,8 @@ paths: $ref: ../responses/SOL005_resp.yaml#/components/responses/504 delete: - summary: Delete an individual VNF package. description: | - The DELETE method deletes an individual VNF Package resource. + The DELETE method deletes an individual VNF Package resource. See clause 9.4.3.3.5. responses: "204": $ref: '#/components/responses/IndividualVnfPackage.Delete' @@ -166,11 +157,8 @@ paths: $ref: ../responses/SOL005_resp.yaml#/components/responses/504 patch: - summary: Update information about an individual VNF package. description: | - The PATCH method updates the information of a VNF package. - This method shall follow the provisions specified in the Tables 9.4.3.3.4-1 and 9.4.3.3.4-2 for URI query - parameters, request and response data structures, and response codes. + The PATCH method updates the information of a VNF package. See clause 9.4.3.3.4. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType requestBody: @@ -205,22 +193,8 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization get: - summary: Read VNFD of an on-boarded VNF package. description: | - The GET method reads the content of the VNFD within a VNF package. - The default format of the ZIP archive shall be the one specified in ETSI GS NFV-SOL 004 where only the files - representing the VNFD and information necessary to navigate the ZIP file and to identify the file that is the - entry point for parsing the VNFD and (if requested) further security information are included. This means that - the structure of the ZIP archive shall correspond to the directory structure used in the VNF package and that - the archive shall contain the following files from the package: ā€¢ TOSCA.meta (if available in the package). - The main TOSCA definitions YAML file (either as referenced from TOSCA.meta or available as a file with the extension - ".yml" or ".yaml" from the root of the archive). Every component of the VNFD referenced (recursively) from the main - TOSCA definitions YAML file. ā€¢ The related security information, if the "include_signatures" URI parameter is provided, - as follows: - - the manifest file; - - the singleton certificate file in the root of the VNF package (if available in the package); - - the signing certificates of the individual files included in the ZIP archive (if available in the package); - - the signatures of the individual files (if available in the package). + The GET method reads the content of the VNFD within a VNF package. See clause 9.4.4.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - $ref: ../components/SOL005_params.yaml#/components/parameters/include_signatures @@ -254,11 +228,9 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization get: - summary: Get the content of external VNF package artifacts. description: | The GET method reads the access configuration information that is used by the NFVO to get the content of external - VNF package artifacts. This method shall follow the provisions specified in the Tables 9.4.4a.3.2-1 and 9.4.4a.3.2-2 - for URI query parameters, request and response data structures, and response codes. + VNF package artifacts. See clause 9.4.4a.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: @@ -284,14 +256,9 @@ paths: $ref: ../responses/SOL005_resp.yaml#/components/responses/504 put: - summary: Download the content of external VNF package artifacts. description: | The PUT method provides the access configuration information for the NFVO to download the content of external - VNF package artifacts. As precondition for invoking this method, the individual VNF package resource shall have - been created, and the value of "onboardingState" attribute shall equal to "CREATED" or "ERROR". The resource - representation in the payload body of the PUT request shall replace the current state of the resource. This method - shall follow the provisions specified in the Tables 9.4.4a.3.3-1 and 9.4.4a.3.3-2 for URI query parameters, request - and response data structures, and response codes. + VNF package artifacts. See clause 9.4.4a.3.4. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType requestBody: @@ -329,7 +296,7 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization get: description: | - The GET method reads the content of the manifest within a VNF package. + The GET method reads the content of the manifest within a VNF package. See clause 9.4.4b.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - $ref: ../components/SOL005_params.yaml#/components/parameters/include_signatures @@ -363,15 +330,9 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization get: - summary: Fetch an on-boarded VNF package. description: | The GET method fetches the content of a VNF package identified by the VNF package identifier allocated by the - NFVO. The content of the package is provided as onboarded, i.e. depending on the security option used, the CSAR - or the CSAR wrapped in a ZIP archive together with an external signature is returned, as defined in clause 5.1 - of ETSI GS NFV-SOL 004 [5]. NOTE: Information about the applicable security option can be obtained by evaluating - the "packageSecurityOption" attribute in the "VnfPkgInfo" structure. This method shall follow the provisions - specified in the Tables 9.4.5.3.2-1 and 9.4.5.3.2-2 for URI query parameters, request and response data structures, - and response codes. + NFVO. See clause 9.4.5.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - $ref: ../components/SOL005_params.yaml#/components/parameters/Range @@ -404,7 +365,6 @@ paths: $ref: ../responses/SOL005_resp.yaml#/components/responses/504 put: - summary: Upload a VNF package by providing the content of the VNF package. description: | The PUT method uploads the content of a VNF package. See clause 9.4.5.3.3. @@ -445,27 +405,10 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization get: - summary: Fetch set of VNF package artifacts. description: | The GET method shall return an archive that contains a set of artifacts according to the provisions for inclusion/exclusion defined below, embedded in a directory structure being the same as in the VNF package. - The criteria for exclusion/inclusion of an artifact in the archive are defined as follows: - * Artifacts that are software images shall be excluded from the archive. - * Artifacts that are not software images and that are external to the VNF package shall be excluded from the - archive unless the URI query parameter "include_external_artifacts" has been provided. External artifacts - shall be included in the archive using the content of the "artifactPath" attribute as the path. - * All additional artifacts included in the VNF package that are MANO artifacts shall be included in the archive, - unless the URI query parameter "exclude_all_mano_artifacts" has been provided, in which case such artifacts - shall be excluded. - * All additional artifacts included in the VNF package that are non-MANO artifacts shall be included in the archive, - unless: - - the URI query parameter "exclude_all_non_mano_artifacts" has been provided, in which case such artifacts shall - be excluded; - - the URI query parameter "select_non_mano_artifact_sets" has been provided and is supported by the NFVO, - in which case only those non-MANO artifacts shall be included whose non-MANO artifact set identifier matches - one of the values of the query parameter. Package metadata such as manifest file or VNFD shall not be included - in the archive. This method shall follow the provisions specified in the Tables 9.4.5a.3.2-1 and 9.4.5a.3.2-2 - for URI query parameters, request and response data structures, and response codes. + See clause 9.4.5a.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - $ref: ../components/SOL005_params.yaml#/components/parameters/Range @@ -508,8 +451,6 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization post: - summary: Upload a VNF package by providing the address information of the VNF - package. description: | The POST method provides the information for the NFVO to get the content of a VNF package. See clause 9.4.6.3.1. @@ -550,7 +491,6 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization get: - summary: Fetch individual VNF package artifact. description: | The GET method fetches the content of an artifact within a VNF package. See clause 9.4.7.3.2. @@ -591,12 +531,9 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization get: - summary: Query multiple subscriptions. description: | The GET method queries the list of active subscriptions of the functional block that invokes the method. - It can be used e.g. for resynchronization after error situations. This method shall follow the provisions - specified in the Tables 9.4.8.3.2-1 and 9.4.8.3.2-2 for URI query parameters, request and response data - structures, and response codes. + It can be used e.g. for resynchronization after error situations. See clause 9.4.7.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - $ref: ../components/SOL005_params.yaml#/components/parameters/filter @@ -624,18 +561,8 @@ paths: $ref: ../responses/SOL005_resp.yaml#/components/responses/504 post: - summary: Subscribe to notifications related to on-boarding and/or changes of VNF packages. description: | - The POST method creates a new subscription. This method shall follow the provisions specified in the Tables - 9.4.8.3.1-1 and 9.4.8.3.1-2 for URI query parameters, request and response data structures, and response codes. - As the result of successfully executing this method, a new "Individual subscription" resource shall exist as - defined in clause 9.4.9. This method shall not trigger any notification. Creation of two subscription resources - with the same callbackURI and the same filter can result in performance degradation and will provide duplicates - of notifications to the OSS, and might make sense only in very rare use cases. Consequently, the NFVO may either - allow creating a subscription resource if another subscription resource with the same filter and callbackUri - already exists (in which case it shall return the "201 Created" response code), or may decide to not create a - duplicate subscription resource (in which case it shall return a "303 See Other" response code referencing the - existing subscription resource with the same filter and callbackUri). + The POST method creates a new subscription. See clause 9.4.8.3.1. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType @@ -673,9 +600,8 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization get: - summary: Read an individual subscription resource. description: | - Query Subscription Information The GET method reads an individual subscription. + The GET method reads an individual subscription. See clause 9.4.9.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: @@ -701,14 +627,8 @@ paths: $ref: ../responses/SOL005_resp.yaml#/components/responses/504 delete: - summary: Terminate a subscription. description: | - The DELETE method terminates an individual subscription. This method shall follow the provisions specified in the - Tables 9.4.9.3.5-1 and 9.4.9.3.5-2 for URI query parameters, request and response data structures, and response codes. - As the result of successfully executing this method, the "Individual subscription" resource shall not exist any longer. - This means that no notifications for that subscription shall be sent to the formerly-subscribed API consumer. - NOTE: Due to race conditions, some notifications might still be received by the formerly-subscribed API consumer - for a certain time period after the deletion. + The DELETE method terminates an individual subscription. See clause 9.4.9.3.5. responses: "204": $ref: '#/components/responses/VnfPkgSubscription.Delete' diff --git a/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml b/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml index 24940e2..e34e2e5 100644 --- a/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml +++ b/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml @@ -14,7 +14,7 @@ info: externalDocs: description: ETSI GS NFV-SOL 005 V3.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.03.01_60/gs_nfv-sol005v030301p.pdf + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.05.01_60/gs_nfv-sol005v030501p.pdf servers: - url: http://127.0.0.1/callback/v1 @@ -27,10 +27,9 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization get: - summary: Notify about VNF package onboarding or change description: | - The POST method delivers a notification from the API producer to an API consumer. - The API consumer shall have previously created an "individual subscription resource" with a matching filter. + The GET method allows the API producer to test the notification endpoint that is provided by the API consumer, + e.g. during subscription. See clause 9.4.10.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: @@ -52,10 +51,9 @@ paths: $ref: ../responses/SOL005_resp.yaml#/components/responses/503 post: - summary: Notify about VNF package onboarding or change description: | - The POST method delivers a notification from the API producer to an API consumer. - The API consumer shall have previously created an "individual subscription resource" with a matching filter. + The POST method delivers a notification from the API producer to an API consumer. The API consumer shall + have previously created an "individual subscription resource" with a matching filter. See clause 9.4.10.3.1. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType @@ -84,10 +82,9 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization get: - summary: Test the notification endpoint description: | The GET method allows the API producer to test the notification endpoint that is provided by the API consumer, - e.g. during subscription. + e.g. during subscription. See clause 9.4.10.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: @@ -109,11 +106,9 @@ paths: $ref: ../responses/SOL005_resp.yaml#/components/responses/503 post: - summary: Notify about VNF package onboarding or change description: | - The POST method delivers a notification from the server to the client. This method shall follow the provisions - specified in the Tables 9.4.10.3.1-1 and 9.4.10.3.1-2 for URI query parameters, request and response data - structures, and response codes. + The POST method delivers a notification from the API producer to an API consumer. The API consumer shall + have previously created an "individual subscription resource" with a matching filter. See clause 9.4.10.3.1. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType diff --git a/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml b/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml index e238a30..ef02986 100644 --- a/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml +++ b/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml @@ -38,7 +38,7 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept post: description: | - The POST method creates a new "Individual VNF snapshot package" resource. + The POST method creates a new "Individual VNF snapshot package" resource. See clause 11.4.2.3.1. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType requestBody: @@ -71,7 +71,7 @@ paths: get: description: | - The GET method queries the information of the VNF packages matching the filter. + The GET method queries the information of the VNF packages matching the filter. See clause 11.4.2.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/filter - $ref: ../components/SOL005_params.yaml#/components/parameters/all_fields @@ -115,7 +115,7 @@ paths: get: description: | - The GET method reads the information of an individual VNF snapshot package. + The GET method reads the information of an individual VNF snapshot package. See clause 11.4.3.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: @@ -148,7 +148,7 @@ paths: patch: description: | - The PATCH method updates the information of a VNF snapshot package. + The PATCH method updates the information of a VNF snapshot package. See clause 11.4.3.3.4. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept @@ -193,7 +193,7 @@ paths: delete: description: | - The DELETE method deletes an "Individual VNF snapshot package" resource. + The DELETE method deletes an "Individual VNF snapshot package" resource. See clause 11.4.3.3.5. responses: 204: $ref: '#/components/responses/IndividualVNFSnapshotPackage.Delete.204' @@ -238,10 +238,7 @@ paths: - $ref: '#/components/parameters/VnfSnapshotPkgId' get: description: | - The GET method fetches the content of a VNF snapshot package. - - The content of the package is provided as onboarded to the NFVO, - or as built by the NFVO. + The GET method fetches the content of a VNF snapshot package. See clause 11.4.4.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - $ref: ../components/SOL005_params.yaml#/components/parameters/Range @@ -279,13 +276,7 @@ paths: put: description: | - The PUT method uploads the content of a VNF package. - - The payload body contains a ZIP file that represents the VNF snapshot package. - - The "Content-Type" HTTP header shall be set according to the type of the file, i.e. - to "application/zip" for a VNF snapshot package. The VNF snapshot package format - is defined in ETSI GS NFV-SOL 010. + The PUT method uploads the content of a VNF package. See clause 11.4.4.3.3. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType responses: @@ -326,7 +317,7 @@ paths: post: description: | The POST method provides the information for the NFVO to get the content of - a VNF snapshot package. + a VNF snapshot package. See clause 11.4.5.3.1. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType requestBody: @@ -365,41 +356,7 @@ paths: post: description: | The POST method provides the information for the NFVO to start building - the content of a VNF snapshot package. - - If the request to build the content of a VNF snapshot package is accepted, the NFVO - shall allocate a globally unique identifier to the VNF snapshot package (i.e., - "vnfSnapshotPkgUniqueId"). To proceed with the packaging process, the NFVO shall - collect the constituent information and artifacts as indicated by the input information - in the request: - - "vnfSnapshotInfoId": references the VNF snapshot to be packaged. - - one or more "vnfcSnapshotInfoId" referencing specific VNFC snapshot constituents in - the VNF snapshot. - - Both identifiers are assumed to be known by the NFVO (as it holds the information of - available VNF snapshot of VNF that are part of the NS instance) and can also be retrieved - by the NFVO from the VNFM from the "id" attribute of the applicable "VnfSnapshot" in the - body of the response to a GET request querying the "Individual VNF snapshot" or the - "VNF snapshots" resource of the VNF LCM interface as specified in clause 5.4 of - ETSI GS NFV-SOL 003. - - The API consumer may indicate whether the VNF snapshotted resources on the NFVI shall - be included into the VNF snapshot package file or be left on the NFVI as external image - artifacts to the VNF snapshot package file. In case of building the VNF snapshot package - with snapshotted resources as external image artifacts, the NFVO shall set the value of - the "imageUri" and "imagePath" as specified in clause 11.5.3.2. - - The NFVO shall determine whether there is any conflict for building the content of the - VNF snapshot package, and in particular, determine if the VNF snapshot is complete by - checking the "createdAt" information of the VNF snapshot resource. - - In addition, the NFVO shall update the "state" attribute of the "VnfSnapshotPkgInfo" - during the build process as specified in clause 11.6. - - The NFVO shall build the VNF snapshot Package. - - NOTE: The format and provisions for building a VNF snapshot package are specified in - ETSI GS NFV-SOL 010. + the content of a VNF snapshot package. See clause 11.4.6.3.1. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType requestBody: @@ -438,26 +395,7 @@ paths: post: description: | The POST method provides the information for the NFVO to start extracting the content of - a VNF snapshot package. - - To proceed with the extraction process, the NFVO shall have been provided either with: - - a valid "Individual VNF snapshot" identifier, indicated by the input parameter "vnfSnapshotInfoId". - This identifier corresponds to a known "Individual VNF snapshot" resource of the VNF LCM interface - that the NFVO can obtain from the VNFM., or - - a valid "Individual VNF instance" identifier, indicated by the input parameter "vnfInstanceId". - This identifier corresponds to a known "Individual VNF instance" resource of the VNF LCM interface - that the NFVO can obtain from the VNFM. - - The NFVO shall determine whether there is any conflict for extracting the content of the VNF snapshot - package, and in particular: - - determine if the "Individual VNF snapshot" resource can be populated with the extracted content of - the VNF snapshot package, i.e., the "vnfSnapshot" attribute of the "Individual VNF snapshot" resource - is empty. - - determine if the content of the VNF snapshot package is available, and thus the "state" attribute of - the "VNF snapshot package" resource has a value equal to "AVAILABLE". - - In addition, the NFVO shall update the "state" attribute of the "VnfSnapshotPkgInfo" during the extraction - process and change it to "EXTRACTING". + a VNF snapshot package. See clause 11.4.7.3.1. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType requestBody: @@ -496,22 +434,7 @@ paths: post: description: | The POST method provides the information for the NFVO to cancel the ongoing operation related to - the content of a VNF snapshot package. - - In case of success of processing the asynchronous request: - 1) If the request has been processed in "UPLOADING", "BUILDING" or "PROCESSING" state, the "state" - attribute in the representation of the "Individual VNF snapshot package" resource shall be changed - to"ERROR". - 2) If the request has been processed in "EXTRACTING" state, the "state" attribute in the representation - of the "Individual VNF snapshot package" resource shall be changed to "ERROR_EXTRACTING". - - In both cases, the NFVO shall update the "isCancelPending" attribute in the representation of the - "Individual VNF snapshot package" resource according to the provisions in clause 11.5.2.3 to reflect - the new status. - - Due to race conditions, the processing of the actual operation that is to be cancelled may eventually - still succeed, in which case the "state" attribute in the representation of the "Individual VNF snapshot - package" resource shall represent the result of that operation, rather than the result of the cancellation. + the content of a VNF snapshot package. See clause 11.4.8.3.1. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType requestBody: @@ -549,8 +472,8 @@ paths: - $ref: '#/components/parameters/VnfSnapshotPkgId' get: description: | - The GET method reads the access configuration information that is used by the NFVO to get - the content of external VNF snapshot package artifacts. + The GET method reads the access configuration information that is used by the NFVO to get the + content of external VNF snapshot package artifacts. See clause 11.4.9.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: @@ -586,14 +509,7 @@ paths: put: description: | The PUT method provides the access configuration information for the NFVO to download - the content of external VNF package artifacts. - - As precondition for invoking this method, the "Individual VNF snapshot package" resource - shall have been created, and the value of "state" attribute in the representation of the - "Individual VNF snapshot package" resource shall equal to "CREATED" or "ERROR". - - The resource representation in the payload body of the PUT request shall replace the current - state of the resource. + the content of external VNF package artifacts. See clause 11.4.9.3.3. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType requestBody: @@ -636,17 +552,7 @@ paths: - $ref: '#/components/parameters/ArtifactPath' get: description: | - The GET method fetches the content of an artifact within the VNF snapshot package. - - If the VNF snapshot package is a result of a building process (refer to - "Build VNF snapshot package content task" resource in clause 11.4.6), and the referred - "Individual VNF snapshot package artifact" is external to the main VNF snapshot package - file, the NFVO shall return a "302 Found" response code referencing the external artifact - resource. To fetch the "Individual VNF snapshot package artifact" from URI indicated by - the "Location" header, the OSS/BSS will have to be authorized to access the resource referred - by the new URI. Furthermore, as indicated by the "302 Found" response code, the OSS/BSS will - have to use the original URI of the present "Individual VNF snapshot package artifact" resource - in future requests. + The GET method fetches the content of an artifact within the VNF snapshot package. See clause 11.4.10.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - $ref: ../components/SOL005_params.yaml#/components/parameters/Range diff --git a/src/SOL005/endpoints/SOL005_endpoints.yaml b/src/SOL005/endpoints/SOL005_endpoints.yaml index c720b1e..ec4055c 100644 --- a/src/SOL005/endpoints/SOL005_endpoints.yaml +++ b/src/SOL005/endpoints/SOL005_endpoints.yaml @@ -6,10 +6,9 @@ endpoints: parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version get: - summary: Retrieve API version information description: > The GET method reads API version information. This method shall follow the provisions specified in - table 4.6.3.3.3.2-1 for request and response data structures, and response codes. URI query parameters are not + SOL013 table 9.3.3.3.2-1 for request and response data structures, and response codes. URI query parameters are not supported. responses: "200": @@ -43,28 +42,28 @@ endpoints: post: description: > This method is not supported. When this method is requested on this resource, the API producer shall - return a "405 Method Not Allowed" response + return a "405 Method Not Allowed" response as defined in SOL013 clause 6.4. responses: 405: $ref: ../responses/SOL005_resp.yaml#/components/responses/405 put: description: > This method is not supported. When this method is requested on this resource, the API producer shall - return a "405 Method Not Allowed" response + return a "405 Method Not Allowed" response as defined in SOL013 clause 6.4. responses: 405: $ref: ../responses/SOL005_resp.yaml#/components/responses/405 patch: description: > This method is not supported. When this method is requested on this resource, the API producer shall - return a "405 Method Not Allowed" response + return a "405 Method Not Allowed" response as defined in SOL013 clause 6.4. responses: 405: $ref: ../responses/SOL005_resp.yaml#/components/responses/405 delete: description: > This method is not supported. When this method is requested on this resource, the API producer shall - return a "405 Method Not Allowed" response + return a "405 Method Not Allowed" response as defined in SOL013 clause 6.4. responses: 405: $ref: ../responses/SOL005_resp.yaml#/components/responses/405 @@ -76,8 +75,8 @@ components: 200 OK API version information was read successfully. - The response body shall contain 4.4 API version - information, as defined in clause 4.4.1.13. + The response body shall contain API version + information, as defined in SOL013 clause 7.1.6. headers: Content-Type: description: The MIME type of the body of the response. -- GitLab From c7ed2cf22bb27c1dd316b5bfd5e88bfd78702dd0 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Wed, 5 May 2021 18:09:34 +0200 Subject: [PATCH 47/70] fix nfvi capacity --- .../NFVICapacityInformation.yaml | 216 +----------------- 1 file changed, 1 insertion(+), 215 deletions(-) diff --git a/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml b/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml index f96976c..0d49fdc 100644 --- a/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml +++ b/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml @@ -313,15 +313,6 @@ components: $ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/CapacityThresholdModifications required: true - NfviCapacitySubscriptionRequest: - description: | - Details of the subscription to be created. - content: - application/json: - schema: - $ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/NfviCapacityInfoSubscriptionRequest - required: true - CapacityShortageNotificationRequest: description: | Notification about the available NFVI capacity having crossed below a threshold value or having re-covered from @@ -563,138 +554,6 @@ components: type: string content: {} - NfviCiSubscriptions.Get: - description: | - Shall be returned when the list of subscriptions has been queried successfully. - The response body shall contain in an array the representations of all active subscriptions of the functional - block that invokes the method, i.e. zero or more representations of NFVI capacity information subscriptions, - as defined in clause 10.5.2.9. - If the "filter" URI parameter was supplied in the request, the data in the response body shall have been - transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. - If the NFVO supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV SOL 013 for this resource, - inclusion of the Link HTTP header in this response shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV SOL 013. - headers: - Version: - description: | - Version of the API used in the response. - style: simple - explode: false - schema: - type: string - WWW-Authenticate: - description: | - Challenge if the corresponding HTTP request has not provided authorization, or error details if the - corresponding HTTP request has provided an invalid authorization token. - style: simple - explode: false - schema: - type: string - Content-Type: - description: The MIME type of the body of the response. - style: simple - explode: false - schema: - type: string - content: - application/json: - schema: - type: array - items: - $ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/NfviCapacityInfoSubscription - - NfviCiSubscriptions.Post: - description: | - Shall be returned when the subscription has been created successfully. - A representation of the created subscription resource shall be returned in the response body, as defined in - clause 10.5.2.9. - The HTTP response shall include a "Location" HTTP header that contains the resource URI of the created subscription - resource. - headers: - Version: - description: | - Version of the API used in the response. - style: simple - explode: false - schema: - type: string - WWW-Authenticate: - description: | - Challenge if the corresponding HTTP request has not provided authorization, or error details if the - corresponding HTTP request has provided an invalid authorization token. - style: simple - explode: false - schema: - type: string - Content-Type: - description: The MIME type of the body of the response. - style: simple - explode: false - schema: - type: string - content: - application/json: - schema: - $ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/NfviCapacityInfoSubscription - - NfviCiSubscription.Get: - description: | - Shall be returned when the subscription has been read successfully. - The response body shall contain a representation of the subscription resource, as defined in clause 10.5.2.9. - headers: - Version: - description: | - Version of the API used in the response. - style: simple - explode: false - schema: - type: string - WWW-Authenticate: - description: | - Challenge if the corresponding HTTP request has not provided authorization, or error details if the - corresponding HTTP request has provided an invalid authorization token. - style: simple - explode: false - schema: - type: string - Content-Type: - description: The MIME type of the body of the response. - style: simple - explode: false - schema: - type: string - content: - application/json: - schema: - $ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/NfviCapacityInfoSubscription - - NfviCiSubscription.Delete: - description: | - Shall be returned when the subscription resource has been deleted successfully. - The response body shall be empty. - headers: - Version: - description: | - Version of the API used in the response. - style: simple - explode: false - schema: - type: string - WWW-Authenticate: - description: | - Challenge if the corresponding HTTP request has not provided authorization, or error details if the - corresponding HTTP request has provided an invalid authorization token. - style: simple - explode: false - schema: - type: string - Content-Type: - description: The MIME type of the body of the response. - style: simple - explode: false - schema: - type: string - content: {} - CapacityShortageNotification.Post: description: | Shall be returned when the notification has been delivered successfully. @@ -748,77 +607,4 @@ components: explode: false schema: type: string - content: {} - - callbacks: - CapacityShortageNotification: - '{$request.body#/callbackUri}': - description: >- - This resource represents a notification endpoint for NFVI capacity information. - The API producer can use this resource to send notifications related to log management events to a - subscribed API consumer, which has provided the URI of this resource during the capacity threshold - creation process. - post: - description: >- - The POST method delivers a notification regarding an NFVI capacity information event from the API producer - to an API consumer. The API consumer shall have previously created an "Individual capacity threshold" resource" - parameters: - - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization - requestBody: - $ref: "#/components/requestBodies/CapacityShortageNotificationRequest" - responses: - "204": - $ref: '#/components/responses/CapacityShortageNotification.Post' - "400": - $ref: ../responses/SOL005_resp.yaml#/components/responses/400 - "401": - $ref: ../responses/SOL005_resp.yaml#/components/responses/401 - "403": - $ref: ../responses/SOL005_resp.yaml#/components/responses/403 - "404": - $ref: ../responses/SOL005_resp.yaml#/components/responses/404 - "405": - $ref: ../responses/SOL005_resp.yaml#/components/responses/405 - "406": - $ref: ../responses/SOL005_resp.yaml#/components/responses/406 - "422": - $ref: ../responses/SOL005_resp.yaml#/components/responses/422 - "500": - $ref: ../responses/SOL005_resp.yaml#/components/responses/500 - "503": - $ref: ../responses/SOL005_resp.yaml#/components/responses/503 - "504": - $ref: ../responses/SOL005_resp.yaml#/components/responses/504 - - get: - description: >- - The GET method allows the API producer to test the notification endpoint that is provided by the API consumer, - e.g. during creation of the capacity threshold resource. - parameters: - - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization - responses: - "204": - $ref: '#/components/responses/CapacityShortageNotification.Get' - "400": - $ref: ../responses/SOL005_resp.yaml#/components/responses/400 - "401": - $ref: ../responses/SOL005_resp.yaml#/components/responses/401 - "403": - $ref: ../responses/SOL005_resp.yaml#/components/responses/403 - "404": - $ref: ../responses/SOL005_resp.yaml#/components/responses/404 - "405": - $ref: ../responses/SOL005_resp.yaml#/components/responses/405 - "406": - $ref: ../responses/SOL005_resp.yaml#/components/responses/406 - "422": - $ref: ../responses/SOL005_resp.yaml#/components/responses/422 - "500": - $ref: ../responses/SOL005_resp.yaml#/components/responses/500 - "503": - $ref: ../responses/SOL005_resp.yaml#/components/responses/503 - "504": - $ref: ../responses/SOL005_resp.yaml#/components/responses/504 \ No newline at end of file + content: {} \ No newline at end of file -- GitLab From 42ff55c8b6273982a17ac926c38a11dab1011632 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Wed, 5 May 2021 18:18:44 +0200 Subject: [PATCH 48/70] fix nfvi capacity --- .../NFVICapacityInformation.yaml | 79 ------------------- .../NFVICapacityInformation_def.yaml | 74 ----------------- 2 files changed, 153 deletions(-) diff --git a/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml b/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml index 0d49fdc..e013a5a 100644 --- a/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml +++ b/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml @@ -279,20 +279,6 @@ components: schema: type: string - SubscriptionId: - name: subscriptionId - in: path - description: | - Identifier of the subscription. - This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a - POST request creating a new subscription resource. It can also be retrieved from the "id" attribute in the payload - body of that response. - required: true - style: simple - explode: false - schema: - type: string - requestBodies: NfviCapacityThresholdRequest: description: | @@ -313,16 +299,6 @@ components: $ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/CapacityThresholdModifications required: true - CapacityShortageNotificationRequest: - description: | - Notification about the available NFVI capacity having crossed below a threshold value or having re-covered from - a capacity shortage. - content: - application/json: - schema: - $ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/CapacityShortageNotification - required: true - responses: NfviCapacityInfos.Get: description: | @@ -552,59 +528,4 @@ components: explode: false schema: type: string - content: {} - - CapacityShortageNotification.Post: - description: | - Shall be returned when the notification has been delivered successfully. - headers: - Version: - description: | - Version of the API used in the response. - style: simple - explode: false - schema: - type: string - WWW-Authenticate: - description: | - Challenge if the corresponding HTTP request has not provided authorization, or error details if the - corresponding HTTP request has provided an invalid authorization token. - style: simple - explode: false - schema: - type: string - Content-Type: - description: The MIME type of the body of the response. - style: simple - explode: false - schema: - type: string - content: {} - - CapacityShortageNotification.Get: - description: | - Shall be returned to indicate that the notification endpoint has been tested successfully. - The response body shall be empty. - headers: - Version: - description: | - Version of the API used in the response. - style: simple - explode: false - schema: - type: string - WWW-Authenticate: - description: | - Challenge if the corresponding HTTP request has not provided authorization, or error details if the - corresponding HTTP request has provided an invalid authorization token. - style: simple - explode: false - schema: - type: string - Content-Type: - description: The MIME type of the body of the response. - style: simple - explode: false - schema: - type: string content: {} \ No newline at end of file diff --git a/src/SOL005/NFVICapacityInformation/definitions/NFVICapacityInformation_def.yaml b/src/SOL005/NFVICapacityInformation/definitions/NFVICapacityInformation_def.yaml index 8813b63..15645ba 100644 --- a/src/SOL005/NFVICapacityInformation/definitions/NFVICapacityInformation_def.yaml +++ b/src/SOL005/NFVICapacityInformation/definitions/NFVICapacityInformation_def.yaml @@ -119,80 +119,6 @@ components: This attribute shall only be present if the API consumer requires authorization of notifications. $ref: ../../definitions/SOL005_def.yaml#/definitions/SubscriptionAuthentication - NfviCapacityInfoSubscription: - type: object - description: | - This type represents a subscription. It shall comply with the provisions defined in Table 10.5.2.9-1. - required: - - id - - callbackUri - - _links - properties: - id: - description: | - Identifier that identifies the subscription. - $ref: ../../definitions/SOL005_def.yaml#/definitions/Identifier - filter: - description: | - Filter settings for this subscription, to define the subset of all notifications this subscription relates to. - A particular notification is sent to the subscriber if the filter matches, or if there is no filter. - $ref: '#/components/schemas/NfviCapacityInfoNotificationsFilter' - callbackUri: - description: | - The URI of the endpoint to send the notification to. - $ref: ../../definitions/SOL005_def.yaml#/definitions/Uri - _links: - type: object - description: | - Links to resources related to this resource. - required: - - self - properties: - self: - description: | - URI of this resource. - $ref: ../../definitions/SOL005_def.yaml#/definitions/Link - - NfviCapacityInfoSubscriptionRequest: - type: object - description: | - This type represents a subscription request. It shall comply with the provisions defined in Table 10.5.2.2-1. - required: - - callbackUri - properties: - filter: - description: | - Filter settings for this subscription, to define the subset of all notifications this subscription relates to. - A particular notification is sent to the subscriber if the filter matches, or if there is no filter. - $ref: '#/components/schemas/NfviCapacityInfoNotificationsFilter' - callbackUri: - description: | - The URI of the endpoint to send the notification to. - $ref: ../../definitions/SOL005_def.yaml#/definitions/Uri - authentication: - description: | - Authentication parameters to configure the use of authorization when sending notifications corresponding to - this subscription, as defined in clause 8.3.4 of ETSI GS NFV SOL 013. - This attribute shall only be present if the subscriber requires authorization of notifications. - $ref: ../../definitions/SOL005_def.yaml#/definitions/SubscriptionAuthentication - - NfviCapacityInfoNotificationsFilter: - type: object - description: | - This type represents a filter that can be used to subscribe for notifications related to NFVI capacity information events. - It shall comply with the provisions defined in Table 10.5.3.2-1. - properties: - notificationTypes: - description: | - Match particular notification types. - Permitted values: - - CapacityShortageNotification - type: array - items: - type: string - enum: - - CapacityShortageNotification - CapacityThresholdCriteria: type: object description: | -- GitLab From 555f794afc9d0729d1d76ec47ed2fc39cc57cb08 Mon Sep 17 00:00:00 2001 From: piscione Date: Thu, 6 May 2021 15:39:22 +0200 Subject: [PATCH 49/70] SOL005_45: added attribute into NsLcmOpOcc datamodel --- .../definitions/SOL005NSLifecycleManagement_def.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index 60aef49..879f627 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -4530,6 +4530,14 @@ definitions: description: > Indicator of the actual coordination action. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + coordinationResult: + description: > + The result of executing the coordination action which also implies the action + to be performed by the NFVO as the result of this coordination. + Shall be present if the coordination has been finished. Shall be absent if + the coordination is ongoing or has timed out (see note 2). + $ref: "../../NSLCMCoordination/definitions/SOL005NSLCMCoordination_def.yaml#/definitions/LcmCoordResultType" + startTime: description: > The time when the coordination action has been started. -- GitLab From d02cabd0d61a82df17e4d4321c9447b0b9cc33bd Mon Sep 17 00:00:00 2001 From: piscione Date: Thu, 6 May 2021 16:26:42 +0200 Subject: [PATCH 50/70] from SOL005_46 to SOL005_49 --- .../SOL005NSDescriptorManagement_def.yaml | 53 +++++++++++++------ src/SOL005/definitions/SOL005_def.yaml | 9 ++++ 2 files changed, 46 insertions(+), 16 deletions(-) diff --git a/src/SOL005/NSDManagement/definitions/SOL005NSDescriptorManagement_def.yaml b/src/SOL005/NSDManagement/definitions/SOL005NSDescriptorManagement_def.yaml index 9d8a36d..2146d35 100644 --- a/src/SOL005/NSDManagement/definitions/SOL005NSDescriptorManagement_def.yaml +++ b/src/SOL005/NSDManagement/definitions/SOL005NSDescriptorManagement_def.yaml @@ -8,7 +8,8 @@ definitions: This type represents attribute modifications for an individual NS descriptor resource based on the NsdInfo data type. The attributes of NsdInfo that can be modified are included in the NsdInfoModifications - data type.NOTE: At least one of the attributes - nsdOperationalState and + data type. + NOTE: At least one of the attributes - nsdOperationalState and userDefinedData - shall be present. oneOf: - required: @@ -23,7 +24,6 @@ definitions: Modifications of the userDefinedData attribute in NsdInfo data type. See note. If present, these modifications shall be applied according to the rules of JSON Merge Patch (see IETF RFC 7396). - NOTE- At least one of the attributes - nsdOperationalState and userDefinedData - shall be present. type: array items: $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" @@ -46,6 +46,13 @@ definitions: description: > Identifier of the on boarded individual NS descriptor resource. This identifier is allocated by the NFVO. + NOTE 1: At least one of the attributes - vnfPkgId and nestedNsdInfoId shall be present, + after the NSD is on-boarded. + NOTE 2: If the value of the nsdOnboardingState attribute is not equal to "ONBOARDED", + the value of the nsdOperationalState attribute shall be equal to "DISABLED". + NOTE 3: If the value of the nsdOnboardingState attribute is not equal to "ONBOARDED", + the value of the nsdUsageState attribute shall be equal to "NOT_IN_USE". + NOTE 4: State changes of an NSD are illustrated in clause B.2. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" nsdId: description: > @@ -82,6 +89,7 @@ definitions: description: > Identifies the VNF package for the VNFD referenced by the on-boarded NS descriptor resource. + See note 1. type: array items: $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" @@ -98,6 +106,7 @@ definitions: Identifies the NsdInfo element for the nested NSD referenced by the on-boarded NS descriptor resource. + See note 1. type: array items: $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" @@ -129,6 +138,7 @@ definitions: nsdOnboardingState: description: > On boarding state of the individual NS descriptor resource. + See note 4. $ref: "#/definitions/NsdOnboardingStateType" onboardingFailureDetails: description: > @@ -143,11 +153,12 @@ definitions: description: > Operational state of the individual NS descriptor resource. This attribute can be modified with the - PATCH method. + PATCH method. See note 2 and 4. $ref: "#/definitions/NsdOperationalStateType" nsdUsageState: description: > Usage state of the individual NS descriptor resource. + See note 3 and note 4. $ref: "#/definitions/NsdUsageStateType" userDefinedData: description: > @@ -367,11 +378,15 @@ definitions: is an array, the attribute shall match if at least one of the values in the array matches (logical "or" between the values of one filter attribute). - NOTE 1: The attributes "nsdId" and "nsdInfoId" are alternatives to reference to a particular NSD in a filter. - They should not be used both in the same filter instance, but one alternative should be chosen. + NOTE 1: The permitted values of the "notificationTypes" attribute are spelled exactly + as the names of the notification types to facilitate automated code generation systems. + + NOTE 2: The attributes "nsdId" and "nsdInfoId" are alternatives to reference to a + particular NSD in a filter. They should not be used both in the same filter instance, + but one alternative should be chosen. - NOTE 2: The attributes "pnfdId" and "pnfdInfoId" are alternatives to reference to a particular PNFD in a filter. - They should not be used both in the same filter instance, but one alternative should be chosen. + NOTE 3: The attributes "pnfdId" and "pnfdInfoId" are alternatives to reference to a particular + PNFD in a filter. They should not be used both in the same filter instance, but one alternative should be chosen. anyOf: - oneOf: - required: @@ -386,12 +401,18 @@ definitions: properties: notificationTypes: description: > - Match particular notification types. Permitted values: NsdOnBoardingNotification, - NsdOnboardingFailureNotification, NsdChangeNotification, NsdDeletionNotification - PnfdOnBoardingNotification, PnfdOnBoardingFailureNotification, PnfdDeletionNotification. - The permitted values of the "notificationTypes" ] attribute are spelled - exactly as the names of the notification types to facilitate automated - code generation systems. + Match particular notification types. + + Permitted values: + - NsdOnBoardingNotification + - NsdOnboardingFailureNotification + - NsdChangeNotification + - NsdDeletionNotification + - PnfdOnBoardingNotification + - PnfdOnBoardingFailureNotification + - PnfdDeletionNotification + + See note 1. type: array items: type: string @@ -405,13 +426,13 @@ definitions: - PnfdDeletionNotification nsdInfoId: description: > - Match the NsdInfo identifier which is allocated by the NFVO. + Match the NsdInfo identifier which is allocated by the NFVO. See note 2. type: array items: $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" nsdId: description: > - Match the NSD identifier, which is allocated by the NSD designer. + Match the NSD identifier, which is allocated by the NSD designer. See note 2. type: array items: $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" @@ -451,7 +472,7 @@ definitions: pnfdInfoIds: description: > Match the PnfdInfo identifier for the PNFD - referenced by the on-boarded NSD. + referenced by the on-boarded NSD. See note 3. type: array items: $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" diff --git a/src/SOL005/definitions/SOL005_def.yaml b/src/SOL005/definitions/SOL005_def.yaml index 38e6078..0b9b440 100644 --- a/src/SOL005/definitions/SOL005_def.yaml +++ b/src/SOL005/definitions/SOL005_def.yaml @@ -193,6 +193,7 @@ definitions: If present, match NS instances that were created based on a NSD identified by one of the nsdId values listed in this attribute. + See note 1. type: array items: $ref: "#/definitions/Identifier" @@ -202,6 +203,7 @@ definitions: instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. + See note 1. type: array items: $ref: "#/definitions/Identifier" @@ -211,6 +213,7 @@ definitions: PNFs that are represented by a PNFD identified by one of the pnfdId values listed in this attribute. + See note 1. type: array items: $ref: "#/definitions/Identifier" @@ -218,6 +221,7 @@ definitions: description: > If present, match NS instances with an instance identifier listed in this attribute. + See note 2. type: array items: $ref: "#/definitions/Identifier" @@ -225,6 +229,7 @@ definitions: description: > If present, match NS instances with a NS Instance Name listed in this attribute. + See note 2. type: array items: $ref: "#/definitions/String" @@ -234,6 +239,9 @@ definitions: This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. + NOTE: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM, + the WIM or the resource provider and can be used as information that complements the ResourceHandle. + type: object required: - resourceId @@ -262,6 +270,7 @@ definitions: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. + See note. type: string IdentifierInNs: -- GitLab From 7e4eced1255836aff29ef6e2d271aa3c1a51f9d1 Mon Sep 17 00:00:00 2001 From: piscione Date: Thu, 6 May 2021 18:24:36 +0200 Subject: [PATCH 51/70] SOL005_50 to SOL005_60 --- .../SOL005NSLifecycleManagement_def.yaml | 158 +++++++++++------- ...NSLifecycleManagementNotification_def.yaml | 43 ++--- 2 files changed, 111 insertions(+), 90 deletions(-) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index 879f627..2064c0b 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -123,6 +123,12 @@ definitions: description: > This type represents a NS termination request. It shall comply with the provisions defined in Table 6.5.2.15-1. + + NOTE 1: Information needed for terminating specific VNF instances shall only be + specified in the "terminateVnfData" attribute, and not in the "terminateNsData" attribute. + NOTE 2: VNF instance(s) part of this NS instance is(are) terminated as part of Terminate + NS operation only if the instance(s) is(are) not used by any other NS instance. + type: object properties: terminationTime: @@ -134,16 +140,12 @@ definitions: terminateNsData: description: > Provides additional parameters to the termination process at the NS level. - Information needed for terminating specific VNF instances shall only be specified - in the "terminateVnfData" attribute, and not in the "terminateNsData" attribute. + See note 1. $ref: "#/definitions/TerminateNsData" terminateVnfData: description: > Provides the information to terminate VNF instance(s). - Information needed for terminating specific VNF instances - shall only be specified in the "terminateVnfData" attribute, and not in the "terminateNsData" attribute. - VNF instance(s) part of this NS instance is(are) terminated as part of Terminate NS operation - only if the instance(s) is(are) not used by any other NS instance. + See note 1 and 2. type: array items: $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" @@ -193,6 +195,9 @@ definitions: description: > This type represents a response for Query NS operation. It shall comply with the provisions defined in Table 6.5.2.10-1. + + NOTE: If the "nsState" attribute is INSTANTIATED, at least either one + "vnfInstance" attribute or one "nestedNsInstanceId" attribute shall be present. type: object required: - id @@ -233,6 +238,7 @@ definitions: vnfInstance: description: > Information on constituent VNF(s) of the NS instance. + See note. type: array items: $ref: "#/definitions/VnfInstance" @@ -266,6 +272,7 @@ definitions: nestedNsInstanceId: description: > Identifier of the nested NS(s) of the NS instance. + See note. type: array items: $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" @@ -1891,6 +1898,18 @@ definitions: InstantiateNsRequest: type: object + description: > + This type represents request parameters for the "Instantiate NS" operation. + + NOTE 1: The DF of the VNF instance shall match the VNF DF present in the associated VNF Profile. + NOTE 2: The NS DF of each nested NS shall be one of the allowed flavours in the associated + NSD (as referenced in the nestedNsd attribute of the NSD of the NS to be instantiated). + NOTE 3: The NSD of each referenced NSs (i.e. each nestedInstanceId) shall match the one of the + nested NSD in the composite NSD. + NOTE 4: When the NS is deployed over several sites, the VLs of this NS will include VNs + in each site connected over the WAN. In this case, the "wanConnectionData" provides the needed + information required to connect each VN to the WAN. Annex E provides additional information and + guidelines about the usage of the "wanConnectionData" attribute. required: - nsFlavourId properties: @@ -1915,8 +1934,7 @@ definitions: Specify an existing VNF instance to be used in the NS. If needed, the VNF Profile to be used for this VNF instance is also provided. - The DF of the VNF instance shall match the VNF DF - present in the associated VNF Profile. + See note 1. type: array items: $ref: "#/definitions/VnfInstanceData" @@ -1926,12 +1944,7 @@ definitions: NS within the NS. If needed, the NS Profile to be used for this nested NS instance is also provided. - NOTE 2: The NS DF of each nested NS shall be one of the - allowed flavours in the associated NSD (as referenced in the - nestedNsd attribute of the NSD of the NS to be instantiated). - NOTE 3: The NSD of each referenced NSs (i.e. each - nestedInstanceId) shall match the one of the nested NSD in - the composite NSD. + See note 2 and note 3. type: array items: $ref: "#/definitions/NestedNsInstanceData" @@ -1999,10 +2012,7 @@ definitions: wanConnectionData: description: > Information for connecting VNs to the WAN when VLs are deployed across a WAN. - When the NS is deployed over several sites, the VLs of this NS will include VNs in each site connected over - the WAN. In this case, the "wanConnectionData" provides the needed information required to connect each VN - to the WAN. Annex E provides additional information and guidelines about the usage of the "wanConnectionData" - attribute. + See note 4. type: array items: $ref: "#/definitions/WanConnectionData" @@ -2250,6 +2260,8 @@ definitions: description: > This type represents a request for the scale NS operation. Either the parameter scaleNsData or the parameter scaleVnfData, but not both shall be provided + + NOTE: Either the parameter scaleNsData or the parameter scaleVnfData, but not both shall be provided. type: object required: - scaleType @@ -2273,11 +2285,13 @@ definitions: description: > The necessary information to scale the referenced NS instance. It shall be present when scaleType = SCALE_NS. + See note. $ref: "#/definitions/ScaleNsData" scaleVnfData: description: > The necessary information to scale the referenced NS instance. It shall be present when scaleType = SCALE_VNF. + See note. type: array items: $ref: "#/definitions/ScaleVnfData" @@ -2290,8 +2304,17 @@ definitions: UpdateNsRequest: description: > - This operation supports the update of a NS instance, - It shall comply with the provisions defined in Table 6.5.2.12-1. + This operation supports the update of a NS instance operation. + + NOTE 1: The DF of the VNF instance shall match the VNF DF present in the associated VNF Profile. + NOTE 2: The NS DF of each nested NS shall be one of the allowed flavours in the associated NSD + (as referenced in the nestedNsd attribute of the NSD of the NS to be instantiated). + NOTE 3: The NSD of each referenced NSs (i.e. each nestedInstanceId) shall match the one of + the nested NSD in the composite NSD. + NOTE 4: When the NS is deployed over several sites, the VLs of this NS will include VNs + in each site connected over the WAN. In this case, the "wanConnectionData" provides the needed + information required to connect each VN to the WAN. Annex E provides additional information and + guidelines about the usage of the "wanConnectionData" attribute. type: object required: - updateType @@ -2321,13 +2344,9 @@ definitions: * ADD_PNF: Adding PNF * MODIFY_PNF: Modifying PNF * REMOVE_PNF: Removing PNF - * CREATE_VNF_SNAPSHOT: Creating VNF Snapshots of VNF instances belonging to the NS instance. - It depends on the VNF capabilities, and is declared in the VNFD whether the operation is supported for a particular VNF. - * REVERT_VNF_TO_SNAPSHOT: Reverting a VNF instance belonging to the NS instance to a VNF Snapshot. - It depends on the VNF capabilities, and is declared in the VNFD whether the operation is supported for a particular VNF. - The operation might be service-disruptive. - * DELETE_VNF_SNAPSHOT_INFO: Deleting available VNF Snapshot information for a VNF instance belonging to the NS instance. - It depends on the VNF capabilities, and is declared in the VNFD whether the operation is supported for a particular VNF. + * CREATE_VNF_SNAPSHOT: Creating VNF Snapshots of VNF instances belonging to the NS instance. See note 2 + * REVERT_VNF_TO_SNAPSHOT: Reverting a VNF instance belonging to the NS instance to a VNF Snapshot. See note 2 and note 3 + * DELETE_VNF_SNAPSHOT_INFO: Deleting available VNF Snapshot information for a VNF instance belonging to the NS instance. See note 2 * MODIFY_WAN_CONNECTION_INFO: Modify WAN related connectivity information. * CREATE_NS_VIRTUAL_LINK: Create an NsVirtualLink instance. * DELETE_NS_VIRTUAL_LINK: Delete an NsVirtualLink instance. @@ -2372,10 +2391,7 @@ definitions: Identifies an existing VNF instance to be removed from the NS instance. It contains the identifier(s) of the VNF instances to be removed. It shall be present only if - updateType = "REMOVE_VNF." Note: If a VNF instance - is removed from a NS and this NS was the last one for - which this VNF instance was a part, the VNF instance is - terminated by the NFVO. + updateType = "REMOVE_VNF.". See note 1. type: array items: $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" @@ -2393,11 +2409,7 @@ definitions: It shall be present only if updateType = "REMOVE_VNF" and if the VNF instance(s) is(are) to be terminated as part of this operation. - If a VNF instance is removed from an NS and this NS was the - last one for which this VNF instance was a part, the VNF instance - is terminated by the NFVO. - For each of the referred vnfInstanceId in the terminateVnfData, - there shall be a corresponding value in the removeVnfInstanceId. + See notes 1 and 4. type: array items: $ref: "#/definitions/TerminateVnfData" @@ -3310,6 +3322,8 @@ definitions: description: > This type provides information about added, deleted, modified and temporary VLs. + NOTE: The resource handles of the affected NS link ports can be + found by dereferencing the identifiers in the "linkPortIds" attribute. type: object required: - nsVirtualLinkInstanceId @@ -3348,11 +3362,14 @@ definitions: linkPortIds: description: > Identifiers of the link ports of the affected VL related to the change. Each identifier references an - "NsLinkPortInfo" structure. Shall be set when changeType is equal to "ADD_LINK_PORT" or "REMOVE_LINK_PORT", - and the related "NsLinkPortInfo" structures are present (case "add") or have been present (case "remove") in - the "NsVirtualLinkInfo" structure that is represented by the "virtualLinkInfo" attribute in the "NsInstance" - structure. The resource handles of the affected NS link ports can be found by dereferencing the identifiers - in the "linkPortIds" attribute. + "NsLinkPortInfo" structure. + + Shall be set when changeType is equal to "ADD_LINK_PORT" or "REMOVE_LINK_PORT", and the related + "NsLinkPortInfo" structures are present (case "add") or have been present (case "remove") in + the "NsVirtualLinkInfo" structure that is represented by the "virtualLinkĀ¬Info" attribute + in the "NsInstance" structure. + See note. + type: array items: $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInNs" @@ -3420,8 +3437,11 @@ definitions: AffectedVnf: description: > - This type provides information about added, deleted and modified VNFs. - It shall comply with the provisions in Table 6.5.3.2-1. + This type provides information about added, deleted and modified VNFs. + + NOTE: At least one of the attributes "changedVnfInfo", "changedExtConnectivity" + or "modificationsTriggeredByVnfPkgChange" shall be present. Not more than one + of "changedVnfInfo" and "modificationsTriggeredByVnfPkgChange" shall be present. type: object required: - vnfInstanceId @@ -3522,20 +3542,22 @@ definitions: Information about the changed VNF instance information, including configurable properties, if applicable. + See note. $ref: "#/definitions/ModifyVnfInfoData" changedExtConnectivity: description: > - Information about changed external connectivity, - if applicable. + Information about changed external connectivity, if applicable. + Only information about external VL instances that have been + added or modified shall be provided. See note. type: array items: $ref: "#/definitions/ExtVirtualLinkInfo" modificationsTriggeredByVnfPkgChange: description: > - Information about performed changes of "VnfInstance" attributes triggered by changing the current - VNF package, if applicable. Shall be absent if the "operation" attribute is different from "CHANGE_VNFPKG". - At least one of the attributes "changedVnfInfo", "changedExtConnectivity" or "modificationsTriggeredByVnfPkgChange" - shall be present. Not more than one of "changedVnfInfo" and "modificationsTriggeredByVnfPkgChange" shall be present. + Information about performed changes of "VnfInstance" attributes + triggered by changing the current VNF package, if applicable. + Shall be absent if the "operation" attribute is different from "CHANGE_VNFPKG". + See note. $ref: "#/definitions/ModificationsTriggeredByVnfPkgChange" AffectedPnf: @@ -3931,6 +3953,9 @@ definitions: to match (logical "and" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical "or" between the values of one filter attribute). + + NOTE: The permitted values of the "notificationTypes" attribute are spelled exactly as the names + of the notification types to facilitate automated code generation systems. type: object properties: nsInstanceSubscriptionFilter: @@ -3945,6 +3970,8 @@ definitions: - NsIdentifierCreationNotification - NsIdentifierDeletionNotification - NsChangeNotification + + See note. type: array items: type: string @@ -4348,6 +4375,14 @@ definitions: description: > This type represents a request a NS lifecycle operation occurrence. It shall comply with the provisions defined in Table 6.5.2.3-1. + + NOTE 1: This allows the OSS/BSS to obtain a copy of the latest "result" notification if it has not received + it due to an error. If the notification represents the successful result of a lifecycle operation, at least + an affectedVnf, or affectedPnf, or affectedVl, or affectedVnffg or affectedNs, or affectedSap shall be present. + + NOTE 2: A coordination action has timed out if the NFVO has not been able to read the "Individual coordination + action" resource within a timeout interval after requesting the coordination to be started or to be cancelled. + The length of the timeout interval is defined by means outside the scope of the present document type: object required: - id @@ -4649,6 +4684,16 @@ definitions: IpOverEthernetAddressData: description: > This type represents network address data for IP over Ethernet. + NOTE 1: At least one of "macAddress" or "ipAddresses" shall be present. + NOTE 2: Exactly one of "fixedAddresses", "numDynamicAddresses" or "ipAddressRange" shall be present. + NOTE 3: If the CP instance represents a subport in a trunk, "segmentationId" shall be present. + Otherwise it shall not be present. + NOTE 4: Depending on the NFVI networking infrastructure, the "segmentationId" may indicate + the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport + header of the packets or it may be an identifier used between the application and the NFVI networking + infrastructure to identify the network sub-interface of the trunk port in question. In the latter + case the NFVI infrastructure will map this local "segmentationId" to whatever "segmentationId" is actually + used by the NFVI's transport technology. type: object anyOf: - required: @@ -4659,6 +4704,7 @@ definitions: macAddress: description: > MAC address. If this attribute is not present, it shall be chosen by the NFV MANO. + See note 1. $ref: "#/definitions/MacAddress" segmentationType: description: > @@ -4674,21 +4720,14 @@ definitions: - INHERIT segmentationId: description: > - Identification of the network segment to which the CP instance connects to. - If the CP instance represents a subport in a trunk, "segmentationId" shall be present. - Otherwise it shall not be present. - Depending on the NFVI networking infrastructure, the "segmentationId" may indicate the actual network segment - value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an - identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface - of the trunk port in question. In the latter case the NFVI infrastructure will map this local "segmentationId" - to whatever "segmentationId" is actually used by the NFVIā€™s transport technology. + Identification of the network segment to which the CP instance connects to. See note 3 and note 4. type: string ipAddresses: description: > List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. - If this attribute is not present, no IP address shall be assigned. + If this attribute is not present, no IP address shall be assigned. See note 1. type: array items: type: object @@ -4725,8 +4764,7 @@ definitions: description: > Number of dynamic addresses to assign (from the subnet defined by "subnetId" if provided). - Exactly one of "fixedAddresses", "numDynamicAddresses" or - "ipAddressRange" shall be present. + See note 2. type: integer addressRange: description: > diff --git a/src/SOL005/NSLifecycleManagementNotification/definitions/SOL005NSLifecycleManagementNotification_def.yaml b/src/SOL005/NSLifecycleManagementNotification/definitions/SOL005NSLifecycleManagementNotification_def.yaml index 90030db..6438aeb 100644 --- a/src/SOL005/NSLifecycleManagementNotification/definitions/SOL005NSLifecycleManagementNotification_def.yaml +++ b/src/SOL005/NSLifecycleManagementNotification/definitions/SOL005NSLifecycleManagementNotification_def.yaml @@ -21,6 +21,13 @@ definitions: Identifier of this notification. If a notification is sent multiple times due to multiple subscriptions, the "id" attribute of all these notifications shall have the same value. + + NOTE: Shall be present if the "notificationStatus" is set to "RESULT", + the "verbosity" attribute is set to "FULL" and the operation has performed + any resource modification. Shall be absent otherwise. This attribute contains + information about the cumulative changes to virtualised resources that were + performed so far by the NS LCM operation occurrence and by any of the error + handling procedures for that operation occurrence. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" nsInstanceId: description: > @@ -86,65 +93,41 @@ definitions: affectedVnf: description: > Information about the VNF instances that were affected - during the lifecycle operation. - Shall be present if the "notificationStatus" is set to "RESULT", the "verbosity" attribute is set to "FULL" - and the operation has performed any resource modification. Shall be absent otherwise. This attribute contains - information about the cumulative changes to virtualised resources that were performed so far by the NS LCM - operation occurrence and by any of the error handling procedures for that operation occurrence. + during the lifecycle operation. See note. type: array items: $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedVnf" affectedPnf: description: > Information about the PNF instances that were affected - during the lifecycle operation. - Shall be present if the "notificationStatus" is set to "RESULT", the "verbosity" attribute is set to "FULL" - and the operation has performed any resource modification. Shall be absent otherwise. This attribute contains - information about the cumulative changes to virtualised resources that were performed so far by the NS LCM - operation occurrence and by any of the error handling procedures for that operation occurrence. + during the lifecycle operation. See note. type: array items: $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedPnf" affectedVl: description: > Information about the VL instances that were affected - during the lifecycle operation. - Shall be present if the "notificationStatus" is set to "RESULT", the "verbosity" attribute is set to "FULL" - and the operation has performed any resource modification. Shall be absent otherwise. This attribute contains - information about the cumulative changes to virtualised resources that were performed so far by the NS LCM - operation occurrence and by any of the error handling procedures for that operation occurrence. + during the lifecycle operation. See note. type: array items: $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedVirtualLink" affectedVnffg: description: > Information about the VNFFG instances that were - affected during the lifecycle operation. - Shall be present if the "notificationStatus" is set to "RESULT", the "verbosity" attribute is set to "FULL" - and the operation has performed any resource modification. Shall be absent otherwise. This attribute contains - information about the cumulative changes to virtualised resources that were performed so far by the NS LCM - operation occurrence and by any of the error handling procedures for that operation occurrence. + affected during the lifecycle operation. See note. type: array items: $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedVnffg" affectedNs: description: > Information about the SAP instances that were affected - during the lifecycle operation. - Shall be present if the "notificationStatus" is set to "RESULT", the "verbosity" attribute is set to "FULL" - and the operation has performed any resource modification. Shall be absent otherwise. This attribute contains - information about the cumulative changes to virtualised resources that were performed so far by the NS LCM - operation occurrence and by any of the error handling procedures for that operation occurrence. + during the lifecycle operation.See note. type: array items: $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedNs" affectedSap: description: > - Information about the SAP instances that were affected during the lifecycle operation. - Shall be present if the "notificationStatus" is set to "RESULT", the "verbosity" attribute is set to "FULL" - and the operation has performed any resource modification. Shall be absent otherwise. This attribute contains - information about the cumulative changes to virtualised resources that were performed so far by the NS LCM - operation occurrence and by any of the error handling procedures for that operation occurrence. + Information about the SAP instances that were affected during the lifecycle operation. See note. type: array items: $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedSap" -- GitLab From 34421873242766c036dcee84056b204329fabaa5 Mon Sep 17 00:00:00 2001 From: piscione Date: Fri, 7 May 2021 10:59:25 +0200 Subject: [PATCH 52/70] SOL005_61 to SOL005_70 --- .../SOL005NSLifecycleManagement_def.yaml | 248 +++++++++--------- 1 file changed, 121 insertions(+), 127 deletions(-) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index 2064c0b..26ebc8a 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -1250,7 +1250,15 @@ definitions: IpOverEthernetAddressInfo: description: > This type represents information about a network address that has been assigned. - It shall comply with the provisions defined in Table 6.5.3.18-1. + + NOTE 1: At least one of "macAddress" or "ipAddresses" shall be present. + NOTE 2: Exactly one of "addresses" or "addressRange" shall be present. + NOTE 3: If the Cp instance represents a subport in a trunk, "segmentationId" shall be present. Otherwise it shall not be present. + NOTE 4: Depending on the NFVI networking infrastructure, the "segmentationId" may indicate the actual network segment value + (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier + used between the application and the NFVI networking infrastructure to identify the network sub-interface + of the trunk port in question. In the latter case the NFVI infrastructure will map this local + "segmentationId" to whatever "segmentationId" is actually used by the NFVI's transport technology. type: object anyOf: - required: @@ -1261,23 +1269,20 @@ definitions: macAddress: description: > Assigned MAC address. + + See note 1. $ref: "#/definitions/MacAddress" segmentationId: description: > Identification of the network segment to which the Cp instance connects to. - If the Cp instance represents a subport in a trunk, "segmentationId" shall be present. - Otherwise it shall not be present. - Depending on the NFVI networking infrastructure, the "segmentationId" may indicate the actual network segment - value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an - identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface - of the trunk port in question. In the latter case the NFVI infrastructure will map this local "segmentationId" - to whatever "segmentationId" is actually used by the NFVIā€™s transport technology. + See note 3 and note 4. type: string ipAddresses: description: > Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. + See note 1. type: array items: type: object @@ -1303,6 +1308,7 @@ definitions: description: > Fixed addresses assigned (from the subnet defined by "subnetId" if provided). + See note 2. type: array items: $ref: "#/definitions/IpAddress" @@ -1317,6 +1323,7 @@ definitions: description: > An IP address range used, e.g., in case of egress connections. Exactly one of "addresses" or "addressRange" shall be present. + See note 2. type: object required: - minAddress @@ -2110,17 +2117,20 @@ definitions: ā€¢ as a country code ā€¢ as a civic address combined with a country code ā€¢ as an area, conditionally combined with a country code - The LocationConstraints data type shall comply with the provisions defined in Table 6.5.3.21-1. + + NOTE: If both "countryCode" and "area" are present, no conflicts should + exist between the values of these two attributes. In case of conflicts, + the API producer (i.e. the NFVO) shall disregard parts of the geographic + area signalled by "area" that are outside the boundaries of the country + signalled by "countryCode". If "countryCode" is absent, it is solely the "area" + attribute that defines the location constraint. type: object properties: countryCode: description: > - The two-letter ISO 3166 [29] country code in capital letters. - Shall be present in case the "area" attribute is absent. May be absent if the "area" attribute is present. - If both "countryCode" and "area" are present, no conflicts should exist between the values of these two attributes. - In case of conflicts, the API producer (i.e. the NFVO) shall disregard parts of the geographic area signalled - by "area" that are outside the boundaries of the country signalled by "countryCode". If "countryCode" is absent, - it is solely the "area" attribute that defines the location constraint. + The two-letter ISO 3166 country code in capital letters. Shall be present + in case the "area" attribute is absent. May be absent if the "area" + attribute is present (see note). type: string civicAddressElement: description: > @@ -2150,10 +2160,7 @@ definitions: Geographic area. Shall be absent if the "civicAddressElement" attribute is present. The content of this attribute shall follow the provisions for the "Polygon" geometry object as defined in IETF RFC 7946, for which the "type" member shall be set to the value "Polygon". - If both "countryCode" and "area" are present, no conflicts should exist between the values of these two attributes. - In case of conflicts, the API producer (i.e. the NFVO) shall disregard parts of the geographic area signalled - by "area" that are outside the boundaries of the country signalled by "countryCode". If "countryCode" is absent, - it is solely the "area" attribute that defines the location constraint. + See note. type: object VnfLocationConstraint: @@ -2593,8 +2600,19 @@ definitions: This type represents the information related to a SAP of a NS. The InstantiateVnfData data type specifies the parameters that are needed for VNF instantiation. This information element is used for the bottom-up NS creation when the OSS/BSS explicitly requests VNF instantiation for a given NS. When the NFVO invokes the Instantiate VNF - update operation, a set of these parameters are then passed by the NFVO to the VNFM. It shall comply with the - provisions defined in Table 6.5.3.24-1. + update operation, a set of these parameters are then passed by the NFVO to the VNFM. + + NOTE 1: It is possible to have several ExtManagedVirtualLinkData for the same VNF internal + VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkData + corresponding to the same VNF internal VL shall indicate so by referencing to the same + VnfVirtualLinkDesc and externally-managed multi-site VL instance (refer to clause 6.5.3.27). + NOTE 2: If vnfdId and vnfFlavourId (and vnfInstantiationLevelId, if provided) are present, + there should be only one vnfProfile that matches the vnfdId and vnfFlavourId (and vnfInstantiationLevelId, + if present) in the NS deployment flavour specified in the NSD associated to the NS instance to which + the present operation is triggered. In the case there is more than one matching vnfProfile, the NFVO + may select a matching vnfProfile based on other information, such as external VL. + NOTE 3: Either the attribute triple "vnfdId, vnfFlavourId and vnfInstantiationLevelId + (if provided)" or the attribute "vnProfileId" shall be present, but not both. type: object properties: vnfdId: @@ -2602,33 +2620,13 @@ definitions: Information sufficient to identify the VNFD which defines the VNF to be instantiated. - If vnfdId and vnfFlavourId (and vnfInstantiationLevelId, - if provided) are present, there should be only one vnfProfile - that matches the vnfdId and vnfFlavourId (and vnfInstantiationLevelId, - if present) in the NS deployment flavour specified in the NSD - associated to the NS instance to which the present operation is - triggered. In the case there is more than one matching vnfProfile, - the NFVO may select a matching vnfProfile based on other information, - such as external VL. - - Either the attribute triple "vnfdId, vnfFlavourId and vnfInstantiationLevelId - (if provided)" or the attribute "vnProfileId" shall be present, but not both. + See note 2 and 3. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" vnfFlavourId: description: > Identifier of the VNF deployment flavor to be instantiated. - If vnfdId and vnfFlavourId (and vnfInstantiationLevelId, - if provided) are present, there should be only one vnfProfile - that matches the vnfdId and vnfFlavourId (and vnfInstantiationLevelId, - if present) in the NS deployment flavour specified in the NSD - associated to the NS instance to which the present operation is - triggered. In the case there is more than one matching vnfProfile, - the NFVO may select a matching vnfProfile based on other information, - such as external VL. - - Either the attribute triple "vnfdId, vnfFlavourId and vnfInstantiationLevelId - (if provided)" or the attribute "vnProfileId" shall be present, but not both. + See note 2 and 3. $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" vnfInstantiationLevelId: description: > @@ -2637,24 +2635,13 @@ definitions: instantiation level as declared in the VNFD is instantiated. - If vnfdId and vnfFlavourId (and vnfInstantiationLevelId, - if provided) are present, there should be only one vnfProfile - that matches the vnfdId and vnfFlavourId (and vnfInstantiationLevelId, - if present) in the NS deployment flavour specified in the NSD - associated to the NS instance to which the present operation is - triggered. In the case there is more than one matching vnfProfile, - the NFVO may select a matching vnfProfile based on other information, - such as external VL. - - Either the attribute triple "vnfdId, vnfFlavourId and vnfInstantiationLevelId - (if provided)" or the attribute "vnProfileId" shall be present, but not both. + See note 2 and 3. $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" vnfProfileId: description: > Identifier of (Reference to) a vnfProfile defined in the NSD which is used for instantiating the VNF. - Either the attribute triple "vnfdId, vnfFlavourId and vnfInstantiationLevelId - (if provided)" or the attribute "vnProfileId" shall be present, but not both. + See note 3. $ref: "#/definitions/IdentifierInNsd" vnfInstanceName: description: > @@ -2667,16 +2654,14 @@ definitions: extVirtualLinks: description: > Information about external VLs to connect the VNF to. + type: array items: $ref: "#/definitions/ExtVirtualLinkData" extManagedVirtualLinks: description: > Information about internal VLs that are managed by other entities than the VNFM. - It is possible to have several ExtManagedVirtualLinkData for the same VNF internal VL in case of a multi-site - VNF spanning several VIMs. The set of ExtManagedVirtualLinkData corresponding to the same VNF internal VL shall - indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site VL instance - (refer to clause 6.5.3.27). + See note 1. type: array items: $ref: "#/definitions/ExtManagedVirtualLinkData" @@ -2693,7 +2678,7 @@ definitions: It provides values for the "vnfConfigurableProperties" input parameter of the Instantiate VNF operation - defined in ETSI GS NFV-SOL 003 [4]. + defined in ETSI GS NFV-SOL 003. $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" additionalParams: description: > @@ -2730,7 +2715,17 @@ definitions: description: > The type represents the information that is requested to be changed deployment flavor for an existing VNF instance. - It shall comply with the provisions defined in Table 6.5.3.25-1. + NOTE 1: The indication of externally-managed internal VLs + is needed in case networks have been pre-configured for use with certain VNFs, + for instance to ensure that these networks have certain properties such as + security or acceleration features, or to address particular network topologies. + The present document assumes that externally-managed internal VLs are managed + by the NFVO and created towards the VIM. + NOTE 2: It is possible to have several ExtManagedVirtualLinkData for the same + VNF internal VL in case of a multi-site VNF spanning several VIMs. The set + of ExtManagedVirtualLinkData corresponding to the same VNF internal VL shall + indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed + multi-site VL instance (refer to clause 6.5.3.27). type: object required: - vnfInstanceId @@ -2760,14 +2755,7 @@ definitions: extManagedVirtualLinks: description: > information about internal VLs that are managed by NFVO. - The indication of externally-managed internal VLs is needed in case networks have been pre-configured for use - with certain VNFs, for instance to ensure that these networks have certain properties such as security or - acceleration features, or to address particular network topologies. The present document assumes that - xternally-managed internal VLs are managed by the NFVO and created towards the VIM. - It is possible to have several ExtManagedVirtualLinkData for the same VNF internal VL in case of a multi-site - VNF spanning several VIMs. The set of ExtManagedVirtualLinkData corresponding to the same VNF internal VL shall - indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site VL instance - (refer to clause 6.5.3.27). + See note 1 and note 2. type: array items: $ref: "#/definitions/ExtManagedVirtualLinkData" @@ -2791,8 +2779,16 @@ definitions: OperateVnfData: description: > This type represents a VNF instance for which the operational state - needs to be changed and the requested new state. It - shall comply with the provisions defined in Table 6.5.3.31-1. + needs to be changed and the requested new state. + 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" attribute 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 was set to "FORCEFUL", when + the "changeStateTo" attribute is equal to "STOPPED" and the "stopType" attribute + is absent. type: object required: - vnfInstanceId @@ -2809,13 +2805,14 @@ definitions: $ref: "#/definitions/OperationalStates" stopType: description: > - It signals whether forceful or graceful stop is requested. + It signals whether forceful or graceful stop is requested. + See note. $ref: "#/definitions/StopType" gracefulStopTimeout: description: > The time interval (in seconds) to wait for the VNF to be taken out of service during graceful stop, before - stopping the VNF. + stopping the VNF. See note. type: integer additionalParam: description: > @@ -3294,6 +3291,7 @@ definitions: This type specifies an PNF to be modified in the NS instance. It shall comply with the provisions defined in Table 6.5.3.15-1. + NOTE: At least one attribute shall be present. type: object required: - pnfId @@ -3309,11 +3307,11 @@ definitions: $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" pnfName: description: > - Name of the PNF. + Name of the PNF. See note. type: string cpData: description: > - Address assigned for the PNF external CP(s). + Address assigned for the PNF external CP(s). See note. type: array items: $ref: "#/definitions/PnfExtCpData" @@ -4796,7 +4794,17 @@ definitions: ExtVirtualLinkData: description: > - This type represents an external VL. It shall comply with the provisions defined in Table 6.5.3.26-1. + This type represents an external VL. + + NOTE: A link port is not needed for an external CP instance that exposes a VIP CP in the following cases: + 1. For a VIP CP directly exposed as extCP: + 1.1. no dedicated IP address is allocated as VIP address, as indicated in the VNFD + 1.2. a dedicated IP address is allocated as VIP address, + but the NFVO indicates that no port is needed (createExtLinkPort in VnfExtCpConfig set to false). + 2. For a VIP CP exposed as extCP via a floating IP address: + 2.1. no dedicated IP address is allocated as VIP address, as indicated in the VNFD, + and the VNFC CP associated to the VIP CP is also exposed via a floating IP address. + type: object required: - resourceId @@ -4838,15 +4846,7 @@ definitions: external connection points to this external VL unless the extCp exposes a VIP CP and a link port is not needed for it based on the conditions defined below. - - A link port is not needed for an external CP instance that exposes a VIP CP in the following cases: - 1. For a VIP CP directly exposed as extCP: - 1.1. no dedicated IP address is allocated as VIP address, as indicated in the VNFD - 1.2. a dedicated IP address is allocated as VIP address, but the NFVO indicates that no port is needed - (createExtLinkPort in VnfExtCpConfig set to false). - 2. For a VIP CP exposed as extCP via a floating IP address: - 2.1. no dedicated IP address is allocated as VIP address, as indicated in the VNFD, - and the VNFC CP associated to the VIP CP is also exposed via a floating IP address. + See note. type: array items: $ref: "#/definitions/ExtLinkPortData" @@ -4909,6 +4909,21 @@ definitions: description: > This type represents configuration information for external CPs created from a CPD. + + NOTE 1: In case this identifier refers to a CPD with trunking enabled, the external + CP instances created from this CPD will represent ports in a trunk. + NOTE 2: The map entry value shall be set to "null" in order to delete a "VnfExtCpConfig" + entry identified by a particular key value from the map, i.e. for the disconnection of an + existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular + external virtual link, and deletion of that instance in case it represents a subport. Deleting + the last key from the map removes the affected instance of the "VnfExtCpData" structure from its + parent data structure. + NOTE 3: Within one VNF instance, all VNFC instances created from a particular VDU have the + same external connectivity. Thus, given a particular value of the "cpdId' attribute, there + shall be one "cpConfig" entry for each VNFC instance that has been or can be created from + a VDU which includes a CPD identified by the "cpdId" attribute. If the cpConfig represents + a subport in a trunk, all "cpConfig" entries in this list shall have the same segmentationId, + which means they are connected to the same set of external VLs via the trunk. type: object required: - cpdId @@ -4916,24 +4931,14 @@ definitions: cpdId: description: > The identifier of the CPD in the VNFD. - In case this identifier refers to a CPD with trunking enabled, the external CP instances created from this CPD - will represent ports in a trunk. + See note 1. $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" cpConfig: description: > Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). - The map entry value shall be set to "null" in order to delete a "VnfExtCpConfig" entry identified by a - particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed - by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that - instance in case it represents a subport. Deleting the last key from the map removes the affected instance - of the "VnfExtCpData" structure from its parent data structure. - Within one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. - Thus, given a particular value of the ā€œcpdIdā€™ attribute, there shall be one ā€œcpConfigā€ entry for each VNFC - instance that has been or can be created from a VDU which includes a CPD identified by the ā€œcpdIdā€ attribute. - If the cpConfig represents a subport in a trunk, all ā€œcpConfigā€ entries in this list shall have the same - segmentationId, which means they are connected to the same set of external VLs via the trunk. + See note 2 and note 3. type: object additionalProperties: $ref: "#/definitions/VnfExtCpConfig" @@ -4942,6 +4947,7 @@ definitions: description: > This type represents an externally provided link port to be used to connect an external connection point to an external VL. + NOTE: The value of "trunkResourceId" is scoped by the value of "vimConnectionId" in the "resourceHandle" attribute. type: object required: - id @@ -4961,9 +4967,7 @@ definitions: Identifier of the trunk resource in the VIM. Shall be present if the present link port corresponds to the parent port that the trunk resource is associated with. - - The value of "trunkResourceId" is scoped by the value of "vimConnectionId" - in the "resourceHandle" attribute. + See note. $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVim" VnfExtCpConfig: @@ -4974,6 +4978,19 @@ definitions: external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. + NOTE 1: The following conditions apply to the attributes "linkPortId" and "cpProtocolData": + - At least one of the "linkPortId" and "cpProtocolData" attributes shall be present for + an external CP instance representing a subport that is to be created, or an external CP instance + that is to be created by creating the corresponding VNFC or VNF instance during the current or + a subsequent LCM operation, or for an existing external CP instance that is to be re-configured + or added to a particular external virtual link. + - If the "cpProtocolData" attribute is absent, the "linkPortId" attribute shall be provided + referencing a pre-created link port with pre-configured address information. + - If both "cpProtocolData" and "linkportId" are provided, the API consumer shall ensure that + the cpProtocolData can be used with the pre-created link port referenced by "linkPortId". + NOTE 2: In case the NFVO manages its own identifier space, the NFVO may remap this identifier + when communicating with the VNFM. If the NFVO knows that there can be an identifier collision + when communicating with the VNFM by using the identifier from the OSS/BSS, the NFVO shall remap it. type: object anyOf: - required: @@ -4985,25 +5002,13 @@ definitions: description: > Value of the key that identifies to the "VnfExtCpConfig" entry that corresponds to the parent port of the trunk. Only present in "VnfExtCpConfig" map structures which provide configuration information for a CP which represents - a subport in a trunk, and if parent ports are supported. + a subport in a trunk, and if parent ports are supported. See note 2. $ref: "#/definitions/IdentifierInVnf" linkPortId: description: > Identifier of a pre-configured link port to which the external CP will be associated. - The following conditions apply to the attributes "linkPortId" and - "cpProtocolData": - * At least one of the "linkPortId" and "cpProtocolData" attributes - shall be present for a to-be-created external CP instance or an - existing external CP instance. - * If the "cpProtocolData" attribute is absent, the "linkPortId" - attribute shall be provided referencing a pre-created link port, - and the VNFM can use means outside the scope of the present - document to obtain the pre-configured address information for the - connection point from the resource representing the link port. - * If both "cpProtocolData" and "linkportId" are provided, the API - consumer shall ensure that the cpProtocolData can be used with the - pre-created link port referenced by "linkPortId". + See note 1. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" createExtLinkPort: description: > @@ -5017,18 +5022,7 @@ definitions: description: > Parameters for configuring the network protocols on the link port that connects the CP to a VL. - The following conditions apply to the attributes "linkPortId" and "cpProtocolData": - * At least one of the "linkPortId" and "cpProtocolData" attributes - shall be present for a to-be-created external CP instance or an - existing external CP instance. - * If the "cpProtocolData" attribute is absent, the "linkPortId" - attribute shall be provided referencing a pre-created link port, - and the VNFM can use means outside the scope of the present - document to obtain the pre-configured address information for the - connection point from the resource representing the link port. - * If both "cpProtocolData" and "linkportId" are provided, the API - consumer shall ensure that the cpProtocolData can be used with the - pre-created link port referenced by "linkPortId". + See note 1. type: array items: $ref: "#/definitions/CpProtocolData" -- GitLab From fb1e27cfedd75452cc181d882c89c0695df7f4d8 Mon Sep 17 00:00:00 2001 From: piscione Date: Fri, 7 May 2021 11:35:45 +0200 Subject: [PATCH 53/70] SOL005_71 to SOL005_80 --- .../SOL005NSLifecycleManagement_def.yaml | 97 ++++++++++++------- 1 file changed, 63 insertions(+), 34 deletions(-) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index 26ebc8a..f885aa9 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -41,8 +41,10 @@ definitions: HealNsData: description: > - This type represents the information used to heal a NS. + This type represents the information used to heal a NS. It shall comply with the provisions defined in Table 6.5.3.43-1. + + NOTE: Either the actionsHealing or healScript attribute shall be present, not both attributes. type: object required: - degreeHealing @@ -76,7 +78,7 @@ definitions: particular order (e.g. as a script). The actionsHealing attribute can be used to provide a specific script whose content and actions might only be possible to be - derived during runtime. + derived during runtime. See note. type: array items: $ref: "../../definitions/SOL005_def.yaml#/definitions/String" @@ -86,7 +88,7 @@ definitions: to execute dedicated healing actions in a particular order. The healScript, since it refers to a script in the NSD, can be used to execute healing actions which - are defined during NS design time. + are defined during NS design time. See note. $ref: "#/definitions/IdentifierInNsd" additionalParamsforNs: description: > @@ -756,8 +758,16 @@ definitions: NsVirtualLinkInfo: description: > This type specifies the information about an NS VL instance. - It shall comply with the provisions defined in - Table 6.5.3.53-1 + It shall comply with the provisions defined in Table 6.5.3.53-1. + + NOTE: As an NS can include NFs deployed in NFVI PoPs under the control + of several different VIMs, therefore deploying an NS VL can involve + several VIMs, each allocating different virtualised network resources, + as well as WIMs handling the connectivity in between the NFVI-PoPs in + the form of multi-site connectivity services. + When this NsVirtualLink is provided as an ExtVirtualLink as input + of a VNF LCM operation, the id of the ExtVirtualLink shall be the same + as the corresponding NsVirtualLink. type: object required: - id @@ -780,11 +790,7 @@ definitions: description: > Identifier(s) of the virtualised network resource(s) and/or multi-site connectivity service(s) realizing the VL instance. - As an NS can include NFs deployed in NFVI PoPs under the control of several different VIMs, therefore deploying - an NS VL can involve several VIMs, each allocating different virtualised network resources, as well as WIMs - handling the connectivity in between the NFVI-PoPs in the form of multi-site connectivity services. When this - NsVirtualLink is provided as an ExtVirtualLink as input of a VNF LCM operation, the id of the ExtVirtualLink - shall be the same as the corresponding NsVirtualLink. + See note. type: array items: $ref: "../../definitions/SOL005_def.yaml#/definitions/ResourceHandle" @@ -3048,28 +3054,30 @@ definitions: This type contains information used to create or modify NFP instance parameters for the update of an existing VNFFG instance. It shall comply with the provisions defined in Table 6.5.3.38-1. + NOTE 1: It shall be present for modified NFPs and shall be absent for the new NFP. + NOTE 2: It shall be present for the new NFP, and it may be present otherwise. + NOTE 3: At least a CP or an nfpRule shall be present. + NOTE 4: When multiple identifiers are included, the position of the identifier + in the cpGroup value specifies the position of the group in the path. type: object properties: nfpInfoId: description: > Identifier of the NFP to be modified. It shall be present for modified NFPs and shall be absent for the new NFP. - It shall be present for modified NFPs and shall be absent - for the new NFP. + See note 1. $ref: "#/definitions/IdentifierInNs" nfpName: description: > Human readable name for the NFP. It shall be present for the new NFP, and it may be present otherwise. - It shall be present for the new NFP, and it may be - present otherwise. + See note 2. type: string description: description: > Human readable description for the NFP. It shall be present for the new NFP, and it may be present otherwise. - It shall be present for the new NFP, and it may be - present otherwise. + See note 2. type: string cpGroup: description: > @@ -3077,10 +3085,7 @@ definitions: Cardinality can be 0 if only updated or newly created NFP classification and selection rule which applied to an existing NFP is provided. - At least a CP or an nfpRule shall be present. - When multiple identifiers are included, the position of - the identifier in the cpGroup value specifies the position - of the group in the path. + See note 3 and 4. type: array items: $ref: "#/definitions/CpGroupInfo" @@ -3147,18 +3152,18 @@ definitions: vlanTag: description: > Indicates a VLAN identifier in an IEEE 802.1Q-2018 - tag [6] Multiple tags can be included for QinQ stacking. See note. + tag Multiple tags can be included for QinQ stacking. See note. type: array items: $ref: "../../definitions/SOL005_def.yaml#/definitions/String" protocol: description: > - Indicates the L4 protocol, For IPv4 [7] this + Indicates the L4 protocol, For IPv4 this corresponds to the field called "Protocol" to identify - the next level protocol. For IPv6 [28] this + the next level protocol. For IPv6 this corresponds to the field is called the "Next Header" field. Permitted values: Any keyword defined in the IANA - protocol registry [1], e.g.: + protocol registry, e.g.: TCP UDP ICMP @@ -3171,10 +3176,10 @@ definitions: - ICMP dscp: description: > - For IPv4 [7] a string of "0" and "1" digits that + For IPv4 a string of "0" and "1" digits that corresponds to the 6-bit Differentiated Services Code Point (DSCP) field of the IP header. - For IPv6 [28] a string of "0" and "1" digits that + For IPv6 a string of "0" and "1" digits that corresponds to the 6 differentiated services bits of the traffic class header field. @@ -4053,6 +4058,15 @@ definitions: ScaleNsData: description: > This type represents the information to scale a NS. + NOTE 1: No more than two attributes between vnfInstanceToBeAdded, + vnfInstanceToBeRemoved, scaleNsByStepsData and scaleNsToLevelData shall be present. + In case of two, the attributes shall be vnfInstanceToBeAdded and vnfInstanceToBeRemoved. + NOTE 2: The DF of the VNF instance shall match the VNF DF present in the associated VNF + Profile of the new NS flavour. + NOTE 3: This functionality is the same as the one provided by the Update NS operation when + the AddVnf update type is selected (see clause 7.3.5). + NOTE 4: This functionality is the same as the one provided by the Update NS operation when + the RemoveVnf update type is selected (see clause 7.3.5). type: object properties: vnfInstanceToBeAdded: @@ -4061,6 +4075,7 @@ definitions: instance as part of the scaling operation. If needed, the VNF Profile to be used for this VNF instance may also be provided. + See note 1, note 2 and note 3. type: array items: $ref: "#/definitions/VnfInstanceData" @@ -4068,6 +4083,7 @@ definitions: description: > The VNF instance to be removed from the NS instance as part of the scaling operation. + See note 1 and note 4. type: array items: $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" @@ -4075,10 +4091,12 @@ definitions: description: > The information used to scale an NS instance by one or more scaling steps. + See note 1. $ref: "#/definitions/ScaleNsByStepsData" scaleNsToLevelData: description: > The information used to scale an NS instance to a target size. + See note 1. $ref: "#/definitions/ScaleNsToLevelData" additionalParamsForNs: description: > @@ -4120,6 +4138,14 @@ definitions: description: > This type represents defines the information to scale a VNF instance to a given level, or to scale a VNF instance by steps. + NOTE 1: ETSI GS NFV-IFA 010 (available at https://www.etsi.org/deliver/etsi_gs/NFV-IFA/001_099/010/03.02.01_60/gs_NFV-IFA010v030201p.pdf) + specifies that the lifecycle management operations that expandor contract a VNF instance + include scale in, scale out, scale up and scale down. Vertical scaling (scale up, scale down) + is not supported in the present document. + NOTE 2: Either scaletoLevelData or scaleByStepData but not both shall be present. The scaleByStepData + is used for scale out/in type of scaling, and the scaleToLevelData is used for scale to instantiation/scale + level type of scaling. + type: object required: - vnfInstanceId @@ -4143,7 +4169,7 @@ definitions: - SCALE_TO_INSTANTIATION_LEVEL - SCALE_TO_SCALE_LEVEL(S) The set of types actually supported depends on the - capabilities of the VNF being managed. + capabilities of the VNF being managed. See note 1. type: string enum: - SCALE_OUT @@ -4156,7 +4182,7 @@ definitions: $ref: "#/definitions/ScaleToLevelData" scaleByStepData: description: > - The information used for scaling by steps. + The information used for scaling by steps. See note 2. $ref: "#/definitions/ScaleByStepData" ScaleNsByStepsData: @@ -4196,6 +4222,7 @@ definitions: an NS instantiation level or as a list of NS scale levels, one per NS scaling aspect, of the current DF. The NS instantiation levels, the NS scaling aspects and their corresponding NS scale levels applicable to the NS instance are declared in the NSD. + NOTE: Either nsInstantiationLevel or nsScaleInfo, but not both, shall be present. type: object oneOf: - required: @@ -4206,12 +4233,12 @@ definitions: nsInstantiationLevel: description: > Identifier of the target NS instantiation level of the - current DF to which the NS instance is requested to be scaled. + current DF to which the NS instance is requested to be scaled. See note. $ref: "#/definitions/IdentifierInNsd" nsScaleInfo: description: > For each NS scaling aspect of the current DF, defines - the target NS scale level to which the NS instance is to be scaled. + the target NS scale level to which the NS instance is to be scaled. See note. type: array items: $ref: "#/definitions/NsScaleInfo" @@ -4221,7 +4248,8 @@ definitions: This type describes the information used to scale a VNF instance to a target size. The target size is either expressed as an instantiation level of that DF as defined in the VNFD, or given as a list of scale levels, one per scaling aspect of that DF. Instantiation levels and scaling aspects are declared in the VNFD. The NFVO shall then invoke the - ScaleVnfToLevel operation towards the appropriate VNFM.. + ScaleVnfToLevel operation towards the appropriate VNFM. + NOTE: Either the instantiationLevelId attribute or the scaleInfo attribute shall be included. type: object anyOf: - required: @@ -4232,13 +4260,13 @@ definitions: vnfInstantiationLevelId: description: > Identifier of the target instantiation level of the current - deployment flavor to which the VNF is requested to be scaled. + deployment flavor to which the VNF is requested to be scaled. See note. $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" vnfScaleInfo: description: > For each scaling aspect of the current deployment flavor, indicates the target scale level to which the VNF - is to be scaled. + is to be scaled. See note. type: array items: $ref: "#/definitions/VnfScaleInfo" @@ -4253,6 +4281,7 @@ definitions: This type describes the information to scale a VNF instance by steps. The NFVO shall then invoke the Scale VNF operation towards the appropriate VNFM. + NOTE: A scaling step is the smallest unit by which a VNF instance can be scaled w.r.t a particular scaling aspect. type: object required: - aspectId @@ -4269,7 +4298,7 @@ definitions: The VNF provider defines in the VNFD whether or not a particular VNF supports performing more than one step at a time. Such a property in the VNFD applies for all - instances of a particular VNF. + instances of a particular VNF. See note. type: integer default: 1 additionalParams: -- GitLab From 002c3d977afe3837b91e220929aa05a207819b51 Mon Sep 17 00:00:00 2001 From: piscione Date: Fri, 7 May 2021 12:17:22 +0200 Subject: [PATCH 54/70] SOL005_81 to SOL005_90 --- .../SOL005NSLifecycleManagement_def.yaml | 111 ++++++++++++------ 1 file changed, 73 insertions(+), 38 deletions(-) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index f885aa9..8246c7b 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -806,6 +806,8 @@ definitions: VnffgInfo: description: > Information on the VNFFG(s) of the NS instance. + NOTE: It indicates an exhaustive list of all the + CP instances and SAP instances of the VNFFG. type: object required: - id @@ -852,6 +854,9 @@ definitions: description: > This type represents an NFP instance. It shall comply with the provisions defined in Table 6.5.3.66-1. + NOTE: When multiple identifiers are included, the position + of the identifier in the CpGroup data type specifies the + position of the group in the path. type: object required: - id @@ -879,9 +884,7 @@ definitions: cpGroup: description: > Group(s) of CPs and/or SAPs which the NFP passes through. - When multiple identifiers are included, the position of - the identifier in the CpGroup data type specifies the - position of the group in the path. + See note. type: array minItems: 1 items: @@ -910,6 +913,10 @@ definitions: This type represents an identifier of the CP or SAP instance. It shall comply with the provisions defined in Table 6.5.3.56-1. + NOTE 1: For the VNF external CP instance, both vnfInstanceId and vnfExtCpInstanceId shall be present as a pair. + NOTE 2: For the PNF external CP instance, both pnfInfoId and PnfExtCpInstanceId shall be present as a pair. + NOTE 3: For the SAP instance, both nsInstanceId and nsSapInstanceId shall be present as a pair. + NOTE 4: One pair of identifiers (VNF external CP, PNF external CP or SAP) shall be present. type: object oneOf: - required: @@ -926,6 +933,7 @@ definitions: description: > Identifier of the VNF instance associated to the CP instance. This attribute shall be present if the CP instance is VNF external CP. + See note 1 and note 4. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" vnfExtCpInstanceId: description: > @@ -1047,6 +1055,11 @@ definitions: description: > This type represents information about an external CP of a VNF. It shall comply with the provisions defined in Table 6.5.3.70-1. + NOTE 1: The attributes "associatedVnfcCpId", "associatedVipCpId" and + "associatedVnfVirtualLinkId" are mutually exclusive. Exactly one shall be present. + NOTE 2: An external CP instance is not associated to a link + port in the cases indicated for the ā€œextLinkPortsā€ attribute in clause 6.5.3.26. + type: object required: - id @@ -1088,8 +1101,7 @@ definitions: description: > Identifier of the "extLinkPortInfo" structure inside the "extVirtualLinkInfo" structure. Shall be present if the CP is associated to a link port. - An external CP instance is not associated to a link port in the cases indicated - for the ā€œextLinkPortsā€ attribute in clause 6.5.3.26. + See note 2. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" metadata: description: > @@ -1104,6 +1116,13 @@ definitions: The attributes "associatedVnfcCpId", "associatedVipCpId" and "associatedVnfVirtualLinkId" are mutually exclusive. Exactly one shall be present. $ref: "#/definitions/IdentifierInVnf" + associatedVipCpId: + description: > + Identifier of the VIP CP instance that is exposed as this VnfExtCp instance, either + directly or via a floating IP address, and the related "VipCpInfo" structure + in "VnfInstance". Shall be present if the cpdId of this VnfExtCp has a vipCpd + attribute. See note 1. + $ref: "#/definitions/IdentifierInVnf" associatedVnfVirtualLinkId: description: > Identifier of the "VnfVirtualLinkResourceInfo" structure that represents @@ -1229,6 +1248,9 @@ definitions: description: > This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. + NOTE: This attribute allows to signal the addition of further types of layer and + protocol in future versions of the present document in a backwards-compatible way. + In the current version of the present document, only IP over Ethernet is supported. type: object required: - layerProtocol @@ -1440,7 +1462,11 @@ definitions: ExtLinkPortInfo: description: > This type represents information about a link port of an external VL, - i.e. a port providing connectivity for the VNF to an NS VL. + i.e. a port providing connectivity for the VNF to an NS VL. + NOTE 1: The use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 + provide examples for such a configuration. + NOTE 2: The value of "trunkResourceId" is scoped by the value of + "vimConnectionId" in the "resourceHandle" attribute. type: object required: - id @@ -1468,14 +1494,16 @@ definitions: If present, this attribute shall refer to a "secondary" ExtCpInfo item in the VNF instance that exposes a virtual IP CP instance which shares this linkport with the external CP instance referenced by the "cpInstanceId" attribute. - The use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. + + See note 1. $ref: "#/definitions/IdentifierInVnf" trunkResourceId: description: > Identifier of the trunk resource in the VIM. Shall be present if the present link port corresponds to the parent port that the trunk resource is associated with. - The value of "trunkResourceId" is scoped by the value of "vimConnectionId" in the "resourceHandle" attribute. + + See note 2. $ref: "#/definitions/IdentifierInVim" ExtManagedVirtualLinkInfo: @@ -1522,6 +1550,19 @@ definitions: VnfLinkPortInfo: type: object + description: > + This type represents a link port of an internal VL of a VNF. + It shall comply with the provisions defined in table 6.5.3.64-1. + NOTE 1: Either cpInstanceId with cpInstanceType set to "EXT_CP" + or any combination of cpInstanceId with cpInstanceType set to "VNFC_CP" + and vipCpInstanceId (i.e. one or both of them) shall be present + for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType. + NOTE 2: Annex A.4 of ETSI GS NFV-IFA 007 [19] provides examples for + configurations where both vipCpInstanceId and vnfcCpInstanceId are + present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), + or only vipCpInstanceId is present (UC#6 and UC#6-b). + NOTE 3: The value of "trunkResourceId" is scoped by the value of + "vimConnectionId" in the "resourceHandle" attribute. required: - id - resourceHandle @@ -1550,11 +1591,7 @@ definitions: (i.e. VNFC CP) instance. The value refers to an "extCpInfo" item in the VnfInstance or a "vnfcCpInfo" item of a "vnfcResouceInfo" item in the VnfInstance. - Either cpInstanceId with cpInstanceType set to "EXT_CP" or any combination - of cpInstanceId with cpInstanceType set to "VNFC_CP" and vipCpInstanceId - (i.e. one or both of them) shall be present for a VnfLinkPortInfo. In case - both cpInstanceId with cpInstanceType set to "VNFC_CP" and vipCpInstanceId - are present, the two different CP instances share the linkport. + See note 1. $ref: "#/definitions/IdentifierInVnf" cpInstanceType: description: > @@ -1564,11 +1601,7 @@ definitions: Permitted values: * VNFC_CP: The link port is connected to a VNFC CP * EXT_CP: The link port is associated to an external CP. - Either cpInstanceId with cpInstanceType set to "EXT_CP" or any combination - of cpInstanceId with cpInstanceType set to "VNFC_CP" and vipCpInstanceId - (i.e. one or both of them) shall be present for a VnfLinkPortInfo. In case - both cpInstanceId with cpInstanceType set to "VNFC_CP" and vipCpInstanceId - are present, the two different CP instances share the linkport. + See note 1. type: string enum: - VNFC_CP @@ -1576,20 +1609,14 @@ definitions: vipCpInstanceId: description: > VIP CP instance of the VNF connected to this link port. May be present. - Either cpInstanceId with cpInstanceType set to "EXT_CP" or any combination of cpInstanceId with - cpInstanceType set to "VNFC_CP" and vipCpInstanceId (i.e. one or both of them) shall be present - for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to "VNFC_CP" and vipCpInstanceId - are present, the two different CP instances share the linkport. - Annex A.4 of ETSI GS NFV-IFA 007 [19] provides examples for configurations where both vipCpInstanceId - and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or only - vipCpInstanceId is present (UC#6 and UC#6-b). + See notes 1 and 2. $ref: "#/definitions/IdentifierInVnf" trunkResourceId: description: > Identifier of the trunk resource in the VIM. Shall be present if the present link port corresponds to the parent port that the trunk resource is associated with. - The value of "trunkResourceId" is scoped by the value of "vimConnectionId" in the "resourceHandle" attribute. + See note 3. $ref: "#/definitions/IdentifierInVim" MonitoringParameter: @@ -1626,6 +1653,14 @@ definitions: description: > This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance. + NOTE 1: ETSI GS NFV-SOL 001 (Available at + https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/001/03.03.01_60/gs_NFV-SOL001v030301p.pdf) + specifies the structure and format of the VNFD based on TOSCA specifications. + NOTE 2: A VNFC CP is "connected to" an external CP if the VNFC CP + is connected to an internal VL that exposes an external CP. A VNFC CP + is "exposed as" an external CP if it is connected directly to an external VL. + NOTE 3: The information can be omitted because it is already available + as part of the external CP information. type: object required: - id @@ -1644,7 +1679,7 @@ definitions: $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" vduId: description: > - Reference to the applicable VDU in the VNFD. + Reference to the applicable VDU in the VNFD. See note 1. $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" computeResource: description: > @@ -1667,11 +1702,8 @@ definitions: CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is exposed as an external CP of the VNF instance or is connected to - an external CP of the VNF instance. - A VNFC CP is "connected to" an external CP if the VNFC CP is - connected to an internal VL that exposes an external CP. A VNFC - CP is "exposed as" an external CP if it is connected directly to - an external VL. May be present otherwise. + an external CP of the VNF instance.See note 2. + May be present otherwise. type: array items: type: object @@ -1686,20 +1718,20 @@ definitions: $ref: "#/definitions/IdentifierInVnf" cpdId: description: > - Identifier of the VDU CPD, cpdId, in the VNFD. + Identifier of the VDU CPD, cpdId, in the VNFD. See note 1. $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" vnfExtCpId: description: > - Identifier of the related external CP. Shall be present when the VNFC CP is exposed as an external CP - of the VNF instance or connected to an external CP of the VNF instance and shall be absent otherwise. - A VNFC CP is "connected to" an external CP if the VNFC CP is connected to an internal VL that exposes - an external CP. A VNFC CP is "exposed as" an external CP if it is connected directly to an external VL. + Identifier of the related external CP. Shall be present when + the VNFC CP is exposed as an external CP of the VNF instance + or connected to an external CP of the VNF instance (see note 2) + and shall be absent otherwise. $ref: "#/definitions/IdentifierInVnf" cpProtocolInfo: description: > Network protocol information for this CP. May be omitted if the VNFC CP is exposed as an external CP. - The information can be omitted because it is already available as part of the external CP information. + See note 3. type: array items: $ref: "#/definitions/CpProtocolInfo" @@ -1814,6 +1846,9 @@ definitions: description: > This type represents information about a link port of a VL instance. It shall comply with the provisions defined in Table 6.5.3.55-1. + NOTE: When the NsVirtualLink, from which the present NsLinkPort is part of, + is provided as an ExtVirtualLink as input of a VNF LCM operation, the id + of the ExtLinkPort shall be the same as the corresponding NsLinkPort. type: object required: - id -- GitLab From 33ed141c4cdeb1a4977443f90f8796b338a22b5c Mon Sep 17 00:00:00 2001 From: piscione Date: Fri, 7 May 2021 12:43:12 +0200 Subject: [PATCH 55/70] SOL005_91 to SOL005_101 --- .../SOL005NSLifecycleManagement_def.yaml | 85 +++++++++++-------- 1 file changed, 51 insertions(+), 34 deletions(-) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index 8246c7b..5016bb2 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -1139,6 +1139,9 @@ definitions: This type represents describes a group of CPs and/or SAPs pairs associated to the same position in an NFP. It shall comply with the provisions defined in Table 6.5.3.71-1. + NOTE: All CP or SAP pairs in a group shall be instantiated from connection + point descriptors or service access point descriptors referenced in the corresponding + NfpPositionDesc. type: object properties: cpPairInfo: @@ -1147,6 +1150,8 @@ definitions: All CP or SAP pairs in a group shall be instantiated from connection point descriptors or service access point descriptors referenced in the corresponding NfpPositionDesc. + + See note. type: array minItems: 1 items: @@ -1174,14 +1179,16 @@ definitions: description: > This type represents describes a pair of ingress and egress CPs or SAPs which the NFP passes by. It shall comply with the provisions defined in Table 6.5.3.72-1. + + NOTE 1: The presence of a single vnfExpCpId, pnfExtCpId, or sapId occurrence indicates that the CP or SAP is used both as an ingress and egress port at a particular NFP position. + NOTE 2: Only one of these three attributes shall be present. type: object properties: vnfExtCpIds: description: > Identifier(s) of the VNF CP(s) which form the pair. - The presence of a single vnfExpCpId, pnfExtCpId, or sapId occurrence indicates - that the CP or SAP is used both as an ingress and egress port at a particular - NFP position. + + See note 1 and note 2. type: array maxItems: 2 items: @@ -1189,9 +1196,8 @@ definitions: pnfExtCpIds: description: > Identifier(s) of the PNF CP(s) which form the pair. - The presence of a single vnfExpCpId, pnfExtCpId, or sapId occurrence indicates - that the CP or SAP is used both as an ingress and egress port at a particular - NFP position. + + See note 1 and note 2. type: array maxItems: 2 items: @@ -1199,9 +1205,8 @@ definitions: sapIds: description: > Identifier(s) of the SAP(s) which form the pair. - The presence of a single vnfExpCpId, pnfExtCpId, or sapId occurrence indicates - that the CP or SAP is used both as an ingress and egress port at a particular - NFP position. + + See note 1 and note 2. type: array maxItems: 2 items: @@ -1211,6 +1216,8 @@ definitions: description: > This type represents provides input parameters to configure the forwarding behaviour. It shall comply with the provisions defined in Table 6.5.3.73-1. + NOTE 1: If applicable to the algorithm but not provided, default values determined by the VIM or NFVI are expected to be used. + NOTE 2: Weight applies to the CP instances in the order they have been created. type: object properties: algortihmName: @@ -1237,9 +1244,7 @@ definitions: description: > Percentage of messages sent to a CP instance. May be included if applicable to the algorithm. - If applicable to the algorithm but not provided, default values determined by - the VIM or NFVI are expected to be used. - Weight applies to the CP instances in the order they have been created. + See note 1 and note 2. type: array items: type: integer @@ -5274,6 +5279,7 @@ definitions: description: | This type provides information about the connectivity to the WAN of network resources realizing a VL, e.g., when the VL is deployed on several sites across a WAN. It shall comply with the provisions defined in table 6.5.3.90-1. + NOTE: Either a "nsVirtualLinkInfoId" or a "vnfVirtualLinkResourceInfoId" shall be provided, but not both. type: object required: - wanConnectionInfoId @@ -5291,13 +5297,13 @@ definitions: description: > References the NS VL instance to which the connection information is associated. Shall be present if a corresponding NS VL instance has been created. - Either a "nsVirtualLinkInfoId" or a "vnfVirtualLinkResourceInfoId" shall be provided, but not both. + See note. $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInNs" vnfVirtualLinkResourceInfoId: description: > References the VNF VL instance to which the connection information is associated. Shall be present if a corresponding VNF VL instance has been created. - Either a "nsVirtualLinkInfoId" or a "vnfVirtualLinkResourceInfoId" shall be provided, but not both. + See note. $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInNs" protocolInfo: description: > @@ -5329,6 +5335,7 @@ definitions: description: | This type provides information used to connect the comprising network resources realizing a VL, e.g., when the VL is deployed on several sites and across a WAN. It shall comply with the provisions defined in table 6.5.3.80-1. + NOTE: Either a "nsVirtualLink" or a "vnfVirtualLink" shall be provided, but not both. type: object required: - protocolData @@ -5341,7 +5348,7 @@ definitions: nsVirtualLink: description: > Information used to identify the NS VL for which the WAN connectivity data is applicable. - Either a "nsVirtualLink" or a "vnfVirtualLink" shall be provided, but not both. + See note. type: object required: - nsVirtualLinkDescId @@ -5350,6 +5357,7 @@ definitions: nsVirtualLinkDescId: description: > Identifier of the VLD in the NSD from which the VL is created in the case of a multi-site NS VL. + See note. $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInNsd" nsVirtualLinkProfileId: description: > @@ -5516,6 +5524,14 @@ definitions: VnfcSnapshotInfo: description: > This type represents a VNFC Snapshot. It shall comply with the provisions defined in table 6.5.3.77-1. + NOTE 1: The identifier of the compute snapshot resource is assigned during creation of a VNFC + Snapshot being returned from the VIM as output data in the response message of the individual resource + operations. This attribute shall only be present for a VNFC snapshot that has been newly created by the + VNFM as a result of the "Create VNF snapshot task". + NOTE 2: The identifier of the storage snapshot resource is assigned during creation of a VNFC snapshot + being returned from the VIM as output data in the response message of the individual resource operations. + This attribute shall only be present for a VNFC snapshot with an associated storage resource and that + has been newly created by the VNFM as a result of the "Create VNF snapshot task". type: object required: - id @@ -5550,15 +5566,12 @@ definitions: computeSnapshotResource: description: > Reference to a compute snapshot resource. - The identifier of the compute snapshot resource is assigned during creation of a VNFC Snapshot being returned - from the VIM as output data in the response message of the individual resource operations. - This attribute shall only be present for a VNFC snapshot that has been newly created by the VNFM as a result - of the "Create VNF snapshot task". + See note 1. $ref: "../../definitions/SOL005_def.yaml#/definitions/ResourceHandle" storageSnapshotResources: description: > Reference to the "VirtualStorageResourceInfo" structure in the "VnfInstance" structure that represents - the virtual storage resource. + the virtual storage resource. See note 2. type: array items: type: object @@ -5674,6 +5687,8 @@ definitions: about both pre-provisioned WAN connectivity realized by external entities to NFV-MANO, as well as for the creation of MSCS under NFV-MANO responsibility (i.e., when connectivity is realized when NFVO communicates with the WIM). It shall comply with the provisions defined in table 6.5.3.81-1. + NOTE: At least one of these attributes shall be present. Annex E documents the applicability of certain attributes + depending on the WAN and NFVI-PoP network management and the responsibilities of NFV-MANO in its provisioning. type: object anyOf: - required: @@ -5686,22 +5701,19 @@ definitions: mscsInfo: description: > Information about the pre-provisioned multi-site connectivity service (MSCS), if already available. - At least one of these attributes shall be present. Annex E documents the applicability of certain attributes - depending on the WAN and NFVI-PoP network management and the responsibilities of NFV-MANO in its provisioning. + See note. $ref: "#/definitions/MscsInfo" connectivityServiceEndpointConfigDatas: description: > Configuration data for the network resources in the NFVI-PoP. - At least one of these attributes shall be present. Annex E documents the applicability of certain attributes - depending on the WAN and NFVI-PoP network management and the responsibilities of NFV-MANO in its provisioning. + See note. type: array items: $ref: "#/definitions/ConnectivityServiceEndpointInfo" mscsConfigData: description: > Configuration data for the provisioning of the MSCS, if such MSCS is to be created by NFV-MANO. - At least one of these attributes shall be present. Annex E documents the applicability of certain attributes - depending on the WAN and NFVI-PoP network management and the responsibilities of NFV-MANO in its provisioning. + See note. $ref: "#/definitions/MscsConfigData" MscsInfo: @@ -5862,6 +5874,7 @@ definitions: This type provides information about Layer 2 protocol specific information for the configuration of the NFVI-PoP network gateway to enable the stitching of the intra-site VN to the MSCS over the WAN. It shall comply with the provisions defined in Table 6.5.3.85-1. + NOTE: Either "networkResources" or "vnSegmentsIds" shall be provided, but not both. type: object required: - layer2ConnectionInfo @@ -6035,7 +6048,7 @@ definitions: networkResources: description: > Reference to the VN resource to be forwarded into/from the MSCS. - Either "networkResources" or "vnSegmentsIds" shall be provided, but not both. + See note. type: array items: $ref: "../../definitions/SOL005_def.yaml#/definitions/ResourceHandle" @@ -6447,6 +6460,8 @@ definitions: description: > This type specifies the parameters used for the creation of a new NsVirtualLink instance. It shall comply with the provisions defined in table 6.5.3.95-1. + NOTE: All NsVirtualLink instances of a particular NS DF based on a specific "NsVirtualLinkDesc" + have the same characteristics as they use the same "VirtualLinkProfile". type: object required: - nsVirtualLinkProfileId @@ -6454,8 +6469,7 @@ definitions: nsVirtualLinkProfileId: description: > Identifier of the virtual link profile to be used to create a new NsVirtualLink instance. - All NsVirtualLink instances of a particular NS DF based on a specific "NsVirtualLinkDesc" - have the same characteristics as they use the same "VirtualLinkProfile". + See note. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" NestedNsLocationConstraint: @@ -6496,6 +6510,7 @@ definitions: TerminateVnfData: description: > This type represents the information to terminate a VNF that is part of an NS. + NOTE: If the VNF is still in service, requesting forceful termination can adversely impact network service. type: object required: - vnfInstanceId @@ -6507,8 +6522,7 @@ definitions: terminationType: description: > Indicates whether forceful or graceful termination is requested. - If the VNF is still in service, requesting forceful termination can - adversely impact network service. + See note. Permitted values: - FORCEFUL - GRACEFUL @@ -6538,6 +6552,11 @@ definitions: $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" VipCpInfo: + description: > + This type provides information related to virtual IP (VIP) CP. It shall comply with the provisions + defined in table 6.5.3.97 1. + NOTE: It is possible that there is no associated VnfcCp because the VIP CP is available + but not associated yet. type: object required: - cpInstanceId @@ -6563,9 +6582,7 @@ definitions: $ref: "#/definitions/CpProtocolInfo" associatedVnfcCpIds: description: > - Identifiers of the VnfcCps that share the virtual IP addresse allocated to the VIP CP instance. - - It is possible that there is no associated VnfcCp because the VIP CP is available but not associated yet. + Identifiers of the VnfcCps that share the virtual IP addresse allocated to the VIP CP instance. See note. type: array items: $ref: "#/definitions/IdentifierInVnf" -- GitLab From b3d584673e9602763171bbd49ef22f48dc87f62a Mon Sep 17 00:00:00 2001 From: piscione Date: Fri, 7 May 2021 14:07:35 +0200 Subject: [PATCH 56/70] SOL005_102 to SOL005_110 --- .../SOL005NSFaultManagement_def.yaml | 15 ++-- .../SOL005NSPerformanceManagement_def.yaml | 77 +++++++++---------- ...PerformanceManagementNotification_def.yaml | 11 +-- .../SOL005VNFPackageManagement_def.yaml | 7 +- 4 files changed, 53 insertions(+), 57 deletions(-) diff --git a/src/SOL005/NSFaultManagement/definitions/SOL005NSFaultManagement_def.yaml b/src/SOL005/NSFaultManagement/definitions/SOL005NSFaultManagement_def.yaml index f486114..3c3e86c 100644 --- a/src/SOL005/NSFaultManagement/definitions/SOL005NSFaultManagement_def.yaml +++ b/src/SOL005/NSFaultManagement/definitions/SOL005NSFaultManagement_def.yaml @@ -208,7 +208,9 @@ definitions: All attributes shall match in order for the filter to match (logical "and" between different filter attributes). If an attribute is an array, the attribute shall match if at least - one of the values in the array matches (logical "or" between the values of one filter attribute).. + one of the values in the array matches (logical "or" between the values of one filter attribute). + NOTE: The permitted values of the "notificationTypes" attribute are spelled exactly as the names + of the notification types to facilitate automated code generation systems. type: object properties: nsInstanceSubscriptionFilter: @@ -222,6 +224,7 @@ definitions: - AlarmNotification - AlarmClearedNotification - AlarmListRebuiltNotification. + See note. type: array items: type: string @@ -361,19 +364,19 @@ definitions: FaultyComponentInfo: description: > This type represents the faulty component that has a negative impact on an NS. - It shall comply with the provisions - defined in Table 8.5.3.4-1. + It shall comply with the provisions defined in Table 8.5.3.4-1. + NOTE: At least one of the attributes shall be present. type: object properties: faultyNestedNsInstanceId: description: > - Identifier of the faulty nested NS instance. + Identifier of the faulty nested NS instance. See note. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" faultyResourceType: description: > - Identifier of the faulty NS virtual link instance. + Identifier of the faulty NS virtual link instance. See note. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" faultyNsVirtualLinkInstanceId: description: > - Identifier of the faulty VNF instance. + Identifier of the faulty VNF instance. See note. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" \ No newline at end of file diff --git a/src/SOL005/NSPerformanceManagement/definitions/SOL005NSPerformanceManagement_def.yaml b/src/SOL005/NSPerformanceManagement/definitions/SOL005NSPerformanceManagement_def.yaml index 457626d..941446a 100644 --- a/src/SOL005/NSPerformanceManagement/definitions/SOL005NSPerformanceManagement_def.yaml +++ b/src/SOL005/NSPerformanceManagement/definitions/SOL005NSPerformanceManagement_def.yaml @@ -332,6 +332,14 @@ definitions: to the OSS/BSS as a result of collecting performance information as part of a PM job. The type shall comply with the provisions defined in Table 7.5.2.10-1. + NOTE: The sub-object allows to structure the measured object but is not to be confused with sub-counters which allow to structure the measurement value. + + EXAMPLE: Measured object: VnfInstanceXYZ + Sub-object: VnfcInstance1 + Measurement: vCPU_utilization + Sub-counters: vCPU utilization of each of the vCPUs of VnfcInstance1 + (vCPU_utilization.vCPU1, vCPU_utilization.vCPU2, etc.). + type: object required: - entries @@ -367,18 +375,7 @@ definitions: Identifier of the sub-object instance of the measured object instance for which the performance metric is reported. Shall be present if this is required in clause 6.2 of - ETSI GS NFV-IFA 027 for the related measured object type. - - The sub-object allows to structure the measured object but is - not to be confused with sub-counters which allow to structure - the measurement value. - - EXAMPLE: - Measured object: VnfInstanceXYZ - Sub-object: VnfcInstance1 - Measurement: vCPU_utilization - Sub-counters: vCPU utilization of each of the vCPUs of VnfcInstance1 - (vCPU utilization.vCPU1, vCPU_utilization.vCPU2, etc.). + ETSI GS NFV-IFA 027 for the related measured object type. See note. type: array items: $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInNs" @@ -419,6 +416,7 @@ definitions: description: > This type represents modifications to a PM job. It shall comply with the provisions defined in Table 7.5.2.12-1. + NOTE: At least one of the attributes defined in this type shall be present in request bodies. type: object anyOf: - required: @@ -429,7 +427,7 @@ definitions: callbackUri: description: > New value of the "callbackUri" attribute. The value "null" is not permitted. - At least one of the attributes defined in this type shall be present in request bodies. + See note. $ref: "../../definitions/SOL005_def.yaml#/definitions/Uri" authentication: description: > @@ -437,13 +435,14 @@ definitions: If present in a request body, these modifications shall be applied according to the rules of JSON Merge Patch (see IETF RFC 7396). This attribute shall not be present in response bodies. - At least one of the attributes defined in this type shall be present in request bodies. + See note. $ref: "../../definitions/SOL005_def.yaml#/definitions/SubscriptionAuthentication" ThresholdModifications: description: > This type represents modifications to a threshold. It shall comply with the provisions defined in Table 7.5.2.11-1. + NOTE: At least one of the attributes defined in this type shall be present in request bodies. type: object anyOf: - required: @@ -454,7 +453,7 @@ definitions: callbackUri: description: > New value of the "callbackUri" attribute. The value "null" is not permitted. - At least one of the attributes defined in this type shall be present in request bodies. + See note. $ref: "../../definitions/SOL005_def.yaml#/definitions/Uri" authentication: description: > @@ -463,6 +462,7 @@ definitions: the rules of JSON Merge Patch (see IETF RFC 7396). This attribute shall not be present in response bodies. At least one of the attributes defined in this type shall be present in request bodies. + See note. $ref: "../../definitions/SOL005_def.yaml#/definitions/SubscriptionAuthentication" # PmNotificationsFilter: @@ -501,6 +501,16 @@ definitions: description: > This type represents collection criteria for PM jobs. It shall comply with the provisions defined in Table 7.5.3.3-1. + + NOTE 1: At the end of each reportingPeriod, the API producer + inform the API consumer about availability of the performance data + collected for each completed collection period during this reportingPeriod. + The reportingPeriod should be equal to or a multiple of the collectionPeriod. + In the latter case, the performance data for the collection periods within one. + + NOTE 2: In particular when choosing short collection and reporting periods, the number + of PM jobs that can be supported depends on the capability of the producing entity. + reporting period are reported together. type: object required: - collectionPeriod @@ -532,16 +542,7 @@ definitions: description: > Specifies the periodicity at which the API producer will collect performance information. The unit - shall be seconds. - At the end of each reportingPeriod, the API producer will inform - the API consumer about availability of the performance data collected - for each completed collection period during this reportingPeriod. - The reportingPeriod should be equal to or a multiple of the collectionPeriod. - In the latter case, the performance data for the collection periods - within one reporting period are reported together. - In particular when choosing short collection and reporting periods, - the number of PM jobs that can be supported depends on the capability - of the producing entity. + shall be seconds. See note 1 and note 2. type: integer minimum: 0 default: 0 @@ -550,15 +551,7 @@ definitions: Specifies the periodicity at which the API producer will report to the API consumer. about performance information. The unit shall be seconds. - At the end of each reportingPeriod, the API producer will inform the - API consumer about availability of the performance data collected for - each completed collection period during this reportingPeriod. - The reportingPeriod should be equal to or a multiple of the collectionPeriod. - In the latter case, the performance data for the collection periods - within one reporting period are reported together. - In particular when choosing short collection and reporting periods, - the number of PM jobs that can be supported depends on the capability - of the producing entity. + See note 1 and note 2. type: integer minimum: 0 default: 0 @@ -573,6 +566,12 @@ definitions: ThresholdCriteria: description: > This type represents criteria that define a threshold. + NOTE 1: In the present document, simple thresholds are defined. + The definition of additional threshold types is left for future specification. + NOTE 2: The hysteresis is defined to prevent storms of threshold + crossing notifications. When processing a request to create a threshold, + implementations should enforce a suitable minimum value for this attribute + (e.g. override the value or reject the request). type: object required: - performanceMetric @@ -590,9 +589,7 @@ definitions: are present in the data structure. Permitted values: * SIMPLE: Single-valued static threshold - In the present document, simple thresholds are defined. The - definition of additional threshold types is left for future - specification. + See note 1. type: string enum: - SIMPLE @@ -619,9 +616,5 @@ definitions: "thresholdValue" + "hysteresis". A notification with crossing direction "DOWN" will be generated if the measured value reaches or undercuts "thresholdValue" - "hysteresis". - The hysteresis is defined to prevent storms of threshold - crossing notifications. When processing a request to create a - threshold, implementations should enforce a suitable minimum - value for this attribute (e.g. override the value or reject the - request). + See note 2. type: integer \ No newline at end of file diff --git a/src/SOL005/NSPerformanceManagementNotification/definitions/SOL005NSPerformanceManagementNotification_def.yaml b/src/SOL005/NSPerformanceManagementNotification/definitions/SOL005NSPerformanceManagementNotification_def.yaml index bbd7dd6..387f88b 100644 --- a/src/SOL005/NSPerformanceManagementNotification/definitions/SOL005NSPerformanceManagementNotification_def.yaml +++ b/src/SOL005/NSPerformanceManagementNotification/definitions/SOL005NSPerformanceManagementNotification_def.yaml @@ -96,9 +96,8 @@ definitions: ThresholdCrossedNotification: description: > This type represents a notification that is sent when a threshold has been crossed. - NOTE: The timing of sending this notification is determined by the capability of - the producing entity to evaluate the threshold crossing condition. - The notification shall be triggered by the NFVO when a threshold has been crossed. + NOTE: The sub-object allows to structure the measured object but is not to be confused + with sub-counters which allow to structure the measurement. type: object required: - id @@ -117,7 +116,7 @@ definitions: Identifier of this notification. If a notification is sent multiple times due to multiple subscriptions, the "id" attribute of all these - notifications shall have the same value.. + notifications shall have the same value. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" notificationType: description: > @@ -153,9 +152,7 @@ definitions: the measurement applies. Shall be present if this is required in clause 6.2 of ETSI GS NFV IFA 027 for the related measured object type. - The sub-object allows to structure the measured object but is - not to be confused with sub-counters which allow to structure - the measurement. + See note. $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInNs" performanceMetric: description: > diff --git a/src/SOL005/VNFPackageManagement/definitions/SOL005VNFPackageManagement_def.yaml b/src/SOL005/VNFPackageManagement/definitions/SOL005VNFPackageManagement_def.yaml index a6c7aab..27f0391 100644 --- a/src/SOL005/VNFPackageManagement/definitions/SOL005VNFPackageManagement_def.yaml +++ b/src/SOL005/VNFPackageManagement/definitions/SOL005VNFPackageManagement_def.yaml @@ -459,6 +459,9 @@ definitions: description: > This type represents modifications to the information of a VNF package. It shall comply with the provisions defined in Table 9.5.2.3-1. + NOTE: At least one of the two parameters shall be present. If the VNF package + is not on-boarded, the operation is used only to update existing or add additional + user defined data using the userDefinedData attribute. anyOf: - required: - operationalState @@ -468,11 +471,11 @@ definitions: operationalState: description: > New value of the operational state of the on-boarded - instance of the VNF package. + instance of the VNF package. See note. $ref: "#/definitions/PackageOperationalStateType" userDefinedData: description: > - User defined data to be updated. For existing keys, the value is replaced. + User defined data to be updated. For existing keys, the value is replaced. See note. $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" UploadVnfPkgFromUriRequest: -- GitLab From 9f1fc39f44d03fa56572d54577a8e4fcf4106d61 Mon Sep 17 00:00:00 2001 From: piscione Date: Fri, 7 May 2021 14:32:32 +0200 Subject: [PATCH 57/70] SOL005_111 to SOL005_119 --- .../NFVICapacityInformation_def.yaml | 40 ++++++++++++------- ...VICapacityInformationNotification_def.yaml | 3 +- .../SOL005VNFPackageManagement_def.yaml | 34 +++++++++++++++- ...OL005VNFSnapshotPackageManagement_def.yaml | 29 +++++--------- 4 files changed, 69 insertions(+), 37 deletions(-) diff --git a/src/SOL005/NFVICapacityInformation/definitions/NFVICapacityInformation_def.yaml b/src/SOL005/NFVICapacityInformation/definitions/NFVICapacityInformation_def.yaml index 15645ba..0416e51 100644 --- a/src/SOL005/NFVICapacityInformation/definitions/NFVICapacityInformation_def.yaml +++ b/src/SOL005/NFVICapacityInformation/definitions/NFVICapacityInformation_def.yaml @@ -37,6 +37,10 @@ components: type: object description: | This type represents a capacity threshold. It shall comply with the provisions defined in table 10.5.2.8-1. + NOTE 1: The "objectInstanceId" aims to identify the "Individual VIM's NFVI capacity information", which is + associated to a VIM instance. + NOTE 2: The "subObjectInstanceIds" aim to identify the resource zones in which the available NFVI capacity + crosses a threshold value. required: - id - objectInstanceId @@ -50,12 +54,13 @@ components: $ref: ../../definitions/SOL005_def.yaml#/definitions/Identifier objectInstanceId: description: | - Identifier of the VIM instance associated with the capacity threshold. + Identifier of the VIM instance associated with the capacity threshold. See note 1. $ref: ../../definitions/SOL005_def.yaml#/definitions/Identifier subObjectInstanceIds: description: | Identifiers of the sub-object instances of the measured object instance associate with this capacity threshold. If this attribute is absent, measurements are taken for all sub-object instances of the measured object instance. + See note 2. type: array items: $ref: ../../definitions/SOL005_def.yaml#/definitions/IdentifierInVim @@ -124,6 +129,12 @@ components: description: | This type represents criteria that define a capacity threshold. It shall comply with the provisions defined in table 10.5.3.3-1. + NOTE 1: In the present document, simple thresholds are defined. + The definition of additional threshold types is left for future specification. + NOTE 2: The hysteresis is defined to prevent storms of threshold crossing + notifications. When processing a request to create a threshold, implementations + should enforce a suitable minimum value for this attribute (e.g. override the + value or reject the request). required: - capacityMetric - thresholdType @@ -165,8 +176,7 @@ components: Type of capacity threshold. This attribute determines which other attributes are present in the data structure. Permitted values: - SIMPLE: Single-valued static threshold. - In the present document, simple thresholds are defined. The definition of additional threshold types is left - for future specification. + See note 1. type: string enum: - SIMPLE @@ -191,9 +201,7 @@ components: A notification with crossing direction "UP" will be generated if the measured value reaches or exceeds "thresholdValue" + "hysteresis". A notification with crossing direction "DOWN" will be generated if the measured value reaches or undercuts "thresholdValue" - "hysteresis". - The hysteresis is defined to prevent storms of threshold crossing notifications. - When processing a request to create a threshold, implementations should enforce a suitable minimum - value for this attribute (e.g. override the value or reject the request). + See note 2. type: number NfviCapacityInfoPerZone: @@ -219,21 +227,20 @@ components: type: object description: | This type defines the format of a time interval. The type shall comply with the provisions defined in table 10.5.2.7-1. + NOTE: When only the startTime is present, there is no time interval being defined, and therefore the provided timing + information refers to a specific point in time. required: - aTime properties: aTime: description: | - First date and time of the interval. - When only the startTime is present, there is no time interval being defined, and therefore the provided timing - information refers to a specific point in time. + First date and time of the interval. See note. $ref: ../../definitions/SOL005_def.yaml#/definitions/DateTime bTime: description: | Second date and time of the interval. Shall be present when a time interval is provided, and absent otherwise. When provided, the bTime shall be greater than aTime. - When only the startTime is present, there is no time interval being defined, and therefore the provided timing - information refers to a specific point in time. + See note. $ref: ../../definitions/SOL005_def.yaml#/definitions/DateTime NfviCapacityMeasurement: @@ -241,6 +248,8 @@ components: description: | This type defines the format of the NFVI capacity information on a per resource type basis. The type shall comply with the provisions defined in table 10.5.2.6-1. + NOTE: The present document and referred documents do not specify the capacity measurements, + thus the capacity measurement names are not specified in the present document version. required: - resourceType - capacityMeasurementName @@ -256,8 +265,7 @@ components: description: | Name of the capacity measurement. Different resource types can have different associated capacity measurements, typically associated to different sub-types of the resource type. - The present document and referred documents do not specify the capacity measurements, thus the capacity - measurement names are not specified in the present document version. + See note. type: string totalCapacity: description: | @@ -294,17 +302,19 @@ components: CapacityThresholdModifications: description: | This type represents modifications to a capacity threshold. It shall comply with the provisions defined in table 10.5.2.8-1. + NOTE: At least one of the attributes defined in this type shall be present in request bodies. type: object properties: callbackUri: description: | New value of the "callbackUri" attribute. The value "null" is not permitted. - At least one of the attributes defined in this type shall be present in request bodies. + See note. $ref: ../../definitions/SOL005_def.yaml#/definitions/Uri authentication: description: | New value of the "authentication" attribute, or "null" to remove the attribute. If present in a request body, these modifications shall be applied according to the rules of JSON Merge Patch (see IETF RFC 7396). + This attribute shall not be present in response bodies. - At least one of the attributes defined in this type shall be present in request bodies. + See note. $ref: ../../definitions/SOL005_def.yaml#/definitions/SubscriptionAuthentication \ No newline at end of file diff --git a/src/SOL005/NFVICapacityInformationNotification/definitions/SOL005NFVICapacityInformationNotification_def.yaml b/src/SOL005/NFVICapacityInformationNotification/definitions/SOL005NFVICapacityInformationNotification_def.yaml index eedad43..8537dab 100644 --- a/src/SOL005/NFVICapacityInformationNotification/definitions/SOL005NFVICapacityInformationNotification_def.yaml +++ b/src/SOL005/NFVICapacityInformationNotification/definitions/SOL005NFVICapacityInformationNotification_def.yaml @@ -7,6 +7,7 @@ components: description: | This notification informs the receiver that the available NFVI capacity has crossed below a threshold value or has re-covered from a capacity shortage. It shall comply with the provisions defined in Table 10.5.2.10-1. + NOTE: Refer to the definition of the "CapacityThreshold" in clause 10.5.2.7 required: - id - notificationType @@ -37,7 +38,7 @@ components: objectInstanceId: description: | Identifies the VIMā€™s NFVI capacity information instance (measured object instance) in which the available - NFVI capacity has crossed a threshold value. + NFVI capacity has crossed a threshold value. See note. $ref: ../../definitions/SOL005_def.yaml#/definitions/Identifier subObjectInstanceId: description: | diff --git a/src/SOL005/VNFPackageManagement/definitions/SOL005VNFPackageManagement_def.yaml b/src/SOL005/VNFPackageManagement/definitions/SOL005VNFPackageManagement_def.yaml index 27f0391..2309271 100644 --- a/src/SOL005/VNFPackageManagement/definitions/SOL005VNFPackageManagement_def.yaml +++ b/src/SOL005/VNFPackageManagement/definitions/SOL005VNFPackageManagement_def.yaml @@ -1,5 +1,15 @@ definitions: VnfPkgInfo: + description: > + This type represents the information of a VNF package. It shall comply with the provisions defined in table 9.5.2.5-1. + + NOTE 1: If the value of the onboardingState attribute is not equal to "ONBOARDED", the value of the + operationalState attribute shall be equal to "DISABLED". + NOTE 2: If the value of the onboardingState attribute is not equal to "ONBOARDED", the value of the + usageState attribute shall be equal to "NOT_IN_USE". + NOTE 3: State changes of a VNF package are illustrated in clause B.2. + NOTE 4: ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA + specifications. type: object required: - id @@ -103,15 +113,19 @@ definitions: $ref: "#/definitions/VnfPackageArtifactInfo" onboardingState: description: > - On-boarding state of the VNF package. + On-boarding state of the VNF package. See note 3. $ref: "#/definitions/PackageOnboardingStateType" operationalState: description: > Operational state of the VNF package. + + See note 1 and note 3. $ref: "#/definitions/PackageOperationalStateType" usageState: description: > Usage state of the VNF package. + + See note 2 and note 3. $ref: "#/definitions/PackageUsageStateType" vnfmInfo: description: > @@ -258,6 +272,8 @@ definitions: VnfPackageSoftwareImageInfo: description: > This type represents an artifact contained in or external to a VNF package which represents a software image. + NOTE 1: The list of permitted values was taken from "Container formats" in OpenStackĀ®: "Disk and container formats for images". + NOTE 2: The list of permitted values was adapted from "Disk formats" in OpenStackĀ®: "Disk and container formats for images". required: - id - name @@ -311,6 +327,8 @@ definitions: - DOCKER: docker container format - OVA: OVF package in a tar file - OVF: OVF container format + + See note 1. type: string enum: - AKI @@ -337,6 +355,8 @@ definitions: - VHD: a common disk image format - VHDX: enhanced version of VHD format - VMDK: a common disk image format + + See note 2. type: string enum: - AKI @@ -623,6 +643,13 @@ definitions: in order for the filter to match (logical "and" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical "or" between the values of one filter attribute). + + NOTE 1: The permitted values of the "notificationTypes" attribute are spelled exactly as the names + of the notification types to facilitate automated code generation systems. + NOTE 2: The attributes "vnfProductsFromProviders", "vnfdId", and "vnfPkgId" are alternatives to + reference particular VNF packages in a filter. They should not be used both in the same filter instance, + but one alternative should be chosen. + type: object oneOf: - required: @@ -638,6 +665,8 @@ definitions: Permitted values: - VnfPackageOnboardingNotification - VnfPackageChangeNotification + + See note 1. type: string enum: - VnfPackageOnboardingNotification @@ -645,6 +674,7 @@ definitions: vnfProductsFromProviders: description: > If present, match VNF packages that contain VNF products from certain providers. + See note 2. type: array items: type: object @@ -699,6 +729,7 @@ definitions: description: > Match VNF packages with a VNFD identifier listed in the attribute. + See note 2. type: array items: $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" @@ -710,6 +741,7 @@ definitions: attribute contains the value "VnfPackageChangeNotification", and shall be absent otherwise. + See note 2. type: array items: $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" diff --git a/src/SOL005/VNFSnapshotPackageManagement/definitions/SOL005VNFSnapshotPackageManagement_def.yaml b/src/SOL005/VNFSnapshotPackageManagement/definitions/SOL005VNFSnapshotPackageManagement_def.yaml index 1cb1cd6..170c4a6 100644 --- a/src/SOL005/VNFSnapshotPackageManagement/definitions/SOL005VNFSnapshotPackageManagement_def.yaml +++ b/src/SOL005/VNFSnapshotPackageManagement/definitions/SOL005VNFSnapshotPackageManagement_def.yaml @@ -23,6 +23,10 @@ definitions: description: > This type represents the information of a VNF snapshot package. It shall comply with the provisions defined in table 11.5.2.3-1. + + NOTE: The attribute shall not be present before the VNF snapshot package content has been uploaded + or built. Otherwise, this attribute shall be present unless it has been requested to be excluded per + attribute selector. type: object required: - id @@ -58,18 +62,12 @@ definitions: Checksum of the stored VNF snapshot package. Hash algorithms applicable to VNF snapshot package are defined in ETSI GS NFV-SOL 010. - - The attribute shall not be present before the VNF snapshot package content has been - uploaded or built. Otherwise, this attribute shall be present unless it has been requested - to be excluded per attribute selector. + See note. $ref: "../../definitions/SOL005_def.yaml#/definitions/Checksum" createdAt: description: > Timestamp indicating when the VNF snapshot package creation has been completed. - - The attribute shall not be present before the VNF snapshot package content has been - uploaded or built. Otherwise, this attribute shall be present unless it has been requested - to be excluded per attribute selector. + See note. $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" vnfSnapshotId: description: > @@ -85,10 +83,7 @@ definitions: Identifier of information held by the VNFM about specific VNFC snapshot(s) part of the VNF snapshot and contained in the VNF snapshot package. This identifier is allocated by the VNFM during the VNF snapshot creation. - - The attribute shall not be present before the VNF snapshot package content has been - uploaded or built. Otherwise, this attribute shall be present unless it has been requested - to be excluded per attribute selector. + See note. type: array items: $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierLocal" @@ -100,10 +95,7 @@ definitions: vnfdInfo: description: > VNFD of the snapshotted VNF instance that is contained in the stored VNF snapshot package. - - The attribute shall not be present before the VNF snapshot package content has been - uploaded or built. Otherwise, this attribute shall be present unless it has been requested - to be excluded per attribute selector. + See note. $ref: '#/definitions/VnfdInfo' vnfsr: description: > @@ -114,10 +106,7 @@ definitions: description: > Information about VNF snapshot artifacts that are VNFC snapshot images. Every local and external snapshot image shall be included. No other artifacts shall be included. - - The attribute shall not be present before the VNF snapshot package content has been - uploaded or built. Otherwise, this attribute shall be present unless it has been requested - to be excluded per attribute selector. + See note. type: array items: $ref: '#/definitions/VnfcSnapshotImageInfo' -- GitLab From 9d68c338a8558803158a2b77f9903f16df2229cc Mon Sep 17 00:00:00 2001 From: piscione Date: Fri, 7 May 2021 14:43:24 +0200 Subject: [PATCH 58/70] SOL005_120 to SOL005_123 --- ...OL005VNFSnapshotPackageManagement_def.yaml | 52 ++++++++----------- 1 file changed, 21 insertions(+), 31 deletions(-) diff --git a/src/SOL005/VNFSnapshotPackageManagement/definitions/SOL005VNFSnapshotPackageManagement_def.yaml b/src/SOL005/VNFSnapshotPackageManagement/definitions/SOL005VNFSnapshotPackageManagement_def.yaml index 170c4a6..7bbb2ef 100644 --- a/src/SOL005/VNFSnapshotPackageManagement/definitions/SOL005VNFSnapshotPackageManagement_def.yaml +++ b/src/SOL005/VNFSnapshotPackageManagement/definitions/SOL005VNFSnapshotPackageManagement_def.yaml @@ -205,6 +205,9 @@ definitions: description: > This type represents modifications to the information of a VNF snapshot package. It shall comply with the provisions defined in table 11.5.2.4-1. + NOTE: At least one of the three parameters shall be present. If the VNF snapshot + is not uploaded or built, the operation is used only to update existing or add additional + user defined data using the userDefinedData attribute. type: object anyOf: - required: @@ -217,19 +220,12 @@ definitions: name: description: > New value of the human-readable name of the VNF snapshot package. - - At least one of the three parameters shall be present. If the VNF snapshot package - is not uploaded or built, the operation is used only to update existing or add additional - user defined data using the userDefinedData attribute. + See note. type: string userDefinedData: description: > User defined data for the VNF snapshot package to be updated. - For existing keys, the value is replaced. - - At least one of the three parameters shall be present. If the VNF snapshot package - is not uploaded or built, the operation is used only to update existing or add additional - user defined data using the userDefinedData attribute. + For existing keys, the value is replaced. See note. $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" state: description: > @@ -240,10 +236,8 @@ definitions: Explicit change of state is only permitted from the following states: - ERROR_EXTRACTING - - At least one of the three parameters shall be present. If the VNF snapshot package - is not uploaded or built, the operation is used only to update existing or add additional - user defined data using the userDefinedData attribute. + + See note. type: string enum: - AVAILABLE @@ -314,6 +308,9 @@ definitions: This type represents the request parameters for building the content of a VNF snapshot package. The NFVO can obtain the VNF snapshot data through the information provided in the request parameters. It shall comply with the provisions defined in table 11.5.2.6-1. + + NOTE: The "overrideImportForVnfcSnapshotIds" provides the list of VNFC snapshots for which the VNF + snapshot-level snapshot resource import policy is overridden. See also examples in the present clause. type: object required: - vnfSnapshotInfoId @@ -338,9 +335,7 @@ definitions: If present, it indicates the list of VNFC snapshots to which the VNF snapshot-level import snapshot resource policy indicated by the "importSnapshotResource" attribute does not apply and the opposite value shall be considered. - - The "overrideImportForVnfcSnapshotIds" provides the list of VNFC snapshots for which the - VNF snapshot-level snapshot resource import policy is overridden. See also examples in the + See note. present clause. type: array items: @@ -350,16 +345,15 @@ definitions: VNF snapshot-level policy indicating whether the NFVO shall import the snapshotted resources from the NFVI (TRUE) or keep in the NFVI the snapshotted resources as external artifacts during the building of the VNF snapshot package file (FALSE). Default value is TRUE. - - The "overrideImportForVnfcSnapshotIds" provides the list of VNFC snapshots for which the - VNF snapshot-level snapshot resource import policy is overridden. See also examples in the - present clause. + See note. $ref: "../../definitions/SOL005_def.yaml#/definitions/Boolean" ExtractVnfSnapshotPkgRequest: description: > This type represents the request parameters for extracting the content of a VNF snapshot package. It shall comply with the provisions defined in table 11.5.2.7-1. + + NOTE: Either the parameter vnfSnapshotInfoId or vnfInstanceId, but not both, shall be provided. type: object oneOf: - required: @@ -370,16 +364,14 @@ definitions: vnfSnapshotInfoId: description: > Identifier held by the NFVO about an "Individual VNF snapshot" resource managed by the VNFM - to which the content of the VNF snapshot package will be extracted to. - - Either the parameter vnfSnapshotInfoId or vnfInstanceId, but not both, shall be provided. + to which the content of the VNF snapshot package will be extracted to. + See note. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" vnfInstanceId: description: > Identifier of the VNF instance to which the content and extraction of the VNF snapshot package is to be associated. - - Either the parameter vnfSnapshotInfoId or vnfInstanceId, but not both, shall be provided. + See note. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" CancelVnfSnapshotPkgOperationRequest: @@ -485,6 +477,8 @@ definitions: This type represents an artifact contained in or external to a VNF snapshot package which represents a snapshot image. It shall comply with the provisions defined in table 11.5.3.2-1. + NOTE 1: The list of permitted values was taken from "Container formats" in OpenStackĀ®: "Disk and container formats for images". + NOTE 2: The list of permitted values was adapted from "Disk formats" in OpenStackĀ®: "Disk and container formats for images". type: object required: - id @@ -542,9 +536,7 @@ definitions: - OVA: OVF package in a tarfile. - OVF: OVF container format. - The list of permitted values was taken from "Container formats" in - OpenStackĀ®: "Disk and container formats for images" - (Available from https://docs.openstack.org/glance/pike/user/formats.html) + See note 1. type: string enum: - AKI @@ -571,9 +563,7 @@ definitions: - VHDX: enhanced version of VHD format. - VMDK: a common disk image format. - The list of permitted values was adapted from "Disk formats" in - OpenStackĀ®: "Disk and container formats for images" - (Available from https://docs.openstack.org/glance/pike/user/formats.html) + See note 2. type: string enum: - AKI -- GitLab From 1ecdc12b25b8ed88f178293b982048ce29359274 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Fri, 7 May 2021 17:07:06 +0200 Subject: [PATCH 59/70] fixed versions --- .../NFVICapacityInformationNotification.yaml | 4 ++-- src/SOL005/NSFaultManagement/NSFaultManagement.yaml | 2 +- src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml | 6 +++--- .../NSLifecycleManagementNotification.yaml | 4 ++-- .../NSPerformanceManagementNotification.yaml | 2 +- src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml | 2 +- .../VNFPackageManagementNotification.yaml | 6 +++--- 7 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/SOL005/NFVICapacityInformationNotification/NFVICapacityInformationNotification.yaml b/src/SOL005/NFVICapacityInformationNotification/NFVICapacityInformationNotification.yaml index d78e34d..3c9a567 100644 --- a/src/SOL005/NFVICapacityInformationNotification/NFVICapacityInformationNotification.yaml +++ b/src/SOL005/NFVICapacityInformationNotification/NFVICapacityInformationNotification.yaml @@ -20,8 +20,8 @@ externalDocs: url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.05.01_60/gs_nfv-sol005v030501p.pdf servers: - - url: http://127.0.0.1/callback/v2 - - url: https://127.0.0.1/callback/v2 + - url: http://127.0.0.1/callback/v1 + - url: https://127.0.0.1/callback/v1 paths: ############################################################################### diff --git a/src/SOL005/NSFaultManagement/NSFaultManagement.yaml b/src/SOL005/NSFaultManagement/NSFaultManagement.yaml index 23900ad..7e68c0a 100644 --- a/src/SOL005/NSFaultManagement/NSFaultManagement.yaml +++ b/src/SOL005/NSFaultManagement/NSFaultManagement.yaml @@ -13,7 +13,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 1.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:2 + version: 1.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 005 V3.5.1 diff --git a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml index 1c7661b..af6a5c5 100644 --- a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml +++ b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml @@ -13,15 +13,15 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:4 + version: 2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 005 V3.5.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.05.01_60/gs_nfv-sol005v030501p.pdf servers: - - url: http://127.0.0.1/nslcm/v1 - - url: https://127.0.0.1/nslcm/v1 + - url: http://127.0.0.1/nslcm/v2 + - url: https://127.0.0.1/nslcm/v2 paths: /api_versions: diff --git a/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml b/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml index 3ccf2bf..584fa68 100644 --- a/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml +++ b/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml @@ -17,8 +17,8 @@ externalDocs: url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.05.01_60/gs_nfv-sol005v030501p.pdf servers: - - url: http://127.0.0.1/callback/v1 - - url: https://127.0.0.1/callback/v1 + - url: http://127.0.0.1/callback/v2 + - url: https://127.0.0.1/callback/v2 paths: /URI_is_provided_by_the_client_when_creating_the_subscription-NsLcmOperationOccurrenceNotification: diff --git a/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml b/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml index b079d2a..fe5f2c0 100644 --- a/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml +++ b/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml @@ -14,7 +14,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 005 V3.5.1 diff --git a/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml index d57fa55..0ef0218 100644 --- a/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml @@ -12,7 +12,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:2 + version: 2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 005 V3.5.1 diff --git a/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml b/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml index e34e2e5..245b6c5 100644 --- a/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml +++ b/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml @@ -10,15 +10,15 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 005 V3.5.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.05.01_60/gs_nfv-sol005v030501p.pdf servers: - - url: http://127.0.0.1/callback/v1 - - url: https://127.0.0.1/callback/v1 + - url: http://127.0.0.1/callback/v2 + - url: https://127.0.0.1/callback/v2 paths: -- GitLab From eb638e392c9620a906d8935848162d0dfc76fe68 Mon Sep 17 00:00:00 2001 From: piscione Date: Fri, 7 May 2021 17:46:48 +0200 Subject: [PATCH 60/70] SOL005_124 to SOL005_128 --- .../definitions/SOL005NSLifecycleManagement_def.yaml | 8 ++++++++ .../VNFSnapshotPackageManagement.yaml | 10 +++++----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index 5016bb2..e2ee5b1 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -491,6 +491,8 @@ definitions: disabled. Modifications to these attributes can be requested using the "ModifyVnfInfoData" structure. + + In addition, the provisions in clause 6.7 shall apply. $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" vimId: description: > @@ -639,6 +641,8 @@ definitions: operations, which means that the modified values can indirectly affect the configuration of the VNF instance. Extensions that are allowed for the VNF are declared in the VNFD. Modifications to these attributes can be requested using the "ModifyVnfInfoData" structure. + + In addition, the provisions in clause 6.7 shall apply. $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" LccnLinks: @@ -2922,6 +2926,7 @@ definitions: description: > Modifications to entries in the "vnfConfigurableProperties" attribute in "VnfInstance", as defined below in clause 6.5.3.57. + In addition, the provisions in clause 6.7 shall apply. $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" metadata: description: > @@ -2930,6 +2935,7 @@ definitions: extensions: description: > Modifications to entries in the "extensions" attribute in "VnfInstance", as defined below in clause 6.5.3.57. + In addition, the provisions in clause 6.7 shall apply. $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" ChangeExtVnfConnectivityData: @@ -5632,6 +5638,7 @@ definitions: This attribute represents the delta (semantics as per IETF RFC 7396 [11], JSON Merge Patch) between the value of the attribute at the start of the "Change current VNF package" operation and the value of the attribute at its completion. + In addition, the provisions in clause 6.7 shall apply. $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" metadata: description: > @@ -5646,6 +5653,7 @@ definitions: and shall be present if that attribute was modified during the operation. This attribute represents the delta (semantics as per IETF RFC 7396 [11], JSON Merge Patch) between the value of the attribute at the start of the "Change current VNF package" operation and the value of the attribute at its completion. + In addition, the provisions in clause 6.7 shall apply. $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" vnfdId: description: > diff --git a/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml b/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml index ef02986..74c511d 100644 --- a/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml +++ b/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml @@ -513,7 +513,7 @@ paths: parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType requestBody: - $ref: '#/components/requestBodies/VnfSnapshotPkgExtArtifactsAccessInfo' + $ref: '#/components/requestBodies/VnfSnapshotPkgExtArtifactsAccessConfig' responses: 200: $ref: '#/components/responses/ExternalArtifactsAccess.Put.200' @@ -689,12 +689,12 @@ components: $ref: ./definitions/SOL005VNFSnapshotPackageManagement_def.yaml#/definitions/CancelVnfSnapshotPkgOperationRequest required: true - VnfSnapshotPkgExtArtifactsAccessInfo: + VnfSnapshotPkgExtArtifactsAccessConfig: description: VOID content: application/json: schema: - $ref: ./definitions/SOL005VNFSnapshotPackageManagement_def.yaml#/definitions/VnfSnapshotPkgExtArtifactsAccessInfo + $ref: ./definitions/SOL005VNFSnapshotPackageManagement_def.yaml#/definitions/VnfSnapshotPkgExtArtifactsAccessConfig required: true responses: @@ -1134,7 +1134,7 @@ components: content: application/json: schema: - $ref: definitions/SOL005VNFSnapshotPackageManagement_def.yaml#/definitions/VnfSnapshotPkgExtArtifactsAccessInfo + $ref: definitions/SOL005VNFSnapshotPackageManagement_def.yaml#/definitions/VnfSnapshotPkgExtArtifactsAccessConfig ExternalArtifactsAccess.Put.200: description: | @@ -1169,7 +1169,7 @@ components: content: application/json: schema: - $ref: definitions/SOL005VNFSnapshotPackageManagement_def.yaml#/definitions/VnfSnapshotPkgExtArtifactsAccessInfo + $ref: definitions/SOL005VNFSnapshotPackageManagement_def.yaml#/definitions/VnfSnapshotPkgExtArtifactsAccessConfig IndividualArtifact.Get.200: description: | -- GitLab From 490d44369b09681283b363a27e57b7e901bc0e17 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Fri, 14 May 2021 17:28:26 +0200 Subject: [PATCH 61/70] fixed comments from SOL WG (SOL005) --- src/SOL005/APIVersion/APIVersion.yaml | 10 +++++++--- .../NFVICapacityInformation.yaml | 9 ++++++--- .../NFVICapacityInformationNotification.yaml | 9 ++++++--- src/SOL005/NSDManagement/NSDManagement.yaml | 7 ++++--- .../NSDManagementNotification.yaml | 2 ++ src/SOL005/NSFaultManagement/NSFaultManagement.yaml | 9 ++++++--- .../NSFaultManagementNotification.yaml | 11 +++++++++-- src/SOL005/NSLCMCoordination/NSLCMCoordination.yaml | 8 +++++--- .../NSLifecycleManagement/NSLifecycleManagement.yaml | 9 ++++++--- .../definitions/SOL005NSLifecycleManagement_def.yaml | 4 +--- .../NSLifecycleManagementNotification.yaml | 10 +++++++--- .../NSPerformanceManagement.yaml | 7 ++++--- .../NSPerformanceManagementNotification.yaml | 2 ++ .../VNFPackageManagement/VNFPackageManagement.yaml | 10 +++++++--- .../VNFPackageManagementNotification.yaml | 10 ++++++++-- .../VNFSnapshotPackageManagement.yaml | 10 ++++++---- 16 files changed, 86 insertions(+), 41 deletions(-) diff --git a/src/SOL005/APIVersion/APIVersion.yaml b/src/SOL005/APIVersion/APIVersion.yaml index 40f15df..8f62184 100644 --- a/src/SOL005/APIVersion/APIVersion.yaml +++ b/src/SOL005/APIVersion/APIVersion.yaml @@ -3,10 +3,14 @@ openapi: 3.0.2 info: title: SOL005 - API version interface description: | - SOL005 - API version Interface IMPORTANT: Please note that this file might be not aligned to the current version of - the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. In case of discrepancies the - published ETSI Group Specification takes precedence. + SOL005 - API version Interface + + IMPORTANT: Please note that this file might be not aligned to the current + version of the ETSI Group Specification it refers to. In case of + discrepancies the published ETSI Group Specification takes precedence. + Please report bugs to Please report bugs to https://forge.etsi.org/rep/nfv/SOL005/issues + contact: name: NFV-SOL WG license: diff --git a/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml b/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml index e013a5a..23ee99b 100644 --- a/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml +++ b/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml @@ -4,10 +4,13 @@ info: title: SOL005 - NFVI Capacity Information Interface description: | SOL005 - NFVI Capacity Information Interface - IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it - refers to and has not been approved by the ETSI NFV ISG. In case of discrepancies the published ETSI Group Specification - takes precedence. + + IMPORTANT: Please note that this file might be not aligned to the current + version of the ETSI Group Specification it refers to. In case of + discrepancies the published ETSI Group Specification takes precedence. + Please report bugs to https://forge.etsi.org/rep/nfv/SOL005/issues + contact: name: NFV-SOL WG license: diff --git a/src/SOL005/NFVICapacityInformationNotification/NFVICapacityInformationNotification.yaml b/src/SOL005/NFVICapacityInformationNotification/NFVICapacityInformationNotification.yaml index 3c9a567..64705cb 100644 --- a/src/SOL005/NFVICapacityInformationNotification/NFVICapacityInformationNotification.yaml +++ b/src/SOL005/NFVICapacityInformationNotification/NFVICapacityInformationNotification.yaml @@ -4,10 +4,13 @@ info: title: SOL005 - NFVI Capacity Information Notification Interface description: | SOL005 - NFVI Capacity Information Notification Interface - IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it - refers to and has not been approved by the ETSI NFV ISG. In case of discrepancies the published ETSI Group Specification - takes precedence. + + IMPORTANT: Please note that this file might be not aligned to the current + version of the ETSI Group Specification it refers to. In case of + discrepancies the published ETSI Group Specification takes precedence. + Please report bugs to https://forge.etsi.org/rep/nfv/SOL005/issues + contact: name: NFV-SOL WG license: diff --git a/src/SOL005/NSDManagement/NSDManagement.yaml b/src/SOL005/NSDManagement/NSDManagement.yaml index 4ff4cc8..33af009 100644 --- a/src/SOL005/NSDManagement/NSDManagement.yaml +++ b/src/SOL005/NSDManagement/NSDManagement.yaml @@ -6,10 +6,11 @@ info: SOL005 - NSD Management Interface IMPORTANT: Please note that this file might be not aligned to the current - version of the ETSI Group Specification it refers to and has not been - approved by the ETSI NFV ISG. In case of discrepancies the published ETSI - Group Specification takes precedence. + version of the ETSI Group Specification it refers to. In case of + discrepancies the published ETSI Group Specification takes precedence. + Please report bugs to https://forge.etsi.org/rep/nfv/SOL005/issues + contact: name: NFV-SOL WG license: diff --git a/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml b/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml index 548308d..fe7ed31 100644 --- a/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml +++ b/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml @@ -8,7 +8,9 @@ info: IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence. + Please report bugs to https://forge.etsi.org/rep/nfv/SOL005/issues + contact: name: NFV-SOL WG license: diff --git a/src/SOL005/NSFaultManagement/NSFaultManagement.yaml b/src/SOL005/NSFaultManagement/NSFaultManagement.yaml index 7e68c0a..15e5b71 100644 --- a/src/SOL005/NSFaultManagement/NSFaultManagement.yaml +++ b/src/SOL005/NSFaultManagement/NSFaultManagement.yaml @@ -4,10 +4,13 @@ info: title: SOL005 - NS Fault Management Interface description: | SOL005 - NS Fault Management Interface - IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification - it refers to and has not been approved by the ETSI NFV ISG. In case of discrepancies the published ETSI Group - Specification takes precedence. + + IMPORTANT: Please note that this file might be not aligned to the current + version of the ETSI Group Specification it refers to. In case of + discrepancies the published ETSI Group Specification takes precedence. + Please report bugs to https://forge.etsi.org/rep/nfv/SOL005/issues + contact: name: NFV-SOL WG license: diff --git a/src/SOL005/NSFaultManagementNotification/NSFaultManagementNotification.yaml b/src/SOL005/NSFaultManagementNotification/NSFaultManagementNotification.yaml index d0b697d..d7cd17e 100644 --- a/src/SOL005/NSFaultManagementNotification/NSFaultManagementNotification.yaml +++ b/src/SOL005/NSFaultManagementNotification/NSFaultManagementNotification.yaml @@ -1,11 +1,18 @@ openapi: 3.0.2 + info: title: SOL005 - NS Fault Management Notification interface description: | SOL005 - NS Fault Management Notification interface - IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it - refers to. In case of discrepancies the published ETSI Group Specification takes precedence. + + IMPORTANT: Please note that this file might be not aligned to the current + version of the ETSI Group Specification it refers to. In case of + discrepancies the published ETSI Group Specification takes precedence. + Please report bugs to https://forge.etsi.org/rep/nfv/SOL005/issues + + contact: + name: NFV-SOL WG license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt diff --git a/src/SOL005/NSLCMCoordination/NSLCMCoordination.yaml b/src/SOL005/NSLCMCoordination/NSLCMCoordination.yaml index 2cfba47..2de1c4a 100644 --- a/src/SOL005/NSLCMCoordination/NSLCMCoordination.yaml +++ b/src/SOL005/NSLCMCoordination/NSLCMCoordination.yaml @@ -4,11 +4,13 @@ info: title: SOL005 - NS LCM Coordination interface description: | SOL005 - NS LCM Coordination interface - + IMPORTANT: Please note that this file might be not aligned to the current - version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. - In case of discrepancies the published ETSI Group Specification takes precedence. + version of the ETSI Group Specification it refers to. In case of + discrepancies the published ETSI Group Specification takes precedence. + Please report bugs to https://forge.etsi.org/rep/nfv/SOL005/issues + contact: name: NFV-SOL WG license: diff --git a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml index af6a5c5..dfc41fe 100644 --- a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml +++ b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml @@ -4,10 +4,13 @@ info: title: SOL005 - NS Lifecycle Management Interface description: | SOL005 - NS Lifecycle Management Interface - IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it - refers to and has not been approved by the ETSI NFV ISG. In case of discrepancies the published ETSI Group Specification - takes precedence. + + IMPORTANT: Please note that this file might be not aligned to the current + version of the ETSI Group Specification it refers to. In case of + discrepancies the published ETSI Group Specification takes precedence. + Please report bugs to https://forge.etsi.org/rep/nfv/SOL005/issues + contact: name: NFV-SOL WG license: diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index e2ee5b1..f0a635d 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -1662,9 +1662,7 @@ definitions: description: > This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance. - NOTE 1: ETSI GS NFV-SOL 001 (Available at - https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/001/03.03.01_60/gs_NFV-SOL001v030301p.pdf) - specifies the structure and format of the VNFD based on TOSCA specifications. + NOTE 1: ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. NOTE 2: A VNFC CP is "connected to" an external CP if the VNFC CP is connected to an internal VL that exposes an external CP. A VNFC CP is "exposed as" an external CP if it is connected directly to an external VL. diff --git a/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml b/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml index 584fa68..12df5b2 100644 --- a/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml +++ b/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml @@ -4,9 +4,13 @@ info: title: SOL005 - NS Lifecycle Management Notification interface description: | SOL005 - NS Lifecycle Management Notification interface - IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification - it refers to. In case of discrepancies the published ETSI Group Specification takes precedence. - Please report bugs to https://forge.etsi.org/rep/nfv/SOL005/issues + + IMPORTANT: Please note that this file might be not aligned to the current + version of the ETSI Group Specification it refers to. In case of + discrepancies the published ETSI Group Specification takes precedence. + + contact: + name: NFV-SOL WG license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt diff --git a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml index 4686b85..1ae266e 100644 --- a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml +++ b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml @@ -6,10 +6,11 @@ info: SOL005 - NS Performance Management Interface IMPORTANT: Please note that this file might be not aligned to the current - version of the ETSI Group Specification it refers to and has not been - approved by the ETSI NFV ISG. In case of discrepancies the published ETSI - Group Specification takes precedence. + version of the ETSI Group Specification it refers to. In case of + discrepancies the published ETSI Group Specification takes precedence. + Please report bugs to https://forge.etsi.org/rep/nfv/SOL005/issues + contact: name: NFV-SOL WG license: diff --git a/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml b/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml index fe5f2c0..46291f2 100644 --- a/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml +++ b/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml @@ -8,7 +8,9 @@ info: IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence. + Please report bugs to https://forge.etsi.org/rep/nfv/SOL005/issues + contact: name: NFV-SOL WG license: diff --git a/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml index 0ef0218..9414a9a 100644 --- a/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml @@ -4,9 +4,13 @@ info: title: SOL005 - VNF Package Management Interface description: | SOL005 - VNF Package Management Interface - IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it - refers to and has not been approved by the ETSI NFV ISG. In case of discrepancies the published ETSI Group Specification - takes precedence. Please report bugs to https://forge.etsi.org/rep/nfv/SOL005/issues + + IMPORTANT: Please note that this file might be not aligned to the current + version of the ETSI Group Specification it refers to. In case of + discrepancies the published ETSI Group Specification takes precedence. + + Please report bugs to https://forge.etsi.org/rep/nfv/SOL005/issues + contact: name: NFV-SOL WG license: diff --git a/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml b/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml index 245b6c5..50f2556 100644 --- a/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml +++ b/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml @@ -4,9 +4,15 @@ info: title: SOL005 - VNF Package Management Notification interface description: | SOL005 - VNF Package Management Notification interface - IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification - it refers to. In case of discrepancies the published ETSI Group Specification takes precedence. + + IMPORTANT: Please note that this file might be not aligned to the current + version of the ETSI Group Specification it refers to. In case of + discrepancies the published ETSI Group Specification takes precedence. + Please report bugs to https://forge.etsi.org/rep/nfv/SOL005/issues + + contact: + name: NFV-SOL WG license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt diff --git a/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml b/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml index 74c511d..833066d 100644 --- a/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml +++ b/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml @@ -4,11 +4,13 @@ info: title: SOL005 - VNF Snapshot Package Management interface description: | SOL005 - VNF Snapshot Package Management interface - + IMPORTANT: Please note that this file might be not aligned to the current - version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. - In case of discrepancies the published ETSI Group Specification takes precedence. + version of the ETSI Group Specification it refers to. In case of + discrepancies the published ETSI Group Specification takes precedence. + Please report bugs to https://forge.etsi.org/rep/nfv/SOL005/issues + contact: name: NFV-SOL WG license: @@ -18,7 +20,7 @@ info: externalDocs: description: ETSI GS NFV-SOL 005 V3.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.03.01_60/gs_nfv-sol005v030301p.pdf + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.05.01_60/gs_nfv-sol005v030501p.pdf servers: - url: http://127.0.0.1/vnfsnapshotpkgm/v1 -- GitLab From 648d4c0faba4b1178dc6cc7fb7a4588629f55629 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Fri, 14 May 2021 17:56:41 +0200 Subject: [PATCH 62/70] upd --- .../NSDManagementNotification/NSDManagementNotification.yaml | 4 ++-- .../NSFaultManagementNotification.yaml | 4 ++-- .../NSLifecycleManagementNotification.yaml | 4 ++-- .../NSPerformanceManagementNotification.yaml | 4 ++-- .../VNFPackageManagementNotification.yaml | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml b/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml index fe7ed31..06b78f4 100644 --- a/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml +++ b/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml @@ -1,9 +1,9 @@ openapi: 3.0.2 info: - title: SOL005 - NSD Management Notification interface + title: SOL005 - NSD Management Notification Interface description: | - SOL005 - NSD Management Notification interface + SOL005 - NSD Management Notification Interface IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of diff --git a/src/SOL005/NSFaultManagementNotification/NSFaultManagementNotification.yaml b/src/SOL005/NSFaultManagementNotification/NSFaultManagementNotification.yaml index d7cd17e..5f74515 100644 --- a/src/SOL005/NSFaultManagementNotification/NSFaultManagementNotification.yaml +++ b/src/SOL005/NSFaultManagementNotification/NSFaultManagementNotification.yaml @@ -1,9 +1,9 @@ openapi: 3.0.2 info: - title: SOL005 - NS Fault Management Notification interface + title: SOL005 - NS Fault Management Notification Interface description: | - SOL005 - NS Fault Management Notification interface + SOL005 - NS Fault Management Notification Interface IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of diff --git a/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml b/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml index 12df5b2..e95657c 100644 --- a/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml +++ b/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml @@ -1,9 +1,9 @@ openapi: 3.0.2 info: - title: SOL005 - NS Lifecycle Management Notification interface + title: SOL005 - NS Lifecycle Management Notification Interface description: | - SOL005 - NS Lifecycle Management Notification interface + SOL005 - NS Lifecycle Management Notification Interface IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of diff --git a/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml b/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml index 46291f2..1b310d5 100644 --- a/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml +++ b/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml @@ -1,9 +1,9 @@ openapi: 3.0.2 info: - title: SOL005 - NS Performance Management Notification interface + title: SOL005 - NS Performance Management Notification Interface description: | - SOL005 - NS Performance Management Notification interface + SOL005 - NS Performance Management Notification Interface IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of diff --git a/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml b/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml index 50f2556..7dbd6ab 100644 --- a/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml +++ b/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml @@ -1,9 +1,9 @@ openapi: 3.0.2 info: - title: SOL005 - VNF Package Management Notification interface + title: SOL005 - VNF Package Management Notification Interface description: | - SOL005 - VNF Package Management Notification interface + SOL005 - VNF Package Management Notification Interface IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of -- GitLab From 219efa716215b889a2b09401c0bb47da5ab9aa71 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Tue, 1 Jun 2021 12:27:07 +0200 Subject: [PATCH 63/70] implemented udpates for SOL005ed351 v3.3.8 --- .../NSLCMCoordination/NSLCMCoordination.yaml | 61 ++++-- .../SOL005NSLifecycleManagement_def.yaml | 78 +++++-- .../NSLifecycleManagementNotification.yaml | 112 +++++++++- ...NSLifecycleManagementNotification_def.yaml | 205 ++++++++++++++++++ 4 files changed, 422 insertions(+), 34 deletions(-) diff --git a/src/SOL005/NSLCMCoordination/NSLCMCoordination.yaml b/src/SOL005/NSLCMCoordination/NSLCMCoordination.yaml index 2de1c4a..6058345 100644 --- a/src/SOL005/NSLCMCoordination/NSLCMCoordination.yaml +++ b/src/SOL005/NSLCMCoordination/NSLCMCoordination.yaml @@ -68,7 +68,7 @@ paths: 500: $ref: ../responses/SOL005_resp.yaml#/components/responses/500 503: - $ref: ../responses/SOL005_resp.yaml#/components/responses/503 + $ref: '#/components/responses/CoordinationActions.Post.503' 504: $ref: ../responses/SOL005_resp.yaml#/components/responses/504 @@ -172,9 +172,9 @@ components: description: | 201 CREATED - Shall be returned when the API producer has chosen the synchronous mode, which may be - chosen for coordination actions that finish within the time frame in which an HTTP - response is expected. + Shall be returned to indicate a finished coordination action when the API producer has chosen the synchronous + mode, which may be selected for coordination actions that finish within the time frame in which an HTTP + response is expected.. The response body shall contain an LcmCoord data structure that represents the result of the coordination action. @@ -226,6 +226,11 @@ components: The HTTP response shall include a "Location" HTTP header that indicates the URI of the "Individual coordination action" resource that will be created once the coordination operation has finished successfully. + + Further, the HTTP response may include a "Retry-After" HTTP header that indicates the time to wait before + sending the next GET request to the "individual coordination" resource indicated in the "Location" header. + If the header is provided, the NFVO shall record the signalled delay value in the "delay" attribute of the + applicable entry in the "lcmCoordinations" array in the "NsLcmOpOcc" structure. headers: Version: description: The used API version. @@ -255,14 +260,22 @@ components: schema: type: string - IndividualCoordinationAction.Get.200: + CoordinationActions.Post.503: description: | - 200 OK + 503 Service Unavailable - Shall be returned when the coordination is finished and the coordination result - has been read successfully. - A representation of the "Individual coordination action" resource shall be returned - in the response body. + Shall be returned upon the following error: The API producer has chosen the synchronous mode and cannot perform + the requested coordination currently, but expects to be able to perform it sometime in the future. + + No "individual coordination action" resource shall be created. + + A ProblemDetails structure shall be included in the response to provide more details about the rejection + in the "details" attribute. + + The HTTP response shall include a "Retry-After" HTTP header that indicates the delay after which it is + suggested to repeat the coordination request with the same set of parameters. The NFVO shall record the + signalled delay value in the "delay" attribute of the applicable entry in the "rejectedLcmCoordinations" + array in the "NsLcmOpOcc" structure. headers: Version: description: The used API version. @@ -278,6 +291,15 @@ components: explode: false schema: type: string + Retry-After: + description: | + It indicates the delay after which it is suggested to repeat the coordination request with the same + set of parameters. + style: simple + explode: false + schema: + type: string + format: url Content-Type: description: The MIME type of the body of the response. style: simple @@ -287,17 +309,16 @@ components: content: application/json: schema: - $ref: definitions/SOL005NSLCMCoordination_def.yaml#/definitions/LcmCoord + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - IndividualCoordinationAction.Post.202: + IndividualCoordinationAction.Get.200: description: | - 202 ACCEPTED + 200 OK - Shall be returned when the management operation with which coordination is requested - is still ongoing or in the process of being cancelled, i.e. no coordination result is - available yet. - - The response body shall be empty. + Shall be returned when the coordination is finished and the coordination result + has been read successfully. + A representation of the "Individual coordination action" resource shall be returned + in the response body. headers: Version: description: The used API version. @@ -319,6 +340,10 @@ components: explode: false schema: type: string + content: + application/json: + schema: + $ref: definitions/SOL005NSLCMCoordination_def.yaml#/definitions/LcmCoord CoordinationActionCancel.Post.202: description: | diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index f0a635d..0209f6c 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -4016,6 +4016,7 @@ definitions: - NsLcmOperationOccurenceNotification - NsIdentifierCreationNotification - NsIdentifierDeletionNotification + - NsLcmCapacityShortageNotification - NsChangeNotification See note. @@ -4051,6 +4052,14 @@ definitions: type: array items: $ref: "#/definitions/LcmOperationStateType" + affectedNsInstanceIds: + description: > + Match particular identifiers of the NS instance(s) related to the operation occurrence that were affected by + the shortage as reported in notifications of type NsLcmCapacityShortageNotification. + May be present if the "notificationTypes" attribute contains the value "NsLcmCapacityShortageNotification", + and shall be absent otherwise. + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" nsComponentTypes: description: > Match particular NS component types for the @@ -4454,6 +4463,9 @@ definitions: NOTE 2: A coordination action has timed out if the NFVO has not been able to read the "Individual coordination action" resource within a timeout interval after requesting the coordination to be started or to be cancelled. The length of the timeout interval is defined by means outside the scope of the present document + + NOTE 3: The list of rejected coordinations may be garbage collected if the LCM operation occurrence has reached + a terminal state, i.e. one of "COMPLETED", "FAILED", ā€œPARTIALLY COMPLETEDā€ and "ROLLED_BACK". type: object required: - id @@ -4611,7 +4623,7 @@ definitions: lcmCoordinations: description: > - Information about LCM coordination actions (see clause 12.5.4.3) + Information about LCM coordination actions (see clause 12) related to this LCM operation occurrence. type: array items: @@ -4623,15 +4635,14 @@ definitions: - endpointType properties: id: - description: > - Identifier of this coordination action. For a terminated coordination action, - this attribute refers to the "id" attribute in the LcmCoord data structure - (see clause 12.5.2.3). For a timed-out or ongoing coordination action, this - attribute refers to the {coordinationId} URI variable in the "Location" header - of the "202 Accepted" HTTP response to the POST request that has initiated the - coordination action (see clause 12.4.2.3.1). - $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" - + description: > + Identifier of this coordination action. For a terminated coordination action, + this attribute refers to the "id" attribute in the LcmCoord data structure + (see clause 12.5.2.3). For a timed-out or ongoing coordination action, this + attribute refers to the {coordinationId} URI variable in the "Location" header + of the "202 Accepted" HTTP response to the POST request that has initiated the + coordination action (see clause 12.4.2.3.1). + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" coordinationActionName: description: > Indicator of the actual coordination action. @@ -4646,12 +4657,13 @@ definitions: startTime: description: > - The time when the coordination action has been started. + The time when the NFVO has received the confirmation that the coordination action has been started. $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" endTime: description: > - The end time of the coordination action. Shall be present for a coordination - action that has finished or timed out (see note 2) and shall be absent if the + The time when the NFVO has received the confirmation that the coordination action has finished or + has been cancelled, or the time when a coordination action has timed out. Shall be present for a + coordination action that has finished or timed out (see note 2) and shall be absent if the coordination is ongoing. $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" endpointType: @@ -4662,6 +4674,12 @@ definitions: type: string enum: - MGMT + delay: + description: > + The end of the delay period. + This attribute shall be present if the last known HTTP response related to this coordination has + contained a "Retry-After" header, and shall be absent otherwise. + $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" warnings: description: > Warning messages that were generated while the operation was executing. @@ -4672,7 +4690,39 @@ definitions: type: array items: type: string - + rejectedLcmCoordinations: + description: > + Information about LCM coordination actions (see clause 12) that were rejected by 503 error which means + they can be tried again after a delay. See note 3. + type: array + items: + type: object + required: + - coordinationActionName + - rejectionTime + - endpointType + - delay + properties: + coordinationActionName: + description: > + Indicator of the actual coordination action. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + rejectionTime: + description: > + The time when the NFVO has received the 503 response that rejects the actual coordination. + $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" + endpointType: + description: > + The endpoint type used by this coordination action. + Valid values: + - MGMT: coordination with other operation supporting management systems (e.g. OSS/BSS) + type: string + enum: + - MGMT + delay: + description: > + The end of the delay period, as calculated from the startTime and "Retry-After" header. + $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" _links: description: > Links to resources related to this resource. diff --git a/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml b/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml index e95657c..6508703 100644 --- a/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml +++ b/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml @@ -194,7 +194,62 @@ paths: $ref: ../responses/SOL005_resp.yaml#/components/responses/500 "503": $ref: ../responses/SOL005_resp.yaml#/components/responses/503 - + + /URI_is_provided_by_the_client_when_creating_the_subscription-NsLcmCapacityShortageNotification: + parameters: + - $ref: ../components/SOL005_params.yaml#/components/parameters/Version + - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization + get: + description: | + The GET method allows the API producer to test the notification endpoint that is provided by the API + consumer, e.g. during subscription. See clause 6.4.18.3.1. + parameters: + - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept + responses: + "204": + $ref: '#/components/responses/NsLcmCapacityShortageNotification.Get' + "400": + $ref: ../responses/SOL005_resp.yaml#/components/responses/400 + "401": + $ref: ../responses/SOL005_resp.yaml#/components/responses/401 + "403": + $ref: ../responses/SOL005_resp.yaml#/components/responses/403 + "405": + $ref: ../responses/SOL005_resp.yaml#/components/responses/405 + "406": + $ref: ../responses/SOL005_resp.yaml#/components/responses/406 + "500": + $ref: ../responses/SOL005_resp.yaml#/components/responses/500 + "503": + $ref: ../responses/SOL005_resp.yaml#/components/responses/503 + + post: + description: | + The POST method delivers a notification from the API producer to an API consumer. The API consumer shall + have previously created an "Individual subscription" resource with a matching filter. + See clause 6.4.18.3.1. + parameters: + - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept + - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType + requestBody: + $ref: '#/components/requestBodies/NsLcmCapacityShortageNotificationRequest' + responses: + "204": + $ref: '#/components/responses/NsLcmCapacityShortageNotification.Post' + "400": + $ref: ../responses/SOL005_resp.yaml#/components/responses/400 + "401": + $ref: ../responses/SOL005_resp.yaml#/components/responses/401 + "403": + $ref: ../responses/SOL005_resp.yaml#/components/responses/403 + "405": + $ref: ../responses/SOL005_resp.yaml#/components/responses/405 + "406": + $ref: ../responses/SOL005_resp.yaml#/components/responses/406 + "500": + $ref: ../responses/SOL005_resp.yaml#/components/responses/500 + "503": + $ref: ../responses/SOL005_resp.yaml#/components/responses/503 components: requestBodies: NsLcmOperationOccurrenceNotificationRequest: @@ -223,7 +278,16 @@ components: schema: $ref: ./definitions/SOL005NSLifecycleManagementNotification_def.yaml#/definitions/NsIdentifierDeletionNotification required: true - + + NsLcmCapacityShortageNotificationRequest: + description: | + A notification about lifecycle capacity shortage triggered when there is a shortage condition. + content: + application/json: + schema: + $ref: ./definitions/SOL005NSLifecycleManagementNotification_def.yaml#/definitions/NsLcmCapacityShortageNotification + required: true + responses: NsLcmOperationOccurrenceNotification.Get: description: | @@ -337,6 +401,50 @@ components: content: {} NsIdentifierDeletionNotification.Post: + description: | + 204 No Content + Shall be returned when the notification has been delivered successfully. + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + content: {} + + NsLcmCapacityShortageNotification.Get: + description: | + 204 No Content + Shall be returned when the notification endpoint has been tested successfully. The response body shall be empty. + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + content: {} + + NsLcmCapacityShortageNotification.Post: description: | 204 No Content Shall be returned when the notification has been delivered successfully. diff --git a/src/SOL005/NSLifecycleManagementNotification/definitions/SOL005NSLifecycleManagementNotification_def.yaml b/src/SOL005/NSLifecycleManagementNotification/definitions/SOL005NSLifecycleManagementNotification_def.yaml index 6438aeb..29daddb 100644 --- a/src/SOL005/NSLifecycleManagementNotification/definitions/SOL005NSLifecycleManagementNotification_def.yaml +++ b/src/SOL005/NSLifecycleManagementNotification/definitions/SOL005NSLifecycleManagementNotification_def.yaml @@ -227,6 +227,211 @@ definitions: Links to resources related to this notification. $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/LccnLinks" + NsLcmCapacityShortageNotification: + description: > + This type represents an NS LCM capacity shortage notification, which informs the receiver about resource shortage + conditions during the execution of NS LCM operations. The notifications are triggered by the NFVO when a capacity + shortage condition occurs during the execution of an NS LCM operation, which fails due to the resource shortage, + or which succeeds despite the resource shortage because the NFVO has reduced the resource consumption of other + NSs by requesting these NSs to be scaled in or terminated. + + The notification shall comply with the provisions defined in Table 6.5.2.19-1. The support of the notification + is mandatory. + + This notification shall be triggered by the NFVO when there is a capacity shortage condition during the execution + of an NS LCM operation which will cause the LCM operation to be not successfully completed, or which will trigger + the automatic executing of an LCM operation to reduce the resource consumption of one or more NS instances to + resolve a resource shortage situation. The shortage conditions include: + ā€¢ Necessary resources could not be allocated during an LCM operation because of resource shortage which causes + the LCM operation to fail. + ā€¢ An LCM operation on an NS instance with higher priority pre-empted an LCM operation on NS instance with lower + priority because of resource shortage. + ā€¢ An LCM operation on an NS instance with higher priority pre-empted an existing NS instance. Resources were + de-allocated from the lower priority NS instance to allow the LCM operation on a higher priority NS instance. + ā€¢ The resource capacity shortage situation has ended, and it can be expected that an LCM operation that had + failed could succeed now if retried. + + NOTE: ETSI GS NFV-IFA 013 [x] defines further shortage situations. + These are not supported by the present version of the present document. + + This notification shall also be triggered by the NFVO when a shortage condition has ended that has previously + led to NS LCM operation occurrences failing. The notification shall be sent to all API consumers (OSS/BSS) + that have subscribed to notifications related to capacity shortage and meeting the filter conditions of all + pre-empted (low priority) and all pre-empting (high priority NS instance(s)). See ETSI GS NFV-IFA 010 [2], + Annex D.2 for the use cases. + + The notification about the result of an unsuccessful LCM operation occurrence shall include appropriate + information about the resource shortage when the cause for failure is a resource shortage. + + The notification where a pre-emption occurred due to e.g. a higher priority LCM operation during resource + shortage shall include appropriate information about the pre-emption. + + NOTE: Not all operation occurrences that are in "FAILED_TEMP" have been pre-empted by a resource shortage. + When the operation occurrences were pre-empted, the NS instances affected by the resource shortage end + (ā€œstatusā€œ = "LCM_SHORTAGE_END") which are pointed by "affectedNsId" in the list of "affectedOpOccs" structure + can have the operations retried again (which needs a request by the OSS/BSS). + + NOTE 1: The present version of the present document supports only the resource shortage status enumeration + values ā€œLCM_RESOURCES_NOT_AVAILABLEā€ and ā€œLCM_SHORTAGE_ENDā€ which represent a subset of the trigger conditions + defined in clause 8.3.5.2 of ETSI GS NFV-IFA 013 [x]. + type: object + required: + - id + - notificationType + - subscriptionId + - timestamp + - status + properties: + id: + description: > + Identifier of this notification. If a notification is sent multiple times due to multiple subscriptions, + the "id" attribute of all these notifications shall have the same value. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + notificationType: + description: > + Discriminator for the different notification types. Shall be set to "NsLcmCapacityShortageNotification" + for this notification type. + type: string + enum: + - NsLcmCapacityShortageNotification + subscriptionId: + description: > + Identifier of the subscription that this notification relates to. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + timestamp: + description: > + Date-time of the generation of the notification. + $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" + preemptingNsLcmOpOccId: + description: > + Identifier of the LCM operation occurrence that has triggered a pre-emption. + Shall be absent when the instantiation of a lower priority NS instance has failed because all + resources are allocated to higher priority NS instance(s). In this case the current instantiate operation + is represented in ā€œaffectedConditionā€ with the value ā€œPRE_EMPTEDā€œ. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + highPrioNsInstanceId: + description: > + Identifier of the higher priority NS instance affected by the lifecycle operation represented by the + "preemptingNsLcmOpOccId" attribute. + Shall be present if "preemptingNsLcmOpOccId" is present and shall be absent otherwise. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + status: + description: > + Indicates the situation of capacity shortage. + Permitted values: + - LCM_RESOURCES_NOT_AVAILABLE: the lifecycle operation identified by the nsLcmOpOccId attribute could not + be completed because necessary resources were not available. + - LCM_SHORTAGE_END: the shortage situation which has caused the lifecycle management operation identified + by the nsLcmOpOccId attribute to fail has ended. + type: string + enum: + - LCM_RESOURCES_NOT_AVAILABLE + - LCM_SHORTAGE_END + shortageType: + description: > + Indicates whether this notification reports about a resource shortage or NFV-MANO capacity or performance shortage. + Permitted values: + - RESOURCE_SHORTAGE: the notification reports a resource shortage. + + Shall be present when a resources shortage situation has been identified starts and the notification is + sent with ā€œstatusā€œ = ā€œLCM_RESOURCES_NOT_AVAILABLEā€œ and shall be absent otherwise. + type: string + enum: + - RESOURCE_SHORTAGE + affectedOpOccs: + description: > + List of NS LCM operation occurrence(s) that were affected by the resource shortage. + type: array + items: + type: object + required: + - affectedNsId + - affectedOpOccId + - affectedCondition + - _links + properties: + affectedNsId: + description: > + Identifier of the NS instance related to the operation occurrence that was affected by the shortage. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + affectedOpOccId: + description: > + Identifier of the NS LCM operation occurrence that was affected by the shortage. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + affectedCondition: + description: > + This flag indicates in what condition (pre-empted or triggered) the operation occurrence(s) were + affected by the resource shortage. + + Permitted values: + - PRE_EMPTED: the operation was pre-empted and the "operationState" = "FAILED_TEMPā€ of the NsLcmOpOcc + structure identified by "affectedOpOccId" attribute. + - TRIGGERED: the operation was triggered by NFVO and the ā€œoperationStateā€ = "FAILED_TEMPā€ of the + NsLcmOpOcc structure identified by "affectedOpOccId" attribute. + + In case the notification indicates the end of a shortage condition (ā€œstatusā€œ = "LCM_SHORTAGE_END"), + only entries with ā€œaffectedConditionā€œ = "PRE_EMPTED" shall be included. + See note. + type: string + enum: + - PRE_EMPTED + - TRIGGERED + _links: + description: > + Links related to NS resources affected by the shortage of this operation occurrence. + type: object + required: + - affectedLcmOpOcc + - affectedNs + properties: + affectedLcmOpOcc: + description: > + Link related to the NS lifecycle management operation occurrence. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" + affectedNs: + description: > + Link related to the NS instance that was affected by the shortage. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" + capacityInformation: + description: > + References to NFVI capacity information related to the shortage. + type: array + items: + type: object + required: + - vimId + - _link + properties: + vimId: + description: > + Identifier of the VIM where the capacity shortage occurs. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + _link: + description: > + Link to the related "Individual VIMā€™s capacity information" resource. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" + _links: + description: > + Links to resources related to this notification. + type: object + required: + - subscription + properties: + preemptingNsLcmOpOcc: + description: > + Link to the resource representing the pre-empting LCM operation occurrence identified by + preemptingNsLcmOpOccId. Shall be present if preemptingNsLcmOpOccId is present and shall be absent otherwise. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" + highPrioNsInstance: + description: > + Link to the resource representing the high-priority NS instance identified by highPrioNsInstanceId. + Shall be present if highPrioNsInstanceId is present and shall be absent otherwise. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" + subscription: + description: > + Link to the subscription that triggered this notification. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" + NsChangeNotification: description: > This type represents an NS change notification, which informs the receiver of changes on the NS instance caused by the -- GitLab From c3abe45b6cd0b2d3cdff281cb4d4f92cb062364f Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Tue, 1 Jun 2021 12:43:11 +0200 Subject: [PATCH 64/70] fix enum --- .../SOL005NSLifecycleManagement_def.yaml | 4 ++-- ...NSLifecycleManagementNotification_def.yaml | 20 +++++++++---------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index 0209f6c..39e0527 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -4717,8 +4717,8 @@ definitions: Valid values: - MGMT: coordination with other operation supporting management systems (e.g. OSS/BSS) type: string - enum: - - MGMT + enum: + - MGMT delay: description: > The end of the delay period, as calculated from the startTime and "Retry-After" header. diff --git a/src/SOL005/NSLifecycleManagementNotification/definitions/SOL005NSLifecycleManagementNotification_def.yaml b/src/SOL005/NSLifecycleManagementNotification/definitions/SOL005NSLifecycleManagementNotification_def.yaml index 29daddb..31bb593 100644 --- a/src/SOL005/NSLifecycleManagementNotification/definitions/SOL005NSLifecycleManagementNotification_def.yaml +++ b/src/SOL005/NSLifecycleManagementNotification/definitions/SOL005NSLifecycleManagementNotification_def.yaml @@ -292,8 +292,8 @@ definitions: Discriminator for the different notification types. Shall be set to "NsLcmCapacityShortageNotification" for this notification type. type: string - enum: - - NsLcmCapacityShortageNotification + enum: + - NsLcmCapacityShortageNotification subscriptionId: description: > Identifier of the subscription that this notification relates to. @@ -324,9 +324,9 @@ definitions: - LCM_SHORTAGE_END: the shortage situation which has caused the lifecycle management operation identified by the nsLcmOpOccId attribute to fail has ended. type: string - enum: - - LCM_RESOURCES_NOT_AVAILABLE - - LCM_SHORTAGE_END + enum: + - LCM_RESOURCES_NOT_AVAILABLE + - LCM_SHORTAGE_END shortageType: description: > Indicates whether this notification reports about a resource shortage or NFV-MANO capacity or performance shortage. @@ -336,8 +336,8 @@ definitions: Shall be present when a resources shortage situation has been identified starts and the notification is sent with ā€œstatusā€œ = ā€œLCM_RESOURCES_NOT_AVAILABLEā€œ and shall be absent otherwise. type: string - enum: - - RESOURCE_SHORTAGE + enum: + - RESOURCE_SHORTAGE affectedOpOccs: description: > List of NS LCM operation occurrence(s) that were affected by the resource shortage. @@ -373,9 +373,9 @@ definitions: only entries with ā€œaffectedConditionā€œ = "PRE_EMPTED" shall be included. See note. type: string - enum: - - PRE_EMPTED - - TRIGGERED + enum: + - PRE_EMPTED + - TRIGGERED _links: description: > Links related to NS resources affected by the shortage of this operation occurrence. -- GitLab From 7a839f7886fc9cd13364d4e1f4c4a0800d762ae4 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Tue, 1 Jun 2021 12:45:35 +0200 Subject: [PATCH 65/70] fix enum --- .../SOL005NSLifecycleManagementNotification_def.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/SOL005/NSLifecycleManagementNotification/definitions/SOL005NSLifecycleManagementNotification_def.yaml b/src/SOL005/NSLifecycleManagementNotification/definitions/SOL005NSLifecycleManagementNotification_def.yaml index 31bb593..c1fba96 100644 --- a/src/SOL005/NSLifecycleManagementNotification/definitions/SOL005NSLifecycleManagementNotification_def.yaml +++ b/src/SOL005/NSLifecycleManagementNotification/definitions/SOL005NSLifecycleManagementNotification_def.yaml @@ -275,12 +275,12 @@ definitions: values ā€œLCM_RESOURCES_NOT_AVAILABLEā€ and ā€œLCM_SHORTAGE_ENDā€ which represent a subset of the trigger conditions defined in clause 8.3.5.2 of ETSI GS NFV-IFA 013 [x]. type: object - required: - - id - - notificationType - - subscriptionId - - timestamp - - status + required: + - id + - notificationType + - subscriptionId + - timestamp + - status properties: id: description: > -- GitLab From ad5ab38901106f54c915258fa25ee939cfd6a028 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Wed, 7 Jul 2021 18:54:41 +0200 Subject: [PATCH 66/70] fixed responses ref names --- .../NFVICapacityInformation.yaml | 28 +++--- .../NSFaultManagement/NSFaultManagement.yaml | 28 +++--- .../NSFaultManagementNotification.yaml | 24 ++--- .../NSLifecycleManagement.yaml | 92 +++++++++---------- .../NSLifecycleManagementNotification.yaml | 32 +++---- .../NSPerformanceManagement.yaml | 20 ++-- .../VNFPackageManagement.yaml | 68 +++++++------- .../VNFPackageManagementNotification.yaml | 16 ++-- src/SOL005/endpoints/SOL005_endpoints.yaml | 4 +- 9 files changed, 156 insertions(+), 156 deletions(-) diff --git a/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml b/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml index 23ee99b..e988de2 100644 --- a/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml +++ b/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml @@ -47,7 +47,7 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: "200": - $ref: '#/components/responses/NfviCapacityInfos.Get' + $ref: '#/components/responses/NfviCapacityInfos.Get.200' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -80,7 +80,7 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: "200": - $ref: '#/components/responses/NfviCapacityInfo.Get' + $ref: '#/components/responses/NfviCapacityInfo.Get.200' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -113,7 +113,7 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/nextpage_opaque_marker responses: "200": - $ref: '#/components/responses/CapacityThresholds.Get' + $ref: '#/components/responses/CapacityThresholds.Get.200' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -143,7 +143,7 @@ paths: $ref: '#/components/requestBodies/NfviCapacityThresholdRequest' responses: "201": - $ref: '#/components/responses/CapacityThresholds.Post' + $ref: '#/components/responses/CapacityThresholds.Post.201' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -177,7 +177,7 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: "200": - $ref: '#/components/responses/IndividualCapacityThreshold.Get' + $ref: '#/components/responses/IndividualCapacityThreshold.Get.200' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -204,7 +204,7 @@ paths: $ref: '#/components/requestBodies/IndividualNfviCapacityThresholdRequest' responses: "200": - $ref: '#/components/responses/IndividualCapacityThreshold.Patch' + $ref: '#/components/responses/IndividualCapacityThreshold.Patch.200' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -233,7 +233,7 @@ paths: This method allows to delete an NFVI capacity threshold. See clause 10.4.5.3.5. responses: "204": - $ref: '#/components/responses/IndividualCapacityThreshold.Delete' + $ref: '#/components/responses/IndividualCapacityThreshold.Delete.204' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -303,7 +303,7 @@ components: required: true responses: - NfviCapacityInfos.Get: + NfviCapacityInfos.Get.200: description: | Shall be returned when information about NFVI capacity information has been queried successfully. The response body shall contain NFVI capacity information, as defined in clause 10.5.2.4. @@ -340,7 +340,7 @@ components: items: $ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/NfviCapacityInfo - NfviCapacityInfo.Get: + NfviCapacityInfo.Get.200: description: | Shall be returned when information of an individual VIMā€™s NFVI capacity has been read successfully. The response body shall contain a representation of the NFVI capacity information, as defined in clause 10.5.2.4. @@ -371,7 +371,7 @@ components: schema: $ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/NfviCapacityInfo - CapacityThresholds.Get: + CapacityThresholds.Get.200: description: | Shall be returned when information about zero or more capacity thresholds has been queried successfully. If the "filter" URI parameter was supplied in the request, the data in the response body shall have been @@ -409,7 +409,7 @@ components: items: $ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/CapacityThreshold - CapacityThresholds.Post: + CapacityThresholds.Post.201: description: | Shall be returned when a capacity threshold has been created successfully. The response body shall contain a representation of the created "Individual capacity threshold" resource, @@ -442,7 +442,7 @@ components: schema: $ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/CapacityThreshold - IndividualCapacityThreshold.Get: + IndividualCapacityThreshold.Get.200: description: | Shall be returned when information about an individual capacity threshold has been read successfully. The response body shall contain in a representation of the capacity threshold, as defined in clause 10.5.2.8. @@ -473,7 +473,7 @@ components: schema: $ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/CapacityThreshold - IndividualCapacityThreshold.Patch: + IndividualCapacityThreshold.Patch.200: description: | 200 OK Shall be returned when the request has been processed successfully. @@ -505,7 +505,7 @@ components: schema: $ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/CapacityThresholdModifications - IndividualCapacityThreshold.Delete: + IndividualCapacityThreshold.Delete.204: description: | Shall be returned when the NFVI capacity threshold has been deleted successfully. The response body shall be empty. diff --git a/src/SOL005/NSFaultManagement/NSFaultManagement.yaml b/src/SOL005/NSFaultManagement/NSFaultManagement.yaml index 15e5b71..80abaa8 100644 --- a/src/SOL005/NSFaultManagement/NSFaultManagement.yaml +++ b/src/SOL005/NSFaultManagement/NSFaultManagement.yaml @@ -43,7 +43,7 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: "200": - $ref: '#/components/responses/Alarms.Get' + $ref: '#/components/responses/Alarms.Get.200' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -77,7 +77,7 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: "200": - $ref: '#/components/responses/IndividualAlarm.Get' + $ref: '#/components/responses/IndividualAlarm.Get.200' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -109,7 +109,7 @@ paths: $ref: '#/components/requestBodies/AlarmModificationRequest' responses: "200": - $ref: '#/components/responses/IndividualAlarm.Patch' + $ref: '#/components/responses/IndividualAlarm.Patch.200' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -150,7 +150,7 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: "200": - $ref: '#/components/responses/FmSubscriptions.Get' + $ref: '#/components/responses/FmSubscriptions.Get.200' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -180,7 +180,7 @@ paths: $ref: '#/components/requestBodies/FmSubscriptionRequest' responses: "201": - $ref: '#/components/responses/FmSubscriptions.Post' + $ref: '#/components/responses/FmSubscriptions.Post.201' "303": $ref: ../responses/SOL005_resp.yaml#/components/responses/303 "400": @@ -217,7 +217,7 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: "200": - $ref: '#/components/responses/IndividualFmSubscription.Get' + $ref: '#/components/responses/IndividualFmSubscription.Get.200' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -242,7 +242,7 @@ paths: This method terminates an individual subscription. See clause 8.4.5.3.5. responses: "204": - $ref: '#/components/responses/IndividualFmSubscription.Delete' + $ref: '#/components/responses/IndividualFmSubscription.Delete.204' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -310,7 +310,7 @@ components: required: true responses: - Alarms.Get: + Alarms.Get.200: description: | 200 OK Shall be returned when information about zero or more alarms has been queried successfully. The response body @@ -355,7 +355,7 @@ components: items: $ref: ./definitions/SOL005NSFaultManagement_def.yaml#/definitions/Alarm - IndividualAlarm.Get: + IndividualAlarm.Get.200: description: | 200 OK Shall be returned when information about an individual alarm has been read successfully. The response body @@ -387,7 +387,7 @@ components: schema: $ref: ./definitions/SOL005NSFaultManagement_def.yaml#/definitions/Alarm - IndividualAlarm.Patch: + IndividualAlarm.Patch.200: description: | 200 OK Shall be returned when the request has been accepted and completed. The response body shall contain attribute @@ -419,7 +419,7 @@ components: schema: $ref: ./definitions/SOL005NSFaultManagement_def.yaml#/definitions/AlarmModifications - FmSubscriptions.Get: + FmSubscriptions.Get.200: description: | 200 OK Shall be returned when the list of subscriptions has been queried successfully. The response body shall @@ -465,7 +465,7 @@ components: items: $ref: ./definitions/SOL005NSFaultManagement_def.yaml#/definitions/FmSubscription - FmSubscriptions.Post: + FmSubscriptions.Post.200: description: | 201 Created Shall be returned when the subscription has been created successfully. The response body shall contain a @@ -500,7 +500,7 @@ components: schema: $ref: ./definitions/SOL005NSFaultManagement_def.yaml#/definitions/FmSubscription - IndividualFmSubscription.Get: + IndividualFmSubscription.Get.200: description: | 200 OK Shall be returned when information about an individual subscription has been read successfully. The response @@ -533,7 +533,7 @@ components: schema: $ref: ./definitions/SOL005NSFaultManagement_def.yaml#/definitions/FmSubscription - IndividualFmSubscription.Delete: + IndividualFmSubscription.Delete.204: description: | 204 - No Content Shall be returned when the subscription resource has been deleted successfully. The response body shall be empty. diff --git a/src/SOL005/NSFaultManagementNotification/NSFaultManagementNotification.yaml b/src/SOL005/NSFaultManagementNotification/NSFaultManagementNotification.yaml index 5f74515..831bad5 100644 --- a/src/SOL005/NSFaultManagementNotification/NSFaultManagementNotification.yaml +++ b/src/SOL005/NSFaultManagementNotification/NSFaultManagementNotification.yaml @@ -38,7 +38,7 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: "204": - $ref: '#/components/responses/AlarmNotification.Get' + $ref: '#/components/responses/AlarmNotification.Get.204' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -65,7 +65,7 @@ paths: $ref: '#/components/requestBodies/AlarmNotificationRequest' responses: "204": - $ref: '#/components/responses/AlarmNotification.Post' + $ref: '#/components/responses/AlarmNotification.Post.204' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -93,7 +93,7 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: "204": - $ref: '#/components/responses/AlarmClearedNotification.Get' + $ref: '#/components/responses/AlarmClearedNotification.Get.204' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -120,7 +120,7 @@ paths: $ref: '#/components/requestBodies/AlarmClearedNotificationRequest' responses: "204": - $ref: '#/components/responses/AlarmClearedNotification.Post' + $ref: '#/components/responses/AlarmClearedNotification.Post.204' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -148,7 +148,7 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: "204": - $ref: '#/components/responses/AlarmListRebuiltNotification.Get' + $ref: '#/components/responses/AlarmListRebuiltNotification.Get.204' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -175,7 +175,7 @@ paths: $ref: '#/components/requestBodies/AlarmListRebuiltNotificationRequest' responses: "204": - $ref: '#/components/responses/AlarmListRebuiltNotification.Post' + $ref: '#/components/responses/AlarmListRebuiltNotification.Post.204' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -221,7 +221,7 @@ components: required: true responses: - AlarmNotification.Get: + AlarmNotification.Get.204: description: | 204 No Content Shall be returned when the notification endpoint has been tested successfully. The response body shall be empty. @@ -243,7 +243,7 @@ components: type: string content: {} - AlarmNotification.Post: + AlarmNotification.Post.204: description: | 204 No Content Shall be returned when the notification has been delivered successfully. The response body shall be empty. @@ -265,7 +265,7 @@ components: type: string content: {} - AlarmClearedNotification.Get: + AlarmClearedNotification.Get.204: description: | 204 No Content Shall be returned when the notification endpoint has been tested successfully. The response body shall be empty. @@ -287,7 +287,7 @@ components: type: string content: {} - AlarmClearedNotification.Post: + AlarmClearedNotification.Post.204: description: | 204 No Content The notification was delivered successfully. The response body shall be empty. @@ -309,7 +309,7 @@ components: type: string content: {} - AlarmListRebuiltNotification.Get: + AlarmListRebuiltNotification.Get.204: description: | 204 No Content Shall be returned when the notification endpoint has been tested successfully. The response body shall be empty. @@ -331,7 +331,7 @@ components: type: string content: {} - AlarmListRebuiltNotification.Post: + AlarmListRebuiltNotification.Post.204: description: | 204 No Content The notification was delivered successfully. The response body shall be empty. diff --git a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml index dfc41fe..629f96a 100644 --- a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml +++ b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml @@ -47,7 +47,7 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: "200": - $ref: '#/components/responses/NsInstances.Get' + $ref: '#/components/responses/NsInstances.Get.200' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -81,7 +81,7 @@ paths: $ref: '#/components/requestBodies/NsInstanceCreateRequest' responses: "201": - $ref: '#/components/responses/NsInstances.Post' + $ref: '#/components/responses/NsInstances.Post.201' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -119,7 +119,7 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType responses: "200": - $ref: '#/components/responses/IndividualNsInstance.Get' + $ref: '#/components/responses/IndividualNsInstance.Get.200' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -146,7 +146,7 @@ paths: This method deletes an "Individual NS instance" resource. See clause 6.4.3.3.5. responses: "204": - $ref: '#/components/responses/IndividualNsInstance.Delete' + $ref: '#/components/responses/IndividualNsInstance.Delete.204' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -185,7 +185,7 @@ paths: $ref: '#/components/requestBodies/NsInstanceInstantiateRequest' responses: "202": - $ref: '#/components/responses/InstantiateNsInstance.Post' + $ref: '#/components/responses/InstantiateNsInstance.Post.202' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -224,7 +224,7 @@ paths: $ref: '#/components/requestBodies/NsInstanceScaleRequest' responses: "202": - $ref: '#/components/responses/ScaleNsInstance.Post' + $ref: '#/components/responses/ScaleNsInstance.Post.202' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -263,7 +263,7 @@ paths: $ref: '#/components/requestBodies/NsInstanceUpdateRequest' responses: "202": - $ref: '#/components/responses/UpdateNsInstance.Post' + $ref: '#/components/responses/UpdateNsInstance.Post.202' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -302,7 +302,7 @@ paths: $ref: '#/components/requestBodies/NsInstanceHealRequest' responses: "202": - $ref: '#/components/responses/HealNsInstance.Post' + $ref: '#/components/responses/HealNsInstance.Post.202' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -341,7 +341,7 @@ paths: $ref: '#/components/requestBodies/NsInstanceTerminateRequest' responses: "202": - $ref: '#/components/responses/TerminateNsInstance.Post' + $ref: '#/components/responses/TerminateNsInstance.Post.202' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -395,7 +395,7 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: "200": - $ref: '#/components/responses/NsLcmOpOccs.Get' + $ref: '#/components/responses/NsLcmOpOccs.Get.200' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -429,7 +429,7 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType responses: "200": - $ref: '#/components/responses/IndividualNsLcmOpOcc.Get' + $ref: '#/components/responses/IndividualNsLcmOpOcc.Get.200' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -462,7 +462,7 @@ paths: temporary failure, i.e. the related "NS LCM operation occurrence" is in "FAILED_TEMP" state. See clause 6.4.11.3.1. responses: "202": - $ref: '#/components/responses/NsLcmOpOccRetry.Post' + $ref: '#/components/responses/NsLcmOpOccRetry.Post.202' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -497,7 +497,7 @@ paths: temporary failure, i.e. the related "NS LCM operation occurrence" is in "FAILED_TEMP" state. See clause 6.4.12.3.1. responses: "202": - $ref: '#/components/responses/NsLcmOpOccRollback.Post' + $ref: '#/components/responses/NsLcmOpOccRollback.Post.202' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -532,7 +532,7 @@ paths: temporary failure, i.e. the related "NS LCM operation occurrence" is in "FAILED_TEMP" state. See clause 6.4.13.3.1. responses: "202": - $ref: '#/components/responses/NsLcmOpOccContinue.Post' + $ref: '#/components/responses/NsLcmOpOccContinue.Post.202' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -569,7 +569,7 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: "200": - $ref: '#/components/responses/NsLcmOpOccFail.Post' + $ref: '#/components/responses/NsLcmOpOccFail.Post.200' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -610,7 +610,7 @@ paths: $ref: '#/components/requestBodies/NsLcmOpOccCancelRequest' responses: "202": - $ref: '#/components/responses/NsLcmOpOccCancel.Post' + $ref: '#/components/responses/NsLcmOpOccCancel.Post.202' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -648,7 +648,7 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: "200": - $ref: '#/components/responses/NsLcmSubscriptions.Get' + $ref: '#/components/responses/NsLcmSubscriptions.Get.200' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -678,7 +678,7 @@ paths: $ref: '#/components/requestBodies/NsLcmSubscriptionRequest' responses: "201": - $ref: '#/components/responses/NsLcmSubscriptions.Post' + $ref: '#/components/responses/NsLcmSubscriptions.Post.201' "303": $ref: ../responses/SOL005_resp.yaml#/components/responses/303 "400": @@ -715,7 +715,7 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: "200": - $ref: '#/components/responses/IndividualNsLcmSubscription.Get' + $ref: '#/components/responses/IndividualNsLcmSubscription.Get.200' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -740,7 +740,7 @@ paths: The DELETE method terminates an individual subscription. See clause 6.4.17.3.5. responses: "204": - $ref: '#/components/responses/IndividualNsLcmSubscription.Delete' + $ref: '#/components/responses/IndividualNsLcmSubscription.Delete.204' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -777,7 +777,7 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: "200": - $ref: '#/components/responses/VnfSnapshots.Get' + $ref: '#/components/responses/VnfSnapshots.Get.200' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -810,7 +810,7 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: "200": - $ref: '#/components/responses/IndividualVnfSnapshot.Get' + $ref: '#/components/responses/IndividualVnfSnapshot.Get.200' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -837,7 +837,7 @@ paths: See clause 6.4.20.3.5. responses: "204": - $ref: '#/components/responses/IndividualVnfSnapshot.Delete' + $ref: '#/components/responses/IndividualVnfSnapshot.Delete.204' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -982,7 +982,7 @@ components: required: true responses: - NsInstances.Get: + NsInstances.Get.200: description: | 200 OK Shall be returned when information about zero or more NS instances has been queried successfully. The response @@ -1028,7 +1028,7 @@ components: items: $ref: ./definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsInstance - NsInstances.Post: + NsInstances.Post.201: description: | 201 Created Shall be returned when a new "Individual NS instance" resource and the associated NS instance identifier has @@ -1064,7 +1064,7 @@ components: schema: $ref: ./definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsInstance - IndividualNsInstance.Get: + IndividualNsInstance.Get.200: description: | 200 OK Shall be returned when information about an individual NS instance has been read successfully. The response @@ -1098,7 +1098,7 @@ components: schema: $ref: ./definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsInstance - IndividualNsInstance.Delete: + IndividualNsInstance.Delete.204: description: | 204 No Content Shall be returned when the "Individual NS instance" resource and the associated NS identifier have been deleted @@ -1121,7 +1121,7 @@ components: type: string content: {} - InstantiateNsInstance.Post: + InstantiateNsInstance.Post.202: description: | 202 ACCEPTED headers: @@ -1155,7 +1155,7 @@ components: format: url content: {} - ScaleNsInstance.Post: + ScaleNsInstance.Post.202: description: | 202 ACCEPTED headers: @@ -1189,7 +1189,7 @@ components: format: url content: {} - UpdateNsInstance.Post: + UpdateNsInstance.Post.202: description: | 202 ACCEPTED headers: @@ -1223,7 +1223,7 @@ components: format: url content: {} - HealNsInstance.Post: + HealNsInstance.Post.202: description: | 202 ACCEPTED headers: @@ -1257,7 +1257,7 @@ components: format: url content: {} - TerminateNsInstance.Post: + TerminateNsInstance.Post.202: description: | 202 ACCEPTED headers: @@ -1291,7 +1291,7 @@ components: format: url content: {} - NsLcmOpOccs.Get: + NsLcmOpOccs.Get.200: description: | 200 OK Shall be returned when status information for zero or more NS lifecycle management operation occurrences has @@ -1338,7 +1338,7 @@ components: items: $ref: ./definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsLcmOpOcc - IndividualNsLcmOpOcc.Get: + IndividualNsLcmOpOcc.Get.200: description: | 200 OK Shall be returned when information about an NS LCM operation occurrence has been read successfully. The response @@ -1372,7 +1372,7 @@ components: schema: $ref: ./definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsLcmOpOcc - NsLcmOpOccRetry.Post: + NsLcmOpOccRetry.Post.202: description: | 202 ACCEPTED headers: @@ -1406,7 +1406,7 @@ components: format: url content: {} - NsLcmOpOccRollback.Post: + NsLcmOpOccRollback.Post.202: description: | 202 ACCEPTED headers: @@ -1440,7 +1440,7 @@ components: format: url content: {} - NsLcmOpOccContinue.Post: + NsLcmOpOccContinue.Post.202: description: | 202 ACCEPTED headers: @@ -1474,7 +1474,7 @@ components: format: url content: {} - NsLcmOpOccFail.Post: + NsLcmOpOccFail.Post.200: description: | 200 OK Shall be returned when the state of the NS lifecycle management operation occurrence has been changed @@ -1509,7 +1509,7 @@ components: schema: $ref: ./definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsLcmOpOcc - NsLcmOpOccCancel.Post: + NsLcmOpOccCancel.Post.202: description: | 202 ACCEPTED headers: @@ -1543,7 +1543,7 @@ components: format: url content: {} - NsLcmSubscriptions.Get: + NsLcmSubscriptions.Get.200: description: | 200 OK Shall be returned when the list of subscriptions has been queried successfully. The response body shall @@ -1591,7 +1591,7 @@ components: items: $ref: ./definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/LccnSubscription - NsLcmSubscriptions.Post: + NsLcmSubscriptions.Post.201: description: | 201 Created\nShall be returned when the subscription has been created successfully. The response body shall contain a representation @@ -1627,7 +1627,7 @@ components: schema: $ref: ./definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/LccnSubscription - IndividualNsLcmSubscription.Get: + IndividualNsLcmSubscription.Get.200: description: | 200 OK Shall be returned when information about an individual @@ -1662,7 +1662,7 @@ components: schema: $ref: ./definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/LccnSubscription - IndividualNsLcmSubscription.Delete: + IndividualNsLcmSubscription.Delete.204: description: | 204 NO CONTENT Shall be returned when the "Individual subscription" resource has been deleted successfully. The response @@ -1685,7 +1685,7 @@ components: type: string content: {} - VnfSnapshots.Get: + VnfSnapshots.Get.200: description: | 200 OK Shall be returned when information about zero or more VNF snapshots was queried successfully. @@ -1724,7 +1724,7 @@ components: items: $ref: ./definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/VnfSnapshotInfo - IndividualVnfSnapshot.Get: + IndividualVnfSnapshot.Get.200: description: | 200 OK Shall be returned when information about an individual VNF snapshot was read successfully. @@ -1759,7 +1759,7 @@ components: schema: $ref: ./definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/VnfSnapshotInfo - IndividualVnfSnapshot.Delete: + IndividualVnfSnapshot.Delete.204: description: | 204 NO CONTENT Shall be returned when the VNF snapshot resource and the associated VNF snapshot were deleted successfully. diff --git a/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml b/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml index 6508703..cf5ac4d 100644 --- a/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml +++ b/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml @@ -38,7 +38,7 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: "204": - $ref: '#/components/responses/NsLcmOperationOccurrenceNotification.Get' + $ref: '#/components/responses/NsLcmOperationOccurrenceNotification.Get.204' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -65,7 +65,7 @@ paths: $ref: '#/components/requestBodies/NsLcmOperationOccurrenceNotificationRequest' responses: "204": - $ref: '#/components/responses/NsLcmOperationOccurrenceNotification.Post' + $ref: '#/components/responses/NsLcmOperationOccurrenceNotification.Post.204' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -94,7 +94,7 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: "204": - $ref: '#/components/responses/NsIdentifierCreationNotification.Get' + $ref: '#/components/responses/NsIdentifierCreationNotification.Get.204' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -122,7 +122,7 @@ paths: $ref: '#/components/requestBodies/NsIdentifierCreationNotificationRequest' responses: "204": - $ref: '#/components/responses/NsIdentifierCreationNotification.Post' + $ref: '#/components/responses/NsIdentifierCreationNotification.Post.204' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -151,7 +151,7 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: "204": - $ref: '#/components/responses/NsIdentifierDeletionNotification.Get' + $ref: '#/components/responses/NsIdentifierDeletionNotification.Get.204' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -179,7 +179,7 @@ paths: $ref: '#/components/requestBodies/NsIdentifierDeletionNotificationRequest' responses: "204": - $ref: '#/components/responses/NsIdentifierDeletionNotification.Post' + $ref: '#/components/responses/NsIdentifierDeletionNotification.Post.204' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -207,7 +207,7 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: "204": - $ref: '#/components/responses/NsLcmCapacityShortageNotification.Get' + $ref: '#/components/responses/NsLcmCapacityShortageNotification.Get.204' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -235,7 +235,7 @@ paths: $ref: '#/components/requestBodies/NsLcmCapacityShortageNotificationRequest' responses: "204": - $ref: '#/components/responses/NsLcmCapacityShortageNotification.Post' + $ref: '#/components/responses/NsLcmCapacityShortageNotification.Post.204' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -289,7 +289,7 @@ components: required: true responses: - NsLcmOperationOccurrenceNotification.Get: + NsLcmOperationOccurrenceNotification.Get.204: description: | 204 No Content Shall be returned when the notification endpoint has been tested successfully. @@ -312,7 +312,7 @@ components: type: string content: {} - NsLcmOperationOccurrenceNotification.Post: + NsLcmOperationOccurrenceNotification.Post.204: description: | 204 No Content Shall be returned when the notification has been delivered successfully. @@ -334,7 +334,7 @@ components: type: string content: {} - NsIdentifierCreationNotification.Get: + NsIdentifierCreationNotification.Get.204: description: | 204 No Content Shall be returned when the notification endpoint has been tested successfully. The response body shall be empty. @@ -356,7 +356,7 @@ components: type: string content: {} - NsIdentifierCreationNotification.Post: + NsIdentifierCreationNotification.Post.204: description: | 204 No Content Shall be returned when the notification has been delivered successfully. @@ -378,7 +378,7 @@ components: type: string content: {} - NsIdentifierDeletionNotification.Get: + NsIdentifierDeletionNotification.Get.204: description: | 204 No Content Shall be returned when the notification endpoint has been tested successfully. The response body shall be empty. @@ -400,7 +400,7 @@ components: type: string content: {} - NsIdentifierDeletionNotification.Post: + NsIdentifierDeletionNotification.Post.204: description: | 204 No Content Shall be returned when the notification has been delivered successfully. @@ -422,7 +422,7 @@ components: type: string content: {} - NsLcmCapacityShortageNotification.Get: + NsLcmCapacityShortageNotification.Get.204: description: | 204 No Content Shall be returned when the notification endpoint has been tested successfully. The response body shall be empty. @@ -444,7 +444,7 @@ components: type: string content: {} - NsLcmCapacityShortageNotification.Post: + NsLcmCapacityShortageNotification.Post.204: description: | 204 No Content Shall be returned when the notification has been delivered successfully. diff --git a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml index 1ae266e..0911f34 100644 --- a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml +++ b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml @@ -51,7 +51,7 @@ paths: $ref: '#/components/requestBodies/CreatePmJobRequest' responses: 201: - $ref: '#/components/responses/PMJobs.Post.201' + $ref: '#/components/responses/PmJobs.Post.201' 400: $ref: "../responses/SOL005_resp.yaml#/components/responses/400" 401: @@ -83,7 +83,7 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/nextpage_opaque_marker responses: 200: - $ref: '#/components/responses/PMJobs.Get.200' + $ref: '#/components/responses/PmJobs.Get.200' 400: $ref: "../responses/SOL005_resp.yaml#/components/responses/400" 401: @@ -118,7 +118,7 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: 200: - $ref: '#/components/responses/IndividualPMJob.Get.200' + $ref: '#/components/responses/IndividualPmJob.Get.200' 400: $ref: "../responses/SOL005_resp.yaml#/components/responses/400" 401: @@ -145,7 +145,7 @@ paths: $ref: '#/components/requestBodies/PmJobModifications' responses: 200: - $ref: '#/components/responses/IndividualPMJob.Patch.200' + $ref: '#/components/responses/IndividualPmJob.Patch.200' 400: $ref: "../responses/SOL005_resp.yaml#/components/responses/400" 401: @@ -172,7 +172,7 @@ paths: This method terminates an individual PM job. See clause 7.4.3.3.5. responses: 204: - $ref: '#/components/responses/IndividualPMJob.Delete.204' + $ref: '#/components/responses/IndividualPmJob.Delete.204' 400: $ref: "../responses/SOL005_resp.yaml#/components/responses/400" 401: @@ -838,7 +838,7 @@ components: responses: - PMJobs.Post.201: + PmJobs.Post.201: description: | 201 CREATED @@ -876,7 +876,7 @@ components: schema: $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/PmJob" - PMJobs.Get.200: + PmJobs.Get.200: description: | 200 OK @@ -930,7 +930,7 @@ components: items: $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/PmJob" - IndividualPMJob.Get.200: + IndividualPmJob.Get.200: description: | 200 OK @@ -967,7 +967,7 @@ components: schema: $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/PmJob" - IndividualPMJob.Patch.200: + IndividualPmJob.Patch.200: description: | 200 OK @@ -994,7 +994,7 @@ components: schema: $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/PmJobModifications" - IndividualPMJob.Delete.204: + IndividualPmJob.Delete.204: description: | 204 NO CONTENT diff --git a/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml index 9414a9a..de0fc73 100644 --- a/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml @@ -47,7 +47,7 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: "200": - $ref: '#/components/responses/VnfPackages.Get' + $ref: '#/components/responses/VnfPackages.Get.200' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -77,7 +77,7 @@ paths: $ref: '#/components/requestBodies/VnfPackageCreationRequest' responses: "201": - $ref: '#/components/responses/VnfPackages.Post' + $ref: '#/components/responses/VnfPackages.Post.201' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -113,7 +113,7 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: "200": - $ref: '#/components/responses/IndividualVnfPackage.Get' + $ref: '#/components/responses/IndividualVnfPackage.Get.200' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -138,7 +138,7 @@ paths: The DELETE method deletes an individual VNF Package resource. See clause 9.4.3.3.5. responses: "204": - $ref: '#/components/responses/IndividualVnfPackage.Delete' + $ref: '#/components/responses/IndividualVnfPackage.Delete.204' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -169,7 +169,7 @@ paths: $ref: '#/components/requestBodies/VnfPackageModificationRequest' responses: "200": - $ref: '#/components/responses/IndividualVnfPackage.Patch' + $ref: '#/components/responses/IndividualVnfPackage.Patch.200' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -204,7 +204,7 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/include_signatures responses: "200": - $ref: '#/components/responses/IndividualVnfPackageVnfd.Get' + $ref: '#/components/responses/IndividualVnfPackageVnfd.Get.200' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -239,7 +239,7 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: "200": - $ref: '#/components/responses/IndividualVnfPackageExtArtifacts.Get' + $ref: '#/components/responses/IndividualVnfPackageExtArtifacts.Get.200' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -306,7 +306,7 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/include_signatures responses: "200": - $ref: '#/components/responses/IndividualVnfPackageManifest.Get' + $ref: '#/components/responses/IndividualVnfPackageManifest.Get.200' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -342,7 +342,7 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Range responses: "200": - $ref: '#/components/responses/IndividualVnfPackageContent.Get' + $ref: '#/components/responses/IndividualVnfPackageContent.Get.200' "206": $ref: ../responses/SOL005_resp.yaml#/components/responses/206 "400": @@ -379,7 +379,7 @@ paths: $ref: '#/components/requestBodies/VnfPackageContentRequest' responses: "202": - $ref: '#/components/responses/IndividualVnfPackageContent.Put' + $ref: '#/components/responses/IndividualVnfPackageContent.Put.202' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -423,7 +423,7 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/include_external_artifacts responses: "200": - $ref: '#/components/responses/IndividualVnfPackageArtifacts.Get' + $ref: '#/components/responses/IndividualVnfPackageArtifacts.Get.200' "206": $ref: ../responses/SOL005_resp.yaml#/components/responses/206 "400": @@ -464,7 +464,7 @@ paths: $ref: '#/components/requestBodies/VnfPackageUploadFromUriRequest' responses: "202": - $ref: '#/components/responses/IndividualVnfPackageUploadFromUri.Post' + $ref: '#/components/responses/IndividualVnfPackageUploadFromUri.Post.202' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -504,7 +504,7 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/include_signatures responses: "200": - $ref: '#/components/responses/IndividualVnfPackageArtifact.Get' + $ref: '#/components/responses/IndividualVnfPackageArtifact.Get.200' "206": $ref: ../responses/SOL005_resp.yaml#/components/responses/206 "400": @@ -544,7 +544,7 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/nextpage_opaque_marker responses: "200": - $ref: '#/components/responses/VnfPkgSubscriptions.Get' + $ref: '#/components/responses/VnfPkgSubscriptions.Get.200' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -574,7 +574,7 @@ paths: $ref: '#/components/requestBodies/VnfPkgSubscriptionRequest' responses: "201": - $ref: '#/components/responses/VnfPkgSubscriptions.Post' + $ref: '#/components/responses/VnfPkgSubscriptions.Post.201' "303": $ref: ../responses/SOL005_resp.yaml#/components/responses/303 "400": @@ -610,7 +610,7 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: "200": - $ref: '#/components/responses/VnfPkgSubscription.Get' + $ref: '#/components/responses/VnfPkgSubscription.Get.200' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -635,7 +635,7 @@ paths: The DELETE method terminates an individual subscription. See clause 9.4.9.3.5. responses: "204": - $ref: '#/components/responses/VnfPkgSubscription.Delete' + $ref: '#/components/responses/VnfPkgSubscription.Delete.204' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -757,7 +757,7 @@ components: required: true responses: - VnfPackages.Get: + VnfPackages.Get.200: description: | 200 OK Shall be returned when information about zero or more VNF packages has been queried successfully. @@ -798,7 +798,7 @@ components: items: $ref: ./definitions/SOL005VNFPackageManagement_def.yaml#/definitions/VnfPkgInfo - VnfPackages.Post: + VnfPackages.Post.201: description: | 201 Created Shall be returned when an "Individual VNF package" resource has been created successfully. The response body @@ -834,7 +834,7 @@ components: schema: $ref: ./definitions/SOL005VNFPackageManagement_def.yaml#/definitions/VnfPkgInfo - IndividualVnfPackage.Get: + IndividualVnfPackage.Get.200: description: | 200 OK Shall be returned when information of the VNF package has been read successfully. The response body shall @@ -868,7 +868,7 @@ components: schema: $ref: ./definitions/SOL005VNFPackageManagement_def.yaml#/definitions/VnfPkgInfo - IndividualVnfPackage.Delete: + IndividualVnfPackage.Delete.204: description: | 204 No Content The VNF package has been deleted successfully. The response body shall be empty. @@ -882,7 +882,7 @@ components: type: string content: {} - IndividualVnfPackage.Patch: + IndividualVnfPackage.Patch.200: description: | 200 OK Shall be returned when the operation has been completed successfully. The response body shall contain @@ -914,7 +914,7 @@ components: schema: $ref: ./definitions/SOL005VNFPackageManagement_def.yaml#/definitions/VnfPkgInfoModifications - IndividualVnfPackageVnfd.Get: + IndividualVnfPackageVnfd.Get.200: description: | 200 OK Shall be returned when the content of the VNFD has been read successfully. The payload body shall contain a @@ -945,7 +945,7 @@ components: type: string content: {} - IndividualVnfPackageExtArtifacts.Get: + IndividualVnfPackageExtArtifacts.Get.200: description: | 200 OK Shall be returned when the access configuration information has been read successfully. @@ -1044,7 +1044,7 @@ components: format: url content: {} - IndividualVnfPackageManifest.Get: + IndividualVnfPackageManifest.Get.200: description: | 200 OK Shall be returned when the content of the manifest has been read successfully. If the "include_signatures" URI @@ -1079,7 +1079,7 @@ components: type: string content: {} - IndividualVnfPackageContent.Get: + IndividualVnfPackageContent.Get.200: description: | 200 OK Shall be returned when the whole content of the VNF package file has been read successfully. The response body @@ -1109,7 +1109,7 @@ components: type: string content: {} - IndividualVnfPackageContent.Put: + IndividualVnfPackageContent.Put.202: description: | 202 ACCEPTED Shall be returned when the VNF package has been accepted for uploading, but the processing has not been completed. @@ -1124,7 +1124,7 @@ components: type: string content: {} - IndividualVnfPackageArtifacts.Get: + IndividualVnfPackageArtifacts.Get.200: description: | 200 OK Shall be returned when the whole content of the archive containing the artifact files has been read successfully. @@ -1156,7 +1156,7 @@ components: type: string content: {} - IndividualVnfPackageUploadFromUri.Post: + IndividualVnfPackageUploadFromUri.Post.202: description: | 202 Accepted The information about the VNF package has been received successfully, but the on-boarding has not been completed. @@ -1171,7 +1171,7 @@ components: type: string content: {} - IndividualVnfPackageArtifact.Get: + IndividualVnfPackageArtifact.Get.200: description: | 200 OK Shall be returned when the whole content of the artifact file has been read successfully. If the "include_signatures" request URI parameter was not provided in the related request, the payload body shall @@ -1207,7 +1207,7 @@ components: type: string content: {} - VnfPkgSubscriptions.Get: + VnfPkgSubscriptions.Get.200: description: | 200 OK Shall be returned when the list of subscriptions has been queried successfully. The response body shall contain @@ -1246,7 +1246,7 @@ components: items: $ref: ./definitions/SOL005VNFPackageManagement_def.yaml#/definitions/PkgmSubscription - VnfPkgSubscriptions.Post: + VnfPkgSubscriptions.Post.201: description: | 201 Created Shall be returned when the subscription has been created successfully. The response body shall contain a @@ -1279,7 +1279,7 @@ components: schema: $ref: ./definitions/SOL005VNFPackageManagement_def.yaml#/definitions/PkgmSubscription - VnfPkgSubscription.Get: + VnfPkgSubscription.Get.200: description: | 200 OK Shall be returned when information about an individual subscription has been read successfully. @@ -1311,7 +1311,7 @@ components: schema: $ref: ./definitions/SOL005VNFPackageManagement_def.yaml#/definitions/PkgmSubscription - VnfPkgSubscription.Delete: + VnfPkgSubscription.Delete.204: description: | No Content Shall be returned when information about an individual subscription has been read successfully. The response diff --git a/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml b/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml index 7dbd6ab..5883277 100644 --- a/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml +++ b/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml @@ -40,7 +40,7 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: "204": - $ref: '#/components/responses/VnfPackageOnboardingNotification.Get' + $ref: '#/components/responses/VnfPackageOnboardingNotification.Get.204' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -67,7 +67,7 @@ paths: $ref: '#/components/requestBodies/VnfPackageOnboardingNotificationRequest' responses: "204": - $ref: '#/components/responses/VnfPackageOnboardingNotification.Post' + $ref: '#/components/responses/VnfPackageOnboardingNotification.Post.204' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -95,7 +95,7 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept responses: "204": - $ref: '#/components/responses/VnfPackageChangeNotification.Get' + $ref: '#/components/responses/VnfPackageChangeNotification.Get.204' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -122,7 +122,7 @@ paths: $ref: '#/components/requestBodies/VnfPackageChangeNotificationRequest' responses: "204": - $ref: '#/components/responses/VnfPackageChangeNotification.Post' + $ref: '#/components/responses/VnfPackageChangeNotification.Post.204' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -159,7 +159,7 @@ components: required: true responses: - VnfPackageOnboardingNotification.Get: + VnfPackageOnboardingNotification.Get.204: description: | 204 No Content Shall be returned to indicate that the notification endpoint has been tested successfully. @@ -182,7 +182,7 @@ components: type: string content: {} - VnfPackageOnboardingNotification.Post: + VnfPackageOnboardingNotification.Post.204: description: | 204 No Content Shall be returned when the notification has been delivered successfully. @@ -204,7 +204,7 @@ components: type: string content: {} - VnfPackageChangeNotification.Get: + VnfPackageChangeNotification.Get.204: description: | 204 No Content Shall be returned to indicate that the notification endpoint has been tested successfully. @@ -227,7 +227,7 @@ components: type: string content: {} - VnfPackageChangeNotification.Post: + VnfPackageChangeNotification.Post.204: description: | 204 No Content Shall be returned when the notification has been delivered successfully. diff --git a/src/SOL005/endpoints/SOL005_endpoints.yaml b/src/SOL005/endpoints/SOL005_endpoints.yaml index ec4055c..9678873 100644 --- a/src/SOL005/endpoints/SOL005_endpoints.yaml +++ b/src/SOL005/endpoints/SOL005_endpoints.yaml @@ -12,7 +12,7 @@ endpoints: supported. responses: "200": - $ref: '#/components/responses/ApiVersions.Get' + $ref: '#/components/responses/ApiVersions.Get.200' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -70,7 +70,7 @@ endpoints: components: responses: - ApiVersions.Get: + ApiVersions.Get.200: description: > 200 OK -- GitLab From a07628a8e11570d2c41d940086652278587ce9b3 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Wed, 7 Jul 2021 18:57:36 +0200 Subject: [PATCH 67/70] fixed typo --- src/SOL005/NSFaultManagement/NSFaultManagement.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SOL005/NSFaultManagement/NSFaultManagement.yaml b/src/SOL005/NSFaultManagement/NSFaultManagement.yaml index 80abaa8..237ea7b 100644 --- a/src/SOL005/NSFaultManagement/NSFaultManagement.yaml +++ b/src/SOL005/NSFaultManagement/NSFaultManagement.yaml @@ -465,7 +465,7 @@ components: items: $ref: ./definitions/SOL005NSFaultManagement_def.yaml#/definitions/FmSubscription - FmSubscriptions.Post.200: + FmSubscriptions.Post.201: description: | 201 Created Shall be returned when the subscription has been created successfully. The response body shall contain a -- GitLab From f7a91d5bc8fff96274670a437aff86080f9e1f38 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Fri, 6 Aug 2021 15:27:09 +0200 Subject: [PATCH 68/70] addressed comments from SOL WG --- .../NFVICapacityInformation.yaml | 113 +- src/SOL005/NSDManagement/NSDManagement.yaml | 1399 ++++++++++++----- .../NSFaultManagement/NSFaultManagement.yaml | 148 +- .../NSLifecycleManagement.yaml | 731 ++++++++- .../SOL005NSLifecycleManagement_def.yaml | 143 +- .../NSPerformanceManagement.yaml | 209 ++- .../VNFPackageManagement.yaml | 871 +++++++++- .../VNFSnapshotPackageManagement.yaml | 468 +++++- 8 files changed, 3525 insertions(+), 557 deletions(-) diff --git a/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml b/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml index e988de2..9e06125 100644 --- a/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml +++ b/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml @@ -157,7 +157,7 @@ paths: "406": $ref: ../responses/SOL005_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL005_resp.yaml#/components/responses/422 + $ref: '#/components/responses/CapacityThresholds.Post.422' "500": $ref: ../responses/SOL005_resp.yaml#/components/responses/500 "503": @@ -218,9 +218,9 @@ paths: "406": $ref: ../responses/SOL005_resp.yaml#/components/responses/406 "412": - $ref: ../responses/SOL005_resp.yaml#/components/responses/412 + $ref: '#/components/responses/IndividualCapacityThreshold.Patch.412' "422": - $ref: ../responses/SOL005_resp.yaml#/components/responses/422 + $ref: '#/components/responses/IndividualCapacityThreshold.Patch.422' "500": $ref: ../responses/SOL005_resp.yaml#/components/responses/500 "503": @@ -442,6 +442,44 @@ components: schema: $ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/CapacityThreshold + CapacityThresholds.Post.422: + description: | + 422 UNPROCESSABLE ENTITY + + Shall be returned upon the following error: The content type of the payload body is supported and the payload + body of a request contains syntactically correct data but the data cannot be processed. + The general cause for this error and its handling is specified in clause 6.4 of ETSI GS NFV-SOL 013 [16], + including rules for the presence of the response body. + Specifically in case of this resource, the response code 422 shall also be returned if the NFVO has tested + the Notification endpoint as described in clause 10.4.6.3.2 and the test has failed. + In this case, the "detail" attribute in the "ProblemDetails" structure shall convey more information about the error. + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + IndividualCapacityThreshold.Get.200: description: | Shall be returned when information about an individual capacity threshold has been read successfully. @@ -505,6 +543,75 @@ components: schema: $ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/CapacityThresholdModifications + IndividualCapacityThreshold.Patch.412: + description: | + 412 PRECONDITION FAILED + + A precondition given in an HTTP request header is not fulfilled. + Typically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. + The response body should contain a ProblemDetails structure, in which the "detail" attribute should convey + more information about the error + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + + IndividualCapacityThreshold.Patch.422: + description: | + 422 UNPROCESSABLE ENTITY + + content type of the payload body is supported and the payload body of a request contains syntactically + correct data but the data cannot be processed. + The general cause for this error and its handling is specified in clause 6.4 of ETSI GS NFV-SOL 013 [16], + including rules for the presence of the response body. + Specifically in case of this resource, the response code 422 shall also be returned if the NFVO has tested + the Notification endpoint as described in clause 10.4.6.3.2 and the test has failed. + In this case, the "detail" attribute in the "ProblemDetails" structure shall convey more information about the error. + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + IndividualCapacityThreshold.Delete.204: description: | Shall be returned when the NFVI capacity threshold has been deleted successfully. diff --git a/src/SOL005/NSDManagement/NSDManagement.yaml b/src/SOL005/NSDManagement/NSDManagement.yaml index 33af009..900ede4 100644 --- a/src/SOL005/NSDManagement/NSDManagement.yaml +++ b/src/SOL005/NSDManagement/NSDManagement.yaml @@ -163,22 +163,9 @@ paths: 406: $ref: "../responses/SOL005_resp.yaml#/components/responses/406" 409: - # description: | - # 409 CONFLICT - - # Error: The operation cannot be executed currently, - # due to a conflict with the state of the "individual NS descriptor" resource. - # Typically, this is due to an operational state - # mismatch, i.e. enable an already enabled or - # disable an already disabled individual NS - # descriptor resource, or the "nsdOnboardingState" - # is not ONBOARDED. - # The response body shall contain a ProblemDetails - # structure, in which the "detail" attribute shall convey - # more information about the error. - $ref: "../responses/SOL005_resp.yaml#/components/responses/409" + $ref: '#/components/responses/IndividualNSDescriptor.Patch.409' 412: - $ref: "../responses/SOL005_resp.yaml#/components/responses/412" + $ref: '#/components/responses/IndividualNSDescriptor.Patch.412' 500: $ref: "../responses/SOL005_resp.yaml#/components/responses/500" 503: @@ -205,20 +192,7 @@ paths: 406: $ref: "../responses/SOL005_resp.yaml#/components/responses/406" 409: - # description: | - # 409 CONFLICT - - # Error: The operation cannot be executed currently, - # due to a conflict with the state of the resource. - # Typically, this is due to the fact the NS descriptor - # resource is in the enabled operational state (i.e. - # nsdOperationalState = ENABLED) or there are running - # NS instances using the concerned individual NS - # descriptor resource (i.e. nsdUsageState = IN_USE). - # The response body shall contain a ProblemDetails - # structure, in which the "detail" attribute shall convey - # more information about the error. - $ref: "../responses/SOL005_resp.yaml#/components/responses/409" + $ref: '#/components/responses/IndividualNSDescriptor.Delete.409' 500: $ref: "../responses/SOL005_resp.yaml#/components/responses/500" 503: @@ -246,19 +220,7 @@ paths: 200: $ref: '#/components/responses/NsdArchiveContent.Get.200' 206: - # description: | - # 206 PARTIAL CONTENT - - # On success, if the NFVO supports range requests, - # a single consecutive byte range from the content of - # the NSD file is returned. - # The response body shall contain the requested part - # of the NSD file. - # The "Content-Range" HTTP header shall be - # provided according to IETF RFC 7233. - # The "Content-Type" HTTP header shall be set as - # defined above for the "200 OK" response. - $ref: "../responses/SOL005_resp.yaml#/components/responses/206" + $ref: '#/components/responses/NsdArchiveContent.Get.206' 400: $ref: "../responses/SOL005_resp.yaml#/components/responses/400" 401: @@ -269,42 +231,10 @@ paths: $ref: "../responses/SOL005_resp.yaml#/components/responses/404" 405: $ref: "../responses/SOL005_resp.yaml#/components/responses/405" - 406: - # description: | - # 406 NOT ACCEPTABLE - - # If the "Accept" header does not contain at least one - # name of a content type for which the NFVO can - # provide a representation of the NSD, the NFVO - # shall respond with this response code. - # The "ProblemDetails" structure may be included - # with the "detail" attribute providing more information - # about the error. - $ref: "../responses/SOL005_resp.yaml#/components/responses/406" 409: - # description: | - # 409 CONFLICT - - # Shall be returned upon the following error: The - # operation cannot be executed currently, due to a - # conflict with the state of the resource. - # Typically, this is due to the fact - # "nsdOnboardingState" has a value different from - # ONBOARDED. - # The response body shall contain a ProblemDetails - # structure, in which the "detail" attribute shall convey - # more information about the error. - $ref: "../responses/SOL005_resp.yaml#/components/responses/409" + $ref: '#/components/responses/NsdArchiveContent.Get.409' 416: - # description: | - # 416 RANGE NOT SATISFIABLE - - # The byte range passed in the "Range" header did - # not match any available byte range in the NSD file - # (e.g. "access after end of file"). - # The response body may contain a ProblemDetails - # structure. - $ref: "../responses/SOL005_resp.yaml#/components/responses/416" + $ref: '#/components/responses/NsdArchiveContent.Get.416' 500: $ref: "../responses/SOL005_resp.yaml#/components/responses/500" 503: @@ -335,18 +265,7 @@ paths: 406: $ref: "../responses/SOL005_resp.yaml#/components/responses/406" 409: - # description: | - # 409 CONFLICT - # - # Error: The operation cannot be executed currently, - # due to a conflict with the state of the resource. - # Typically, this is due to the fact that the - # NsdOnboardingState has a value other than - # CREATED. - # The response body shall contain a ProblemDetails - # structure, in which the "detail" attribute shall convey - # more information about the error. - $ref: "../responses/SOL005_resp.yaml#/components/responses/409" + $ref: '#/components/responses/NsdArchiveContent.Put.409' 500: $ref: "../responses/SOL005_resp.yaml#/components/responses/500" 503: @@ -384,9 +303,9 @@ paths: 405: $ref: "../responses/SOL005_resp.yaml#/components/responses/405" 406: - $ref: "../responses/SOL005_resp.yaml#/components/responses/406" + $ref: '#/components/responses/NSD.Get.406' 409: - $ref: "../responses/SOL005_resp.yaml#/components/responses/409" + $ref: '#/components/responses/NSD.Get.409' 500: $ref: "../responses/SOL005_resp.yaml#/components/responses/500" 503: @@ -424,19 +343,7 @@ paths: 405: $ref: "../responses/SOL005_resp.yaml#/components/responses/405" 409: - # description: | - # 409 CONFLICT - - # Shall be returned upon the following error: The - # operation cannot be executed currently, due to a - # conflict with the state of the resource. - # Typically, this is due to the fact - # "nsdOnboardingState" has a value different from - # ONBOARDED. - # The response body shall contain a ProblemDetails - # structure, in which the "detail" attribute shall convey - # more information about the error. - $ref: "../responses/SOL005_resp.yaml#/components/responses/409" + $ref: '#/components/responses/NsdArchiveManifest.Get.409' 500: $ref: "../responses/SOL005_resp.yaml#/components/responses/500" 503: @@ -474,34 +381,13 @@ paths: 404: $ref: "../responses/SOL005_resp.yaml#/components/responses/404" 406: - # description: | - # If the related request contained an "Accept" header not compatible with the Content type - # "application/zip" but the "include_signatures" flag was provided, the NFVO shall respond - # with this response code. - - # The "ProblemDetails" structure may be included with the "detail" attribute providing more - # information about the error. - $ref: "../responses/SOL005_resp.yaml#/components/responses/405" + $ref: '#/components/responses/IndividualNsdArchiveArtifact.Get.406' 405: $ref: "../responses/SOL005_resp.yaml#/components/responses/406" 409: - # description: | - # Shall be returned upon the following error: The operation cannot be executed currently, - # due to a conflict with the state of the resource. - - # Typically, this is due to the fact that "nsdOnboardingState" has a value different from - # "ONBOARDED". - - # The response body shall contain a ProblemDetails structure, in which the "detail" attribute - # shall convey more information about the error. - $ref: "../responses/SOL005_resp.yaml#/components/responses/409" + $ref: '#/components/responses/IndividualNsdArchiveArtifact.Get.409' 416: - # description: | - # The byte range passed in the "Range" header did not match any available byte range in the - # artifact file (e.g. "access after end of file"). - - # The response body may contain a ProblemDetails structure. - $ref: "../responses/SOL005_resp.yaml#/components/responses/416" + $ref: '#/components/responses/IndividualNsdArchiveArtifact.Get.416' 500: $ref: "../responses/SOL005_resp.yaml#/components/responses/500" 503: @@ -641,7 +527,7 @@ paths: 406: $ref: "../responses/SOL005_resp.yaml#/components/responses/406" 412: - $ref: "../responses/SOL005_resp.yaml#/components/responses/412" + $ref: '#/components/responses/IndividualPnfDescriptor.Patch.412' 500: $ref: "../responses/SOL005_resp.yaml#/components/responses/500" 503: @@ -708,20 +594,9 @@ paths: 406: $ref: "../responses/SOL005_resp.yaml#/components/responses/406" 409: - # description: | - # 409 CONFLICT - - # Shall be returned upon the following error: The - # operation cannot be executed currently, due to a - # conflict with the state of the resource. - # Typically, this is due to the fact pnfdOnboardingState - # has a value different from ONBOARDED. - # The response body shall contain a ProblemDetails - # structure, in which the "detail" attribute shall convey - # more information about the error. - $ref: "../responses/SOL005_resp.yaml#/components/responses/409" + $ref: '#/components/responses/PnfdArchiveContent.Get.409' 416: - $ref: "../responses/SOL005_resp.yaml#/components/responses/416" + $ref: '#/components/responses/PnfdArchiveContent.Get.416' 500: $ref: "../responses/SOL005_resp.yaml#/components/responses/500" 503: @@ -753,18 +628,7 @@ paths: 406: $ref: "../responses/SOL005_resp.yaml#/components/responses/406" 409: - # description: | - # 409 CONFLICT - - # Error: The operation cannot be executed currently, - # due to a conflict with the state of the resource. - # Typically, this is due to the fact that the - # PnfdOnboardingState has a value other than - # CREATED. - # The response body shall contain a ProblemDetails - # structure, in which the "detail" attribute shall convey - # more information about the error. - $ref: "../responses/SOL005_resp.yaml#/components/responses/409" + $ref: '#/components/responses/PnfdArchiveContent.Put.409' 500: $ref: "../responses/SOL005_resp.yaml#/components/responses/500" 503: @@ -801,9 +665,9 @@ paths: 405: $ref: "../responses/SOL005_resp.yaml#/components/responses/405" 406: - $ref: "../responses/SOL005_resp.yaml#/components/responses/406" + $ref: '#/components/responses/PNFD.Get.406' 409: - $ref: "../responses/SOL005_resp.yaml#/components/responses/409" + $ref: '#/components/responses/PNFD.Get.409' 500: $ref: "../responses/SOL005_resp.yaml#/components/responses/500" 503: @@ -843,7 +707,7 @@ paths: 406: $ref: "../responses/SOL005_resp.yaml#/components/responses/406" 409: - $ref: "../responses/SOL005_resp.yaml#/components/responses/409" + $ref: '#/components/responses/PnfdArchiveManifest.Get.409' 500: $ref: "../responses/SOL005_resp.yaml#/components/responses/500" 503: @@ -882,34 +746,11 @@ paths: 404: $ref: "../responses/SOL005_resp.yaml#/components/responses/404" 406: - # description: | - # If the related request contained an "Accept" header not compatible with the Content type - # "application/zip" but the "include_signatures" flag was provided, the NFVO shall respond - # with this response code. - - # The "ProblemDetails" structure may be included with the "detail" attribute providing more - # information about the error. - $ref: "../responses/SOL005_resp.yaml#/components/responses/405" - 405: - $ref: "../responses/SOL005_resp.yaml#/components/responses/406" + $ref: '#/components/responses/IndividualPnfdArchiveArtifact.Get.406' 409: - # description: | - # Shall be returned upon the following error: The operation cannot be executed currently, - # due to a conflict with the state of the resource. - - # Typically, this is due to the fact that "pnfdOnboardingState" has a value different from - # "ONBOARDED". - - # The response body shall contain a ProblemDetails structure, in which the "detail" attribute - # shall convey more information about the error. - $ref: "../responses/SOL005_resp.yaml#/components/responses/409" + $ref: '#/components/responses/IndividualPnfdArchiveArtifact.Get.409' 416: - # description: | - # The byte range passed in the "Range" header did not match any available byte range in the - # artifact file (e.g. "access after end of file"). - - # The response body may contain a ProblemDetails structure. - $ref: "../responses/SOL005_resp.yaml#/components/responses/416" + $ref: '#/components/responses/IndividualPnfdArchiveArtifact.Get.416' 500: $ref: "../responses/SOL005_resp.yaml#/components/responses/500" 503: @@ -938,18 +779,7 @@ paths: 201: $ref: '#/components/responses/Subscriptions.Post.201' 303: - # description: | - # 303 SEE OTHER - - # Shall be returned when a subscription with the - # same callbackURI and the same filter already - # exits and the policy of the NFVO is to not create - # redundant subscriptions. - # The HTTP response shall include a "Location" - # HTTP header that contains the resource URI of - # the existing subscription resource. - # The response body shall be empty. - $ref: "../responses/SOL005_resp.yaml#/components/responses/303" + $ref: '#/components/responses/Subscriptions.Post.303' 400: $ref: "../responses/SOL005_resp.yaml#/components/responses/400" 401: @@ -963,7 +793,7 @@ paths: 406: $ref: "../responses/SOL005_resp.yaml#/components/responses/406" 422: - $ref: "../responses/SOL005_resp.yaml#/components/responses/422" + $ref: '#/components/responses/Subscriptions.Post.422' 500: $ref: "../responses/SOL005_resp.yaml#/components/responses/500" 503: @@ -1371,7 +1201,7 @@ components: Shall be returned when the operation has been accepted and completed successfully. The response body shall contain attribute modifications for an 'Individual NS descriptor' - resource (see clause 5.5.2.6). + resource (see clause 5.5.2.1). headers: Content-Type: description: | @@ -1400,13 +1230,24 @@ components: schema: $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdInfoModifications" - IndividualNSDescriptor.Delete.204: + IndividualNSDescriptor.Patch.409: description: | - 204 NO CONTENT + 409 CONFLICT - Shall be returned when the operation has completed successfully. - The response body shall be empty. + Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict with + the state of the "Individual NS descriptor" resource. + Typically, this is due to an operational state mismatch, i.e. enable an already enabled or disable an already + disabled individual NS descriptor resource, or the "nsdOnboardingState" is not ONBOARDED. + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more + information about the error. headers: + Content-Type: + description: | + The MIME type of the body of the request. Reference: IETF RFC 7231 + style: simple + explode: false + schema: + type: string WWW-Authenticate: description: | Challenge if the corresponding HTTP request has not provided authorization, or error details if the @@ -1422,22 +1263,20 @@ components: explode: false schema: type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - NsdArchiveContent.Get.200: + IndividualNSDescriptor.Patch.412: description: | - 200 OK + 412 PRECONDITION FAILED - Shall be returned when the content of the NSD has been read successfully. - The payload body shall contain a copy of the ZIP file that contains the NSD file structure. - The "Content-Type" HTTP header shall be set to "application/zip". + Shall be returned upon the following error: A precondition given in an HTTP request header is not fulfilled. + Typically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. + The response body should contain a ProblemDetails structure, in which the "detail" attribute should convey + more information about the error. headers: - Content-Type: - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - style: simple - explode: false - schema: - type: string WWW-Authenticate: description: | Challenge if the corresponding HTTP request has not provided authorization, or error details if the @@ -1454,26 +1293,13 @@ components: schema: type: string - NsdArchiveContent.Put.202: + IndividualNSDescriptor.Delete.204: description: | - 202 ACCEPTED + 204 NO CONTENT - Shall be returned when the NSD archive has been accepted for uploading, - but the processing has not been completed. It is expected to take some - time for processing (asynchronous mode). + Shall be returned when the operation has completed successfully. The response body shall be empty. - The API consumer can track the uploading progress by receiving the - "NsdOnBoardingNotification" and "NsdOnBoardingFailureNotification" - from the NFVO or by reading the status of the individual NS descriptor - resource using the GET method. headers: - Content-Type: - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - style: simple - explode: false - schema: - type: string WWW-Authenticate: description: | Challenge if the corresponding HTTP request has not provided authorization, or error details if the @@ -1490,14 +1316,25 @@ components: schema: type: string - NsdArchiveContent.Put.204: + IndividualNSDescriptor.Delete.409: description: | - 204 NO CONTENT + 409 CONFLICT - The NSD content successfully uploaded and - validated (synchronous mode). - The response body shall be empty. + Shall be returned upon the following error: The operation cannot be executed currently, due to a + conflict with the state of the resource. + Typically, this is due to the fact the NS descriptor resource is in the enabled operational state + (i.e. nsdOperationalState = ENABLED) or there are running NS instances using the concerned individual + NS descriptor resource (i.e. nsdUsageState = IN_USE). + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall + convey more information about the error. headers: + Content-Type: + description: | + The MIME type of the body of the request. Reference: IETF RFC 7231 + style: simple + explode: false + schema: + type: string WWW-Authenticate: description: | Challenge if the corresponding HTTP request has not provided authorization, or error details if the @@ -1513,17 +1350,18 @@ components: explode: false schema: type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - NSD.Get.200: + NsdArchiveContent.Get.200: description: | 200 OK Shall be returned when the content of the NSD has been read successfully. - The payload body shall contain a copy of the file representing the NSD or - a ZIP file that contains the file or multiple files representing the NSD, - as specified above. - The "Content-Type" HTTP header shall be set according to the format of - the returned file. It shall be set to "text/plain" for a YAML file. + The payload body shall contain a copy of the ZIP file that contains the NSD file structure. + The "Content-Type" HTTP header shall be set to "application/zip". headers: Content-Type: description: | @@ -1548,22 +1386,16 @@ components: schema: type: string - NsdArchiveManifest.Get.200: + NsdArchiveContent.Get.206: description: | - 200 OK - - Shall be returned when the content of the manifest file has been read successfully. + 206 PARTIAL CONTENT - If the "include_signatures" URI query parameter was absent in the request, or if the - manifest file has all security-related information embedded (i.e. there is no separate - certificate file), the payload body shall contain a copy of the manifest file of the - NSD archive, and the "Content-Type" HTTP header shall be set to "text/plain". - If the "include_signatures" URI query parameter was present in the related request and - the manifest file does not have all the security-related information embedded (i.e. there - is a separate certificate file), the "Content-Type" HTTP header shall be set to "application/zip" - and the payload body shall contain a ZIP archive which includes: - - a copy of the manifest file of the NSD archive; - - a copy of the related individual certificate file. + If NFVO supports range requests, this response + shall be returned when a single consecutive byte range from the content of the NSD file has been read + successfully according to the request. + The response body shall contain the requested part of the NSD archive. + The "Content-Range" HTTP header shall be provided according to IETF RFC 7233 [10]. + The "Content-Type" HTTP header shall be set as defined above for the "200 OK" response. headers: Content-Type: description: | @@ -1587,26 +1419,22 @@ components: explode: false schema: type: string + Content-Range: + description: The Content-Range response HTTP header indicates where in a full body message a partial message belongs. + style: simple + explode: false + schema: + type: string - IndividualNsdArchiveArtifact.Get.200: + NsdArchiveContent.Get.409: description: | - 200 OK - - Shall be returned when the content of the artifact file has been read successfully. + 409 CONFLICT - If the "include_signatures" request URI parameter was not provided in the related request, - the payload body shall contain a copy of the artifact file from the NSD archive, as defined - by ETSI GS NFV-SOL 007, and the "Content-Type" HTTP header shall be set according to the - content type of the artifact file. If the artifact is encrypted, the header shall be set to - the value "application/cms" (IETF RFC 7193). - - If the content type cannot be determined, the header shall be set to the value - "application/octet-stream". If the "include_signatures" request URI parameter was provided - in the related request, the "Content-Type" HTTP header shall be set to "application/zip" - and the payload body shall contain a ZIP archive which includes: - - a copy of the artifact file from the VNF package, as defined by ETSI GS NFVSOL 007 - - the related security information (individual signature file and optional related individual - certificate file). + Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict + with the state of the resource. + Typically, this is due to the fact "nsdOnboardingState" has a value different from ONBOARDED. + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey + more information about the error. headers: Content-Type: description: | @@ -1630,24 +1458,18 @@ components: explode: false schema: type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - IndividualNsdArchiveArtifact.Get.206: + NsdArchiveContent.Get.416: description: | - 206 PARTIAL CONTENT - - If the NFVO supports range requests and the "include_signatures" request URI parameter was - not present in the related request, this response shall be returned when a single consecutive - byte range from the content of the artifact file has been read successfully according to the - request. - - The response body shall contain the requested part of the artifact file from the NSD archive, - as defined by ETSI GS NFV-SOL 007. - - The "Content-Type" HTTP header shall be set according to the content type of the artifact file. - If the content type cannot be determined, the header shall be set to the value - "application/octet-stream". + 416 RANGE NOT SATISFIABLE - The "Content-Range" HTTP header shall be provided according to IETF RFC 7233. + The byte range passed in the "Range" header did not match any available byte range in the NSD file + (e.g. "access after end of file"). + The response body may contain a ProblemDetails structure. headers: Content-Type: description: | @@ -1671,18 +1493,25 @@ components: explode: false schema: type: string + Content-Range: + description: The Content-Range response HTTP header indicates where in a full body message a partial message belongs. + style: simple + explode: false + schema: + type: string - PNFDescriptors.Post.201: + NsdArchiveContent.Put.202: description: | - 201 CREATED + 202 ACCEPTED - Shall be returned when a new "Individual PNF descriptor" - resource and the associated PNF descriptor identifier - has been created successfully. - The response body shall contain a representation of the - created PNF descriptor resource, as defined in clause 5.5.2.5. - The HTTP response shall include a "Location" HTTP header that - contains the resource URI of the created PNF descriptor resource. + Shall be returned when the NSD archive has been accepted for uploading, + but the processing has not been completed. It is expected to take some + time for processing (asynchronous mode). + The response body shall be empty. + The API consumer can track the uploading progress by receiving the + "NsdOnBoardingNotification" and "NsdOnBoardingFailureNotification" + from the NFVO or by reading the status of the individual NS descriptor + resource using the GET method. headers: Content-Type: description: | @@ -1706,30 +1535,41 @@ components: explode: false schema: type: string - content: - application/json: - schema: - $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/PnfdInfo" - PNFDescriptors.Get.200: + NsdArchiveContent.Put.204: description: | - 200 OK + 204 NO CONTENT - Shall be returned when information about zero or more PNF descriptors has - been queried successfully. - The response body shall contain in an array the representations of zero or - more PNF descriptors, as defined in clause 5.5.2.5. - If the NFVO supports alternative 2 (paging) according to clause 5.4.2.1 of - ETSI GS NFV-SOL 013 for this resource, inclusion of the Link HTTP header in - this response shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. + The NSD content successfully uploaded and + validated (synchronous mode). + The response body shall be empty. headers: - Content-Type: + WWW-Authenticate: description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Version: + description: | + Version of the API used in the response. style: simple explode: false schema: type: string + + NsdArchiveContent.Put.409: + description: | + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict + with the state of the resource. + Typically, this is due to the fact that the "nsdOnboardingState" attribute has a value other than "CREATED" or "ERROR". + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey + more information about the error. + headers: WWW-Authenticate: description: | Challenge if the corresponding HTTP request has not provided authorization, or error details if the @@ -1745,9 +1585,9 @@ components: explode: false schema: type: string - Link: + Content-Type: description: | - Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + The MIME type of the body of the request. Reference: IETF RFC 7231 style: simple explode: false schema: @@ -1755,24 +1595,18 @@ components: content: application/json: schema: - description: | - Information about zero or more PNF descriptors. - The response body shall contain a representation in an array the representations - of zero or more PNF descriptors, as defined in clause 5.5.2.2. - If the NFVO supports alternative 2 (paging) according to clause 4.7.2.1 for this resource, - inclusion of the Link HTTP header in this response shall follow the provisions in clause 4.7.2.3. - type: array - items: - $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/PnfdInfo" + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - IndividualPnfDescriptor.Get.200: + NSD.Get.200: description: | 200 OK - Shall be returned when information about the individual PNFD - descriptor has been read successfully. - The response body shall contain a representation of the - individual PNF descriptor, as defined in clause 5.5.2.5. + Shall be returned when the content of the NSD has been read successfully. + The payload body shall contain a copy of the file representing the NSD or + a ZIP file that contains the file or multiple files representing the NSD, + as specified above. + The "Content-Type" HTTP header shall be set according to the format of + the returned file. It shall be set to "text/plain" for a YAML file. headers: Content-Type: description: | @@ -1796,27 +1630,15 @@ components: explode: false schema: type: string - content: - application/json: - schema: - $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/PnfdInfo" - IndividualPnfDescriptor.Patch.200: + NSD.Get.406: description: | - 200 OK + 406 Not Acceptable - Shall be returned when the operation has been accepted - and completed successfully. - The response body shall contain attribute modifications - for an 'Individual PNF Descriptor' resource (see clause 5.5.2.4). + If the "Accept" header does not contain at least one name of a content type for which the NFVO can provide a + representation of the NSD, the NFVO shall respond with this response code. + The "ProblemDetails" structure may be included with the "detail" attribute providing more information about the error. headers: - Content-Type: - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - style: simple - explode: false - schema: - type: string WWW-Authenticate: description: | Challenge if the corresponding HTTP request has not provided authorization, or error details if the @@ -1832,18 +1654,16 @@ components: explode: false schema: type: string - content: - application/json: - schema: - $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/PnfdInfoModifications" - IndividualPnfDescriptor.Delete.200: + NSD.Get.409: description: | - 204 NO CONTENT + 409 CONFLICT - Shall be returned when the operation - has completed successfully. - The response body shall be empty. + Shall be returned upon the following error: The operation cannot be executed currently, due to a + conflict with the state of the resource. + Typically, this is due to the fact that "nsdOnboardingState" has a value different from "ONBOARDED". + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall + convey more information about the error. headers: WWW-Authenticate: description: | @@ -1860,11 +1680,492 @@ components: explode: false schema: type: string + Content-Type: + description: | + The MIME type of the body of the request. Reference: IETF RFC 7231 + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + + NsdArchiveManifest.Get.200: + description: | + 200 OK + + Shall be returned when the content of the manifest file has been read successfully. + + If the "include_signatures" URI query parameter was absent in the request, or if the + manifest file has all security-related information embedded (i.e. there is no separate + certificate file), the payload body shall contain a copy of the manifest file of the + NSD archive, and the "Content-Type" HTTP header shall be set to "text/plain". + If the "include_signatures" URI query parameter was present in the related request and + the manifest file does not have all the security-related information embedded (i.e. there + is a separate certificate file), the "Content-Type" HTTP header shall be set to "application/zip" + and the payload body shall contain a ZIP archive which includes: + - a copy of the manifest file of the NSD archive; + - a copy of the related individual certificate file. + headers: + Content-Type: + description: | + The MIME type of the body of the request. Reference: IETF RFC 7231 + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + + NsdArchiveManifest.Get.409: + description: | + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be executed currently, due to a + conflict with the state of the resource. + Typically, this is due to the fact that "nsdOnboardingState " has a value different from "ONBOARDED". + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey + more information about the error. + headers: + Content-Type: + description: | + The MIME type of the body of the request. Reference: IETF RFC 7231 + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + + IndividualNsdArchiveArtifact.Get.200: + description: | + 200 OK + + Shall be returned when the content of the artifact file has been read successfully. + + If the "include_signatures" request URI parameter was not provided in the related request, + the payload body shall contain a copy of the artifact file from the NSD archive, as defined + by ETSI GS NFV-SOL 007, and the "Content-Type" HTTP header shall be set according to the + content type of the artifact file. If the artifact is encrypted, the header shall be set to + the value "application/cms" (IETF RFC 7193). + + If the content type cannot be determined, the header shall be set to the value + "application/octet-stream". If the "include_signatures" request URI parameter was provided + in the related request, the "Content-Type" HTTP header shall be set to "application/zip" + and the payload body shall contain a ZIP archive which includes: + - a copy of the artifact file from the VNF package, as defined by ETSI GS NFVSOL 007 + - the related security information (individual signature file and optional related individual + certificate file). + headers: + Content-Type: + description: | + The MIME type of the body of the request. Reference: IETF RFC 7231 + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + + IndividualNsdArchiveArtifact.Get.206: + description: | + 206 PARTIAL CONTENT + + If the NFVO supports range requests and the "include_signatures" request URI parameter was + not present in the related request, this response shall be returned when a single consecutive + byte range from the content of the artifact file has been read successfully according to the + request. + + The response body shall contain the requested part of the artifact file from the NSD archive, + as defined by ETSI GS NFV-SOL 007. + + The "Content-Type" HTTP header shall be set according to the content type of the artifact file. + If the content type cannot be determined, the header shall be set to the value + "application/octet-stream". + + The "Content-Range" HTTP header shall be provided according to IETF RFC 7233. + headers: + Content-Type: + description: | + The MIME type of the body of the request. Reference: IETF RFC 7231 + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + + IndividualNsdArchiveArtifact.Get.409: + description: | + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict + with the state of the resource. + Typically, this is due to the fact that "nsdOnboardingState" has a value different from "ONBOARDED". + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey + more information about the error. + + headers: + Content-Type: + description: | + The MIME type of the body of the request. Reference: IETF RFC 7231 + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + + IndividualNsdArchiveArtifact.Get.406: + description: | + 406 NOT ACCEPTABLE + + If the related request contained an "Accept" header not compatible with the Content type "application/zip" + but the "include_signatures" flag was provided, the NFVO shall respond with this response code. + The "ProblemDetails" structure may be included with the "detail" attribute providing more information about the error. + + headers: + Content-Type: + description: | + The MIME type of the body of the request. Reference: IETF RFC 7231 + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + + IndividualNsdArchiveArtifact.Get.416: + description: | + 416 Range Not Satisfiable + + The byte range passed in the "Range" header did not match any available byte range in the artifact + file (e.g. "access after end of file"). + The response body may contain a ProblemDetails structure. + + headers: + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + + PNFDescriptors.Post.201: + description: | + 201 CREATED + + Shall be returned when a new "Individual PNF descriptor" + resource and the associated PNF descriptor identifier + has been created successfully. + The response body shall contain a representation of the + created PNF descriptor resource, as defined in clause 5.5.2.5. + The HTTP response shall include a "Location" HTTP header that + contains the resource URI of the created PNF descriptor resource. + headers: + Content-Type: + description: | + The MIME type of the body of the request. Reference: IETF RFC 7231 + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/PnfdInfo" + + PNFDescriptors.Get.200: + description: | + 200 OK + + Shall be returned when information about zero or more PNF descriptors has + been queried successfully. + The response body shall contain in an array the representations of zero or + more PNF descriptors, as defined in clause 5.5.2.5. + If the NFVO supports alternative 2 (paging) according to clause 5.4.2.1 of + ETSI GS NFV-SOL 013 for this resource, inclusion of the Link HTTP header in + this response shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. + headers: + Content-Type: + description: | + The MIME type of the body of the request. Reference: IETF RFC 7231 + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + Link: + description: | + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + description: | + Information about zero or more PNF descriptors. + The response body shall contain a representation in an array the representations + of zero or more PNF descriptors, as defined in clause 5.5.2.2. + If the NFVO supports alternative 2 (paging) according to clause 4.7.2.1 for this resource, + inclusion of the Link HTTP header in this response shall follow the provisions in clause 4.7.2.3. + type: array + items: + $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/PnfdInfo" + + IndividualPnfDescriptor.Get.200: + description: | + 200 OK + + Shall be returned when information about the individual PNFD + descriptor has been read successfully. + The response body shall contain a representation of the + individual PNF descriptor, as defined in clause 5.5.2.5. + headers: + Content-Type: + description: | + The MIME type of the body of the request. Reference: IETF RFC 7231 + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/PnfdInfo" + + IndividualPnfDescriptor.Patch.200: + description: | + 200 OK + + Shall be returned when the operation has been accepted + and completed successfully. + The response body shall contain attribute modifications + for an 'Individual PNF Descriptor' resource (see clause 5.5.2.4). + headers: + Content-Type: + description: | + The MIME type of the body of the request. Reference: IETF RFC 7231 + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/PnfdInfoModifications" + + IndividualPnfDescriptor.Patch.412: + description: | + 412 Precondition failed + + Shall be returned upon the following error: A precondition given in an HTTP request header is not fulfilled. + Typically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. + The response body should contain a ProblemDetails structure, in which the "detail" attribute should + convey more information about the error. + headers: + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + + IndividualPnfDescriptor.Delete.200: + description: | + 204 NO CONTENT + + Shall be returned when the operation + has completed successfully. + The response body shall be empty. + headers: + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + + PnfdArchiveContent.Get.200: + description: | + 200 OK - PnfdArchiveContent.Get.200: - description: | - 200 OK - Shall be returned when the content of the PNFD archive has been read successfully. The payload body shall contain a copy of the PNFD archive @@ -1933,6 +2234,68 @@ components: schema: type: string + PnfdArchiveContent.Get.409: + description: | + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be executed currently, due + to a conflict with the state of the resource. + Typically, this is due to the fact pnfdOnboardingState has a value different from ONBOARDED. + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall + convey more information about the error. + headers: + Content-Type: + description: | + The MIME type of the body of the request. Reference: IETF RFC 7231 + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + + PnfdArchiveContent.Get.416: + description: | + 416 Range not Satisfiable + + Shall be returned upon the following error: The byte range passed in the "Range" header did not + match any available byte range in the PNFD archive (e.g. "access after end of file"). + The response body may contain a ProblemDetails structure. + headers: + + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + PnfdArchiveContent.Put.200: description: | 202 ACCEPTED @@ -1986,6 +2349,43 @@ components: schema: type: string + PnfdArchiveContent.Put.409: + description: | + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict + with the state of the resource. + Typically, this is due to the fact that the "pnfdOnboardingState" attribute has a value other than "CREATED" or "ERROR". + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey + more information about the error + headers: + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + Content-Type: + description: | + The MIME type of the body of the request. Reference: IETF RFC 7231 + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + PNFD.Get.200: description: | 200 OK @@ -2020,8 +2420,72 @@ components: schema: type: string + PNFD.Get.406: + description: | + 406 Not Acceptable + + If the "Accept" header does not contain at least one name of a content type for which the NFVO can + provide a representation of the PNFD, the NFVO shall respond with this response code. + The "ProblemDetails" structure may be included with the "detail" attribute providing more information + about the error. + headers: + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + + PNFD.Get.409: + description: | + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be executed currently, due to + a conflict with the state of the resource. + Typically, this is due to the fact that "pnfdOnboardingState " has a value different from "ONBOARDED". + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall + convey more information about the error. + headers: + Content-Type: + description: | + The MIME type of the body of the request. Reference: IETF RFC 7231 + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + PnfdArchiveManifest.Get.200: description: | + 200 OK + Shall be returned when the content of the manifest file has been read successfully. If the "include_signatures" URI query parameter was absent in the @@ -2063,6 +2527,46 @@ components: schema: type: string + PnfdArchiveManifest.Get.409: + description: | + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be executed currently, due to a + conflict with the state of the resource. + Typically, this is due to the fact that "pnfdOnboardingState " has a value different from "ONBOARDED". + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall + convey more information about the error. + headers: + Content-Type: + description: | + The MIME type of the body of the request. Reference: IETF RFC 7231 + style: simple + explode: false + schema: + type: string + enum: + - text/plain + - application/zip + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + IndividualPnfdArchiveArtifact.Get.200: description: | 200 OK @@ -2147,6 +2651,106 @@ components: schema: type: string + IndividualPnfdArchiveArtifact.Get.406: + description: | + 406 NOT ACCEPTABLE + + If the related request contained an "Accept" header not compatible with the Content type "application/zip" + but the "include_signatures" flag was provided, the NFVO shall respond with this response code. + The "ProblemDetails" structure may be included with the "detail" attribute providing more information + about the error. + headers: + Content-Type: + description: | + The MIME type of the body of the request. Reference: IETF RFC 7231 + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + + IndividualPnfdArchiveArtifact.Get.409: + description: | + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be executed currently, due to a + conflict with the state of the resource. + Typically, this is due to the fact that "pnfdOnboardingState" has a value different from "ONBOARDED". + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall + convey more information about the error. + headers: + Content-Type: + description: | + The MIME type of the body of the request. Reference: IETF RFC 7231 + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + + IndividualPnfdArchiveArtifact.Get.416: + description: | + 416 Range Not Satisfiable + + The byte range passed in the "Range" header did not match any available byte range in the artifact + file (e.g. "access after end of file"). + The response body may contain a ProblemDetails structure. + headers: + Content-Type: + description: | + The MIME type of the body of the request. Reference: IETF RFC 7231 + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + Subscriptions.Post.201: description: | 201 CREATED @@ -2179,11 +2783,96 @@ components: explode: false schema: type: string + Location: + description: | + The resource URI of the created NS instance + schema: + type: string + style: simple content: application/json: schema: $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdmSubscription" + Subscriptions.Post.303: + description: | + 303 See Other + + Shall be returned when a subscription with the same callback URI and the same filter already exits and the + policy of the NFVO is to not create redundant subscriptions. + The HTTP response shall include a "Location" HTTP header that contains the resource URI of the existing + "Individual subscription" resource. + The response body shall be empty. + headers: + Content-Type: + description: | + The MIME type of the body of the request. Reference: IETF RFC 7231 + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + Location: + description: | + The resource URI of the created NS instance + schema: + type: string + style: simple + + Subscriptions.Post.422: + description: | + 422 Unprocessable Entity + + Shall be returned upon the following error: The content type of the payload body is supported and the payload + body of a request contains syntactically correct data but the data cannot be processed. + The general cause for this error and its handling is specified in clause 6.4 of ETSI GS NFV-SOL 013 [16], + including rules for the presence of the response body. + Specifically in case of this resource, the response code 422 shall also be returned if the NFVO has tested + the Notification endpoint as described in clause 5.4.10.3.2 and the test has failed. + In this case, the "detail" attribute in the "ProblemDetails" structure shall convey more information about + the error. + headers: + Content-Type: + description: | + The MIME type of the body of the request. Reference: IETF RFC 7231 + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + Subscriptions.Get.200: description: | 200 OK diff --git a/src/SOL005/NSFaultManagement/NSFaultManagement.yaml b/src/SOL005/NSFaultManagement/NSFaultManagement.yaml index 237ea7b..07708dd 100644 --- a/src/SOL005/NSFaultManagement/NSFaultManagement.yaml +++ b/src/SOL005/NSFaultManagement/NSFaultManagement.yaml @@ -123,9 +123,9 @@ paths: "406": $ref: ../responses/SOL005_resp.yaml#/components/responses/406 "409": - $ref: ../responses/SOL005_resp.yaml#/components/responses/409 + $ref: '#/components/responses/IndividualAlarm.Patch.409' "412": - $ref: ../responses/SOL005_resp.yaml#/components/responses/412 + $ref: '#/components/responses/IndividualAlarm.Patch.412' "416": $ref: ../responses/SOL005_resp.yaml#/components/responses/416 "500": @@ -182,7 +182,7 @@ paths: "201": $ref: '#/components/responses/FmSubscriptions.Post.201' "303": - $ref: ../responses/SOL005_resp.yaml#/components/responses/303 + $ref: '#/components/responses/FmSubscriptions.Post.303' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -196,7 +196,7 @@ paths: "406": $ref: ../responses/SOL005_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL005_resp.yaml#/components/responses/422 + $ref: '#/components/responses/FmSubscriptions.Post.422' "500": $ref: ../responses/SOL005_resp.yaml#/components/responses/500 "503": @@ -419,6 +419,73 @@ components: schema: $ref: ./definitions/SOL005NSFaultManagement_def.yaml#/definitions/AlarmModifications + IndividualAlarm.Patch.409: + description: | + 409 CONFLICT + Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict + with the state of the "Individual alarm" resource. + Typically, this is due to the fact that the alarm is already in the state that is requested to be set + (such as trying to acknowledge an already-acknowledged alarm). + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey + more information about the error. + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + + IndividualAlarm.Patch.412: + description: | + 412 Precondition Failed + + Shall be returned upon the following error: A precondition given in an HTTP request header is not fulfilled. + Typically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. + The response body should contain a ProblemDetails structure, in which the "detail" attribute should + convey more information about the error. + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + FmSubscriptions.Get.200: description: | 200 OK @@ -500,6 +567,79 @@ components: schema: $ref: ./definitions/SOL005NSFaultManagement_def.yaml#/definitions/FmSubscription + FmSubscriptions.Post.303: + description: | + 303 See Other + Shall be returned when a subscription with the same callback URI and the same filter already exists and the + policy of the NFVO is to not create redundant subscriptions. + The HTTP response shall include a "Location" HTTP header that contains the resource URI of the existing + "Individual subscription" resource. + The response body shall be empty. + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Location: + description: The resource URI of the created NS instance + style: simple + explode: false + schema: + type: string + format: url + + FmSubscriptions.Post.422: + description: | + 422 Unprocessable Entity + + Shall be returned upon the following error: The content type of the payload body is supported and the payload + body of a request contains syntactically correct data but the data cannot be processed. + The general cause for this error and its handling is specified in clause 6.4 of ETSI GS NFV-SOL 013 [16], + including rules for the presence of the response body. + Specifically in case of this resource, the response code 422 shall also be returned if the NFVO has tested + the Notification endpoint as described in clause 8.4.6.3.2 and the test has failed. + In this case, the "detail" attribute in the "ProblemDetails" structure shall convey more information about + the error. + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: | + The MIME type of the body of the response.This header field shall be present if the response has a + non-empty message body. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + IndividualFmSubscription.Get.200: description: | 200 OK diff --git a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml index 629f96a..cf5f313 100644 --- a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml +++ b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml @@ -160,7 +160,7 @@ paths: "406": $ref: ../responses/SOL005_resp.yaml#/components/responses/406 "409": - $ref: ../responses/SOL005_resp.yaml#/components/responses/409 + $ref: '#/components/responses/IndividualNsInstance.Delete.409' "412": $ref: ../responses/SOL005_resp.yaml#/components/responses/412 "500": @@ -199,7 +199,7 @@ paths: "406": $ref: ../responses/SOL005_resp.yaml#/components/responses/406 "409": - $ref: ../responses/SOL005_resp.yaml#/components/responses/409 + $ref: '#/components/responses/InstantiateNsInstance.Post.409' "416": $ref: ../responses/SOL005_resp.yaml#/components/responses/416 "500": @@ -238,7 +238,7 @@ paths: "406": $ref: ../responses/SOL005_resp.yaml#/components/responses/406 "409": - $ref: ../responses/SOL005_resp.yaml#/components/responses/409 + $ref: '#/components/responses/ScaleNsInstance.Post.409' "416": $ref: ../responses/SOL005_resp.yaml#/components/responses/416 "500": @@ -277,7 +277,7 @@ paths: "406": $ref: ../responses/SOL005_resp.yaml#/components/responses/406 "409": - $ref: ../responses/SOL005_resp.yaml#/components/responses/409 + $ref: '#/components/responses/UpdateNsInstance.Post.409' "416": $ref: ../responses/SOL005_resp.yaml#/components/responses/416 "500": @@ -316,7 +316,7 @@ paths: "406": $ref: ../responses/SOL005_resp.yaml#/components/responses/406 "409": - $ref: ../responses/SOL005_resp.yaml#/components/responses/409 + $ref: '#/components/responses/HealNsInstance.Post.409' "416": $ref: ../responses/SOL005_resp.yaml#/components/responses/416 "500": @@ -355,7 +355,7 @@ paths: "406": $ref: ../responses/SOL005_resp.yaml#/components/responses/406 "409": - $ref: ../responses/SOL005_resp.yaml#/components/responses/409 + $ref: '#/components/responses/TerminateNsInstance.Post.409' "416": $ref: ../responses/SOL005_resp.yaml#/components/responses/416 "500": @@ -470,13 +470,13 @@ paths: "403": $ref: ../responses/SOL005_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL005_resp.yaml#/components/responses/404 + $ref: '#/components/responses/NsLcmOpOccRetry.Post.404' "405": $ref: ../responses/SOL005_resp.yaml#/components/responses/405 "406": $ref: ../responses/SOL005_resp.yaml#/components/responses/406 "409": - $ref: ../responses/SOL005_resp.yaml#/components/responses/409 + $ref: '#/components/responses/NsLcmOpOccRetry.Post.409' "416": $ref: ../responses/SOL005_resp.yaml#/components/responses/416 "500": @@ -505,13 +505,13 @@ paths: "403": $ref: ../responses/SOL005_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL005_resp.yaml#/components/responses/404 + $ref: '#/components/responses/NsLcmOpOccRollback.Post.404' "405": $ref: ../responses/SOL005_resp.yaml#/components/responses/405 "406": $ref: ../responses/SOL005_resp.yaml#/components/responses/406 "409": - $ref: ../responses/SOL005_resp.yaml#/components/responses/409 + $ref: '#/components/responses/NsLcmOpOccRollback.Post.409' "416": $ref: ../responses/SOL005_resp.yaml#/components/responses/416 "500": @@ -540,13 +540,13 @@ paths: "403": $ref: ../responses/SOL005_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL005_resp.yaml#/components/responses/404 + $ref: '#/components/responses/NsLcmOpOccContinue.Post.404' "405": $ref: ../responses/SOL005_resp.yaml#/components/responses/405 "406": $ref: ../responses/SOL005_resp.yaml#/components/responses/406 "409": - $ref: ../responses/SOL005_resp.yaml#/components/responses/409 + $ref: '#/components/responses/NsLcmOpOccContinue.Post.409' "416": $ref: ../responses/SOL005_resp.yaml#/components/responses/416 "500": @@ -577,13 +577,13 @@ paths: "403": $ref: ../responses/SOL005_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL005_resp.yaml#/components/responses/404 + $ref: '#/components/responses/NsLcmOpOccFail.Post.404' "405": $ref: ../responses/SOL005_resp.yaml#/components/responses/405 "406": $ref: ../responses/SOL005_resp.yaml#/components/responses/406 "409": - $ref: ../responses/SOL005_resp.yaml#/components/responses/409 + $ref: '#/components/responses/NsLcmOpOccFail.Post.409' "416": $ref: ../responses/SOL005_resp.yaml#/components/responses/416 "500": @@ -618,13 +618,13 @@ paths: "403": $ref: ../responses/SOL005_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL005_resp.yaml#/components/responses/404 + $ref: '#/components/responses/NsLcmOpOccCancel.Post.404' "405": $ref: ../responses/SOL005_resp.yaml#/components/responses/405 "406": $ref: ../responses/SOL005_resp.yaml#/components/responses/406 "409": - $ref: ../responses/SOL005_resp.yaml#/components/responses/409 + $ref: '#/components/responses/NsLcmOpOccCancel.Post.409' "416": $ref: ../responses/SOL005_resp.yaml#/components/responses/416 "500": @@ -680,7 +680,7 @@ paths: "201": $ref: '#/components/responses/NsLcmSubscriptions.Post.201' "303": - $ref: ../responses/SOL005_resp.yaml#/components/responses/303 + $ref: '#/components/responses/NsLcmSubscriptions.Post.303' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -694,7 +694,7 @@ paths: "406": $ref: ../responses/SOL005_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL005_resp.yaml#/components/responses/422 + $ref: '#/components/responses/NsLcmSubscriptions.Post.422' "500": $ref: ../responses/SOL005_resp.yaml#/components/responses/500 "503": @@ -1121,9 +1121,43 @@ components: type: string content: {} + IndividualNsInstance.Delete.409: + description: | + 409 CONFLICT + Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict + with the state of the resource. + Typically, this is due to the fact that the NS instance resource is in INSTANTIATED state. + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey + more information about the error. + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + InstantiateNsInstance.Post.202: description: | 202 ACCEPTED + + accepted for processing, but the processing has not been completed. + The response body shall be empty. + The HTTP response shall include a "Location" HTTP header that contains the URI of the newly-created + "Individual NS LCM operation occurrence" resource corresponding to the operation. headers: Version: description: | @@ -1155,9 +1189,51 @@ components: format: url content: {} + InstantiateNsInstance.Post.409: + description: | + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict + with the state of the resource. + Typically, this is due to the fact that the NS instance resource is in the INSTANTIATED state, or that + another lifecycle management operation is ongoing. + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey + more information about the error. + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + ScaleNsInstance.Post.202: description: | 202 ACCEPTED + + Shall be returned when the request has been accepted for processing, but the processing has not been completed. + The response body shall be empty. + The HTTP response shall include a "Location" HTTP header that contains the URI of the newly-created + "Individual NS lifecycle operation occurrence" resource corresponding to the operation. headers: Version: description: | @@ -1189,9 +1265,51 @@ components: format: url content: {} + ScaleNsInstance.Post.409: + description: | + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict with + the state of the resource. + Typically, this is due to the fact that the NS instance resource is in NOT_INSTANTIATED state, or that another + lifecycle management operation is ongoing. + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more + information about the error. + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + UpdateNsInstance.Post.202: description: | 202 ACCEPTED + + accepted for processing, but the processing has not been completed. + The response body shall be empty. + The HTTP response shall include a "Location" HTTP header that contains the URI of the newly-created + "Individual NS lifecycle operation occurrence" resource corresponding to the operation. headers: Version: description: | @@ -1223,9 +1341,51 @@ components: format: url content: {} + UpdateNsInstance.Post.409: + description: | + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict + with the state of the resource. + Typically, this is due to the fact that the NS instance resource is in NOT_INSTANTIATED state, or that + another lifecycle management operation is ongoing. + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey + more information about the error. + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + HealNsInstance.Post.202: description: | 202 ACCEPTED + + Shall be returned when the request has been accepted for processing, but the processing has not been completed. + The response body shall be empty. + The HTTP response shall include a "Location" HTTP header that contains the URI of the newly-created + "Individual NS lifecycle operation occurrence" resource corresponding to the operation. headers: Version: description: | @@ -1257,9 +1417,51 @@ components: format: url content: {} + HealNsInstance.Post.409: + description: | + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be executed currently, due to a + conflict with the state of the resource. + Typically, this is due to the fact that the NS instance resource is in NOT_INSTANTIATED state, or that + another lifecycle management operation is ongoing. + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more + information about the error + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + TerminateNsInstance.Post.202: description: | 202 ACCEPTED + + Shall be returned when the request has been accepted for processing. + The response body shall be empty. + The HTTP response shall include a "Location" HTTP header that contains the URI of the newly-created + "Individual NS lifecycle operation occurrence" resource corresponding to the operation. headers: Version: description: | @@ -1291,6 +1493,43 @@ components: format: url content: {} + TerminateNsInstance.Post.409: + description: | + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict + with the state of the resource. + Typically, this is due to the fact that the NS instance resource is in NOT_INSTANTIATED state, or that another + lifecycle management operation is ongoing. + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more + information about the error. + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + NsLcmOpOccs.Get.200: description: | 200 OK @@ -1375,6 +1614,9 @@ components: NsLcmOpOccRetry.Post.202: description: | 202 ACCEPTED + + Shall be returned when the request has been accepted for processing, but processing has not been completed. + The response shall have an empty payload body. headers: Version: description: | @@ -1406,9 +1648,88 @@ components: format: url content: {} + NsLcmOpOccRetry.Post.404: + description: | + 404 NOT FOUND + + Shall be returned upon the following error: The API producer did not find a current representation for the + target resource or is not willing to disclose that one exists. + The general cause for this error and its handling is specified in clause 6.4 of ETSI GS NFV-SOL 013 [16], + including rules for the presence of the response body. + Specifically in case of this task resource, the response code 404 shall also be returned if the task is not + supported for the NS LCM operation occurrence represented by the parent resource, which means that the task resource consequently does not exist. + In this case, the response body shall be present, and shall contain a ProblemDetails structure, in which the + "detail" attribute shall convey more information about the error. + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + + NsLcmOpOccRetry.Post.409: + description: | + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict with + the state of the NS LCM operation occurrence resource. + Typically, this is due to the fact that the NS LCM operation occurrence is not in FAILED_TEMP state, or another + error handling action is starting, such as rollback or fail. + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more + information about the error. + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + NsLcmOpOccRollback.Post.202: description: | 202 ACCEPTED + + Shall be returned when the request has been accepted for processing, but processing has not been completed. + The response shall have an empty payload body. headers: Version: description: | @@ -1440,9 +1761,89 @@ components: format: url content: {} + NsLcmOpOccRollback.Post.404: + description: | + 404 NOT FOUND + + Shall be returned upon the following error: The API producer did not find a current representation for the + target resource or is not willing to disclose that one exists. + The general cause for this error and its handling is specified in clause 6.4 of ETSI GS NFV-SOL 013 [16], + including rules for the presence of the response body. + Specifically, in case of this task resource, the response code 404 shall also be returned if the task is not + supported for the NS LCM operation occurrence represented by the parent resource, which means that the task resource consequently does not exist. + In this case, the response body shall be present, and shall contain a ProblemDetails structure, in which the + "detail" attribute shall convey more information about the error. + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + + NsLcmOpOccRollback.Post.409: + description: | + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict with + the state of the NS LCM operation occurrence resource. + Typically, this is due to the fact that the NS LCM operation occurrence is not in FAILED_TEMP state, or another + error handling action is starting, such as retry or fail. + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more + information about the error. + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + NsLcmOpOccContinue.Post.202: description: | 202 ACCEPTED + + Shall be returned when the request has been accepted for processing, but processing has not been completed. + The response shall have an empty payload body. + headers: Version: description: | @@ -1474,6 +1875,74 @@ components: format: url content: {} + NsLcmOpOccContinue.Post.404: + description: | + 404 NOT FOUND + + Shall be returned upon the following error: The API producer did not find a current representation for the + target resource or is not willing to disclose that one exists. + The general cause for this error and its handling is specified in clause 6.4 of ETSI GS NFV-SOL 013 [16], + including rules for the presence of the response body. + Specifically, in case of this task resource, the response code 404 shall also be returned if the task is not + supported for the NS LCM operation occurrence represented by the parent resource, which means that the task resource consequently does not exist. + In this case, the response body shall be present, and shall contain a ProblemDetails structure, in which the + "detail" attribute shall convey more information about the error. + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + + NsLcmOpOccContinue.Post.409: + description: | + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict + with the state of the NS LCM operation occurrence resource. + Typically, this is due to the fact that the NS LCM operation occurrence is not in FAILED_TEMP state, or + another error handling action is starting, such as retry or fail. + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey + more information about the error. + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + NsLcmOpOccFail.Post.200: description: | 200 OK @@ -1509,9 +1978,94 @@ components: schema: $ref: ./definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsLcmOpOcc + + NsLcmOpOccFail.Post.404: + description: | + 404 NOT FOUND + + Shall be returned upon the following error: The API producer did not find a current representation for the + target resource or is not willing to disclose that one exists. + The general cause for this error and its handling is specified in clause 6.4 of ETSI GS NFV-SOL 013 [16], + including rules for the presence of the response body. + Specifically in case of this task resource, the response code 404 shall also be returned if the task is not + supported for the NS LCM operation occurrence represented by the parent resource, which means that the task resource consequently does not exist. + In this case, the response body shall be present, and shall contain a ProblemDetails structure, in which the + "detail" attribute shall convey more information about the error. + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: | + The MIME type of the body of the response.This header field shall be present if the response has a + non-empty message body. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + + NsLcmOpOccFail.Post.409: + description: | + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict with + the state of the NS LCM operation occurrence resource. + Typically, this is due to the fact that the NS LCM operation occurrence is not in FAILED_TEMP state, or another + error handling action is starting, such as retry or rollback. + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more + information about the error. + + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: | + The MIME type of the body of the response.This header field shall be present if the response has a + non-empty message body. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + NsLcmOpOccCancel.Post.202: description: | 202 ACCEPTED + + Shall be returned when the request has been accepted for processing, but processing has not been completed. + The response shall have an empty entity body. headers: Version: description: | @@ -1543,6 +2097,81 @@ components: format: url content: {} + NsLcmOpOccCancel.Post.404: + description: | + 404 NOT FOUND + + Shall be returned upon the following error: The API producer did not find a current representation for the + target resource or is not willing to disclose that one exists. + The general cause for this error and its handling is specified in clause 6.4 of ETSI GS NFV-SOL 013 [16], + including rules for the presence of the response body. + Specifically, in case of this task resource, the response code 404 shall also be returned if the task is not + supported for the NS LCM operation occurrence represented by the parent resource, which means that the task resource consequently does not exist. + In this case, the response body shall be present, and shall contain a ProblemDetails structure, in which the + "detail" attribute shall convey more information about the error. + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + + NsLcmOpOccCancel.Post.409: + description: | + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict + with the state of the NS LCM operation occurrence resource. + Typically, this is due to the fact that the operation occurrence is not in STARTING, PROCESSING or ROLLING_BACK state. + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more + information about the error. + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + NsLcmSubscriptions.Get.200: description: | 200 OK @@ -1627,6 +2256,72 @@ components: schema: $ref: ./definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/LccnSubscription + NsLcmSubscriptions.Post.303: + description: | + 303 See Other + + Shall be returned if a subscription with the same callback URI and the same filter already exits and the + policy of the NFVO is to not create redundant subscriptions. + The HTTP response shall include a "Location" HTTP header that contains the resource URI of the existing + "Individual subscription" resource. + The response body shall be empty. + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + + NsLcmSubscriptions.Post.422: + description: | + 422 Unprocessable Entity + + Shall be returned upon the following error: The content type of the payload body is supported and the + payload body of a request contains syntactically correct data but the data cannot be processed. + The general cause for this error and its handling is specified in clause 6.4 of ETSI GS NFV-SOL 013 [16], + including rules for the presence of the response body. + Specifically in case of this resource, the response code 422 shall also be returned if the NFVO has tested + the Notification endpoint as described in clause 6.4.18.3.2 and the test has failed. + In this case, the "detail" attribute in the "ProblemDetails" structure shall convey more information about the error. + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: | + The MIME type of the body of the response.This header field shall be present if the response has a + non-empty message body. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + IndividualNsLcmSubscription.Get.200: description: | 200 OK diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index 39e0527..3e039c7 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -198,8 +198,14 @@ definitions: This type represents a response for Query NS operation. It shall comply with the provisions defined in Table 6.5.2.10-1. - NOTE: If the "nsState" attribute is INSTANTIATED, at least either one - "vnfInstance" attribute or one "nestedNsInstanceId" attribute shall be present. + NOTE 1: If the "nsState" attribute is INSTANTIATED, at least either one + "vnfInstance" attribute or one "nestedNsInstanceId" attribute shall be present. + NOTE 2: The ā€œpriorityā€ attribute of the NS instance is configured in the NSD in the NsDf structure. + The mapping from application-specific priority values to a value in the NsDf is under OSS/BSS responsibility. + The "zero" value expresses the highest priority and the fact that the NS instance based on this DF cannot be + pre-empted during resource allocation. + NOTE 3: Examples for the usage of priority include conflict resolution in case of resource shortage + type: object required: - id @@ -237,10 +243,15 @@ definitions: the NS instance. This attribute shall be present if the nsState attribute value is INSTANTIATED. $ref: "#/definitions/IdentifierInNsd" + priority: + description: > + Specifies the priority level of the NS instance. + See note 2 and note 3. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Number" vnfInstance: description: > Information on constituent VNF(s) of the NS instance. - See note. + See note 1. type: array items: $ref: "#/definitions/VnfInstance" @@ -1113,12 +1124,9 @@ definitions: $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" associatedVnfcCpId: description: > - Identifier of the "vnfcCpInfo" structure in "VnfcResourceInfo" structure that - represents the VNFC CP which is exposed by this external CP instance, either - directly or via a floating IP address. Shall be present in case this CP instance - maps to a VNFC CP. - The attributes "associatedVnfcCpId", "associatedVipCpId" and "associatedVnfVirtualLinkId" - are mutually exclusive. Exactly one shall be present. + Identifier of the "vnfcCpInfo" structure in "VnfcResourceInfo" structure that represents the VNFC CP which + is exposed by this external CP instance, either directly or via a floating IP address. Shall be present in + case this CP instance maps to a VNFC CP. See note 1. $ref: "#/definitions/IdentifierInVnf" associatedVipCpId: description: > @@ -1133,9 +1141,7 @@ definitions: the internal VL or of the "ExtManagedVirtualLinkInfo" structure that represents the externally-managed internal VL, which is exposed by this external CP instance. Shall be present in case this CP instance maps to an internal VL (including - externally-managed internal VL). - The attributes "associatedVnfcCpId", "associatedVipCpId" and - "associatedVnfVirtualLinkId" are mutually exclusive. Exactly one shall be present. + externally-managed internal VL). See note 1. $ref: "#/definitions/IdentifierInVnf" CpGroupInfo: @@ -1562,16 +1568,11 @@ definitions: description: > This type represents a link port of an internal VL of a VNF. It shall comply with the provisions defined in table 6.5.3.64-1. - NOTE 1: Either cpInstanceId with cpInstanceType set to "EXT_CP" - or any combination of cpInstanceId with cpInstanceType set to "VNFC_CP" - and vipCpInstanceId (i.e. one or both of them) shall be present - for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType. - NOTE 2: Annex A.4 of ETSI GS NFV-IFA 007 [19] provides examples for - configurations where both vipCpInstanceId and vnfcCpInstanceId are - present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), - or only vipCpInstanceId is present (UC#6 and UC#6-b). - NOTE 3: The value of "trunkResourceId" is scoped by the value of - "vimConnectionId" in the "resourceHandle" attribute. + + NOTE 1: Either cpInstanceId with cpInstanceType set to "EXT_CP" or any combination of cpInstanceId with + cpInstanceType set to "VNFC_CP" and vipCpInstanceId (i.e. one or both of them) shall be present for a + VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to "VNFC_CP" and vipCpInstanceId are present, + the two different CP instances share the linkport. required: - id - resourceHandle @@ -2361,15 +2362,14 @@ definitions: description: > This operation supports the update of a NS instance operation. - NOTE 1: The DF of the VNF instance shall match the VNF DF present in the associated VNF Profile. - NOTE 2: The NS DF of each nested NS shall be one of the allowed flavours in the associated NSD - (as referenced in the nestedNsd attribute of the NSD of the NS to be instantiated). - NOTE 3: The NSD of each referenced NSs (i.e. each nestedInstanceId) shall match the one of - the nested NSD in the composite NSD. - NOTE 4: When the NS is deployed over several sites, the VLs of this NS will include VNs - in each site connected over the WAN. In this case, the "wanConnectionData" provides the needed - information required to connect each VN to the WAN. Annex E provides additional information and - guidelines about the usage of the "wanConnectionData" attribute. + NOTE 1: If a VNF instance is removed from an NS and this NS was the last one for which this VNF instance was a + part, the VNF instance is terminated by the NFVO. + NOTE 2: It depends on the VNF capabilities, and is declared in the VNFD whether the operation is supported for + a particular VNF. + NOTE 3: The operation might be service-disruptive. + NOTE 4: For each of the referred vnfInstanceId in the terminateVnfData, there shall be a corresponding value + in the removeVnfInstanceId. + type: object required: - updateType @@ -4013,7 +4013,7 @@ definitions: description: > Match particular notification types. Permitted values: - - NsLcmOperationOccurenceNotification + - NsLcmOperationOccurrenceNotification - NsIdentifierCreationNotification - NsIdentifierDeletionNotification - NsLcmCapacityShortageNotification @@ -4433,23 +4433,48 @@ definitions: LcmOpOccStatusForChangeNotificationType: description: > - The enumeration LcmOpOccStatusForChangeNotificationType represents the status of the lifecycle management - operation occurrence that impacts the NS component and triggers an NS change notification. It shall comply with the - provisions defined in Table 6.5.4.7-1. - Value | Description - ------|------------ - START | The impact on the NS component is identified. - COMPLETED | The impact on the NS component stops and related lifecycle operation completes successfully. - PARTIALLY_COMPLETED | The impact on the NS component stops and related lifecycle operation partially completes. Inconsistency state may exist on the NS component. - FAILED | The impact on the NS component stops and related lifecycle operation fails. Inconsistency state may exist for the NS component. - ROLLED_BACK | The impact on the NS component stops and related lifecycle operation is rolled back. + The enumeration LcmOpNameForChangeNotificationType represents the name of the lifecycle operation that impacts the + NS component and trigger an NS change notification. It shall comply with the provisions defined in table 6.5.4.6-1. + + Value | Description + VNF_INSTANTIATE Represents the "Instantiate VNF" LCM operation. + VNF_SCALE Represents the "Scale VNF" LCM operation. + VNF_SCALE_TO_LEVEL Represents the "Scale VNF to Level" LCM operation. + VNF_CHANGE_FLAVOUR Represents the "Change VNF Flavour" LCM operation. + VNF_TERMINATE Represents the "Terminate VNF" LCM operation. + VNF_HEAL Represents the "Heal VNF" LCM operation. + VNF_OPERATE Represents the "Operate VNF" LCM operation. + VNF_CHANGE_EXT_CONN Represents the "Change external VNF connectivity" LCM operation. + VNF_MODIFY_INFO Represents the "Modify VNF Information" LCM operation. + VNF_CREATE_SNAPSHOT Represents the "Create VNF Snapshot" LCM operation. + VNF_REVERT_TO_SNAPSHOT Represents the "Revert To VNF Snapshot" LCM operation. + VNF_CHANGE_VNFPKG Represents the "Change current VNF package" LCM operation. + NS_INSTANTIATE Represents the "Instantiate NS" LCM operation. + NS_SCALE Represents the "Scale NS" LCM operation. + NS_UPDATE Represents the "Update NS" LCM operation. + NS_TERMINATE Represents the "Terminate NS" LCM operation. + NS_HEAL Represents the "Heal NS" LCM operation. + type: string enum: - - START - - COMPLETED - - PARTIALLY_COMPLETED - - FAILED - - ROLLED_BACK + - VNF_INSTANTIATE + - VNF_SCALE + - VNF_SCALE_TO_LEVEL + - VNF_CHANGE_FLAVOUR + - VNF_TERMINATE + - VNF_HEAL + - VNF_OPERATE + - VNF_CHANGE_EXT_CONN + - VNF_MODIFY_INFO + - VNF_CREATE_SNAPSHOT + - VNF_REVERT_TO_SNAPSHOT + - VNF_CHANGE_VNFPKG + - NS_INSTANTIATE + - NS_SCALE + - NS_UPDATE + - NS_TERMINATE + - NS_HEAL + NsLcmOpOcc: description: > @@ -4525,7 +4550,7 @@ definitions: description: > Input parameters of the LCM operation. This attribute shall be formatted according to the request data type of - the related LCM operation. + the related LCM operation. In addition, the provisions in clause 6.7 shall apply. The following mapping between lcmOperationType and the data type of this attribute shall apply: - INSTANTIATE: InstantiateNsRequest @@ -4680,16 +4705,6 @@ definitions: This attribute shall be present if the last known HTTP response related to this coordination has contained a "Retry-After" header, and shall be absent otherwise. $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" - warnings: - description: > - Warning messages that were generated while the operation was executing. - - If the operation has included VNF LCM operations or NS LCM coordination - actions and these have resulted in warnings, such warnings should be - added to this attribute. - type: array - items: - type: string rejectedLcmCoordinations: description: > Information about LCM coordination actions (see clause 12) that were rejected by 503 error which means @@ -4723,6 +4738,16 @@ definitions: description: > The end of the delay period, as calculated from the startTime and "Retry-After" header. $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" + warnings: + description: > + Warning messages that were generated while the operation was executing. + + If the operation has included VNF LCM operations or NS LCM coordination + actions and these have resulted in warnings, such warnings should be + added to this attribute. + type: array + items: + type: string _links: description: > Links to resources related to this resource. @@ -6644,7 +6669,7 @@ definitions: $ref: "#/definitions/IdentifierInVnf" vnfLinkPortId: description: > - Identifier of the "VnfLinkPortInfo" structure in the "VnfVirtualLinkResourceInfo" or "ExtManagedVirtual-LinkĀ¬Info" structure. + Identifier of the "VnfLinkPortInfo" structure in the "VnfVirtualLinkResourceInfo" or "ExtManagedVirtualLinkInfo" structure. Shall be present if the CP is associated to a link port on an internal VL (including externally-managed internal VL). $ref: "#/definitions/IdentifierInVnf" metadata: diff --git a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml index 0911f34..086665b 100644 --- a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml +++ b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml @@ -65,7 +65,7 @@ paths: 406: $ref: "../responses/SOL005_resp.yaml#/components/responses/406" 422: - $ref: "../responses/SOL005_resp.yaml#/components/responses/422" + $ref: '#/components/responses/PmJobs.Post.422' 500: $ref: "../responses/SOL005_resp.yaml#/components/responses/500" 503: @@ -159,9 +159,9 @@ paths: 406: $ref: "../responses/SOL005_resp.yaml#/components/responses/406" 412: - $ref: "../responses/SOL005_resp.yaml#/components/responses/412" + $ref: '#/components/responses/IndividualPmJob.Patch.412' 422: - $ref: "../responses/SOL005_resp.yaml#/components/responses/422" + $ref: '#/components/responses/IndividualPmJob.Patch.422' 500: $ref: "../responses/SOL005_resp.yaml#/components/responses/500" 503: @@ -261,7 +261,7 @@ paths: 406: $ref: "../responses/SOL005_resp.yaml#/components/responses/406" 422: - $ref: "../responses/SOL005_resp.yaml#/components/responses/422" + $ref: '#/components/responses/Thresholds.Post.422' 500: $ref: "../responses/SOL005_resp.yaml#/components/responses/500" 503: @@ -353,9 +353,9 @@ paths: 406: $ref: "../responses/SOL005_resp.yaml#/components/responses/406" 412: - $ref: "../responses/SOL005_resp.yaml#/components/responses/412" + $ref: '#/components/responses/IndividualThreshold.Patch.412' 422: - $ref: "../responses/SOL005_resp.yaml#/components/responses/422" + $ref: '#/components/responses/IndividualThreshold.Patch.422' 500: $ref: "../responses/SOL005_resp.yaml#/components/responses/500" 503: @@ -876,6 +876,47 @@ components: schema: $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/PmJob" + PmJobs.Post.422: + description: | + 422 Unprocessable Entity + + content type of the payload body is supported and the payload body of a request contains syntactically correct + data but the data cannot be processed. + The general cause for this error and its handling is specified in clause 6.4 of ETSI GS NFV-SOL 013 [16], + including rules for the presence of the response body. + Specifically in case of this resource, the response code 422 shall also be returned if the NFVO has tested + the Notification endpoint as described in clause 7.4.9.3.2 and the test has failed. + In this case, the "detail" attribute in the "ProblemDetails" structure shall convey more information about + the error + headers: + Content-Type: + description: | + The MIME type of the body of the response.This header + field shall be present if the response has a non-empty message body. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + PmJobs.Get.200: description: | 200 OK @@ -994,6 +1035,64 @@ components: schema: $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/PmJobModifications" + IndividualPmJob.Patch.412: + description: | + 412 Precondition Failed + + A precondition given in an HTTP request header is not fulfilled. + Typically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. + The response body should contain a ProblemDetails structure, in which the "detail" attribute should convey + more information about the error. + headers: + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + + IndividualPmJob.Patch.422: + description: | + 422 Unprocessable entity + + Shall be returned upon the following error: The content type of the payload body is supported and the payload + body of a request contains syntactically correct data but the data cannot be processed. + The general cause for this error and its handling is specified in clause 6.4 of ETSI GS NFV-SOL 013 [16], + including rules for the presence of the response body. + Specifically in case of this resource, the response code 422 shall also be returned if the NFVO has tested + the Notification endpoint as described in clause 7.4.9.3.2 and the test has failed. + In this case, the "detail" attribute in the "ProblemDetails" structure shall convey more information about + the error. + headers: + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + IndividualPmJob.Delete.204: description: | 204 NO CONTENT @@ -1093,6 +1192,46 @@ components: schema: $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/Threshold" + Thresholds.Post.422: + description: | + 422 Unprocessable entity + + Shall be returned upon the following error: The content type of the payload body is supported and the payload + body of a request contains syntactically correct data but the data cannot be processed. + The general cause for this error and its handling is specified in clause 6.4 of ETSI GS NFV-SOL 013 [16], + including rules for the presence of the response body. + Specifically in case of this resource, the response code 422 shall also be returned if the NFVO has tested + the Notification endpoint as described in clause 7.4.9.3.2 and the test has failed. + In this case, the "detail" attribute in the "ProblemDetails" structure shall convey more information about the error. + headers: + Content-Type: + description: | + The MIME type of the body of the response.This header + field shall be present if the response has a non-empty message body. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + Thresholds.Get.200: description: | 200 OK @@ -1209,6 +1348,64 @@ components: schema: $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/ThresholdModifications" + IndividualThreshold.Patch.412: + description: | + 412 Precondition Failed + + Shall be returned upon the following error: A precondition given in an HTTP request header is not fulfilled. + Typically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. + The response body should contain a ProblemDetails structure, in which the "detail" attribute should + convey more information about the error. + headers: + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + + IndividualThreshold.Patch.422: + description: | + 422 Unprocessable Entity + + Shall be returned upon the following error: The content type of the payload body is supported and the payload + body of a request contains syntactically correct data but the data cannot be processed. + The general cause for this error and its handling is specified in clause 6.4 of ETSI GS NFV-SOL 013 [16], + including rules for the presence of the response body. + Specifically in case of this resource, the response code 422 shall also be returned if the NFVO has tested + the Notification endpoint as described in clause 7.4.9.3.2 and the test has failed. + In this case, the "detail" attribute in the "ProblemDetails" structure shall convey more information about + the error. + headers: + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + IndividualThreshold.Delete.204: description: | 204 NO CONTENT diff --git a/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml index de0fc73..ea464b3 100644 --- a/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml @@ -152,7 +152,7 @@ paths: "406": $ref: ../responses/SOL005_resp.yaml#/components/responses/406 "409": - $ref: ../responses/SOL005_resp.yaml#/components/responses/409 + $ref: '#/components/responses/IndividualVnfPackage.Delete.409' "500": $ref: ../responses/SOL005_resp.yaml#/components/responses/500 "503": @@ -183,7 +183,7 @@ paths: "406": $ref: ../responses/SOL005_resp.yaml#/components/responses/406 "409": - $ref: ../responses/SOL005_resp.yaml#/components/responses/409 + $ref: '#/components/responses/IndividualVnfPackage.Patch.409' "500": $ref: ../responses/SOL005_resp.yaml#/components/responses/500 "503": @@ -218,7 +218,7 @@ paths: "406": $ref: ../responses/SOL005_resp.yaml#/components/responses/406 "409": - $ref: ../responses/SOL005_resp.yaml#/components/responses/409 + $ref: '#/components/responses/IndividualVnfPackageVnfd.Get.409' "500": $ref: ../responses/SOL005_resp.yaml#/components/responses/500 "503": @@ -285,7 +285,7 @@ paths: "406": $ref: ../responses/SOL005_resp.yaml#/components/responses/406 "409": - $ref: ../responses/SOL005_resp.yaml#/components/responses/409 + $ref: '#/components/responses/IndividualVnfPackageExtArtifacts.Put.409' "500": $ref: ../responses/SOL005_resp.yaml#/components/responses/500 "503": @@ -318,9 +318,9 @@ paths: "405": $ref: ../responses/SOL005_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL005_resp.yaml#/components/responses/406 + $ref: '#/components/responses/IndividualVnfPackageManifest.Get.406' "409": - $ref: ../responses/SOL005_resp.yaml#/components/responses/409 + $ref: '#/components/responses/IndividualVnfPackageManifest.Get.409' "500": $ref: ../responses/SOL005_resp.yaml#/components/responses/500 "503": @@ -344,7 +344,7 @@ paths: "200": $ref: '#/components/responses/IndividualVnfPackageContent.Get.200' "206": - $ref: ../responses/SOL005_resp.yaml#/components/responses/206 + $ref: '#/components/responses/IndividualVnfPackageContent.Get.206' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -358,9 +358,9 @@ paths: "406": $ref: ../responses/SOL005_resp.yaml#/components/responses/406 "409": - $ref: ../responses/SOL005_resp.yaml#/components/responses/409 + $ref: '#/components/responses/IndividualVnfPackageContent.Get.409' "416": - $ref: ../responses/SOL005_resp.yaml#/components/responses/416 + $ref: '#/components/responses/IndividualVnfPackageContent.Get.416' "500": $ref: ../responses/SOL005_resp.yaml#/components/responses/500 "503": @@ -393,7 +393,7 @@ paths: "406": $ref: ../responses/SOL005_resp.yaml#/components/responses/406 "409": - $ref: ../responses/SOL005_resp.yaml#/components/responses/409 + $ref: '#/components/responses/IndividualVnfPackageContent.Put.409' "416": $ref: ../responses/SOL005_resp.yaml#/components/responses/416 "500": @@ -425,7 +425,7 @@ paths: "200": $ref: '#/components/responses/IndividualVnfPackageArtifacts.Get.200' "206": - $ref: ../responses/SOL005_resp.yaml#/components/responses/206 + $ref: '#/components/responses/IndividualVnfPackageArtifacts.Get.206' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -439,9 +439,9 @@ paths: "406": $ref: ../responses/SOL005_resp.yaml#/components/responses/406 "409": - $ref: ../responses/SOL005_resp.yaml#/components/responses/409 + $ref: '#/components/responses/IndividualVnfPackageArtifacts.Get.409' "416": - $ref: ../responses/SOL005_resp.yaml#/components/responses/416 + $ref: '#/components/responses/IndividualVnfPackageArtifacts.Get.416' "500": $ref: ../responses/SOL005_resp.yaml#/components/responses/500 "503": @@ -478,7 +478,7 @@ paths: "406": $ref: ../responses/SOL005_resp.yaml#/components/responses/406 "409": - $ref: ../responses/SOL005_resp.yaml#/components/responses/409 + $ref: '#/components/responses/IndividualVnfPackageUploadFromUri.Post.409' "416": $ref: ../responses/SOL005_resp.yaml#/components/responses/416 "500": @@ -506,7 +506,7 @@ paths: "200": $ref: '#/components/responses/IndividualVnfPackageArtifact.Get.200' "206": - $ref: ../responses/SOL005_resp.yaml#/components/responses/206 + $ref: '#/components/responses/IndividualVnfPackageArtifact.Get.206' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -518,11 +518,11 @@ paths: "405": $ref: ../responses/SOL005_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL005_resp.yaml#/components/responses/406 + $ref: '#/components/responses/IndividualVnfPackageArtifact.Get.406' "409": - $ref: ../responses/SOL005_resp.yaml#/components/responses/409 + $ref: '#/components/responses/IndividualVnfPackageArtifact.Get.409' "416": - $ref: ../responses/SOL005_resp.yaml#/components/responses/416 + $ref: '#/components/responses/IndividualVnfPackageArtifact.Get.416' "500": $ref: ../responses/SOL005_resp.yaml#/components/responses/500 "503": @@ -576,7 +576,7 @@ paths: "201": $ref: '#/components/responses/VnfPkgSubscriptions.Post.201' "303": - $ref: ../responses/SOL005_resp.yaml#/components/responses/303 + $ref: '#/components/responses/VnfPkgSubscriptions.Post.303' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -590,7 +590,7 @@ paths: "406": $ref: ../responses/SOL005_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL005_resp.yaml#/components/responses/422 + $ref: '#/components/responses/VnfPkgSubscriptions.Post.422' "500": $ref: ../responses/SOL005_resp.yaml#/components/responses/500 "503": @@ -882,6 +882,43 @@ components: type: string content: {} + IndividualVnfPackage.Delete.409: + description: | + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict with + the state of the resource. + Typically, this is due to the fact that the operational state of the VNF package resource is "ENABLED", or the + usage state is "IN_USE" (i.e. "Individual VNF instance" resource created from the concerned VNF package exists). + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more + information about the error. + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + IndividualVnfPackage.Patch.200: description: | 200 OK @@ -914,6 +951,44 @@ components: schema: $ref: ./definitions/SOL005VNFPackageManagement_def.yaml#/definitions/VnfPkgInfoModifications + IndividualVnfPackage.Patch.409: + description: | + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be executed currently, + due to a conflict with the state of the resource. + Typically, this is due to any of the following scenarios: + - Disable a VNF package resource of which the operational state is not "ENABLED" + - Enable a VNF package resource of which the operational state is not "DISABLED" + The response body shall contain a ProblemDetails structure, in which the "detail" + attribute shall convey more information about the error. + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + IndividualVnfPackageVnfd.Get.200: description: | 200 OK @@ -945,6 +1020,43 @@ components: type: string content: {} + IndividualVnfPackageVnfd.Get.409: + description: | + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict + with the state of the resource. + Typically, this is due to the fact that "onboardingState" of the VNF package has a value different from + "ONBOARDED". + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey + more information about the error. + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + IndividualVnfPackageExtArtifacts.Get.200: description: | 200 OK @@ -1013,6 +1125,13 @@ components: IndividualVnfPackageExtArtifacts.Put.202: description: | 202 ACCEPTED + + "onboardingState" = "ERROR" and the VNF package has been uploaded successfully previously, to indicate that + the access configuration information has been stored successfully by the NFVO and the NFVO now starts downloading external artifacts. + The response body shall be empty. + Prior to returning the 202 response, the NFVO shall set the "onboardingState" attribute to "UPLOADING". + Subsequently to returning the 202 response, the NFVO shall retry the download of those external artifacts + that have failed downloading, or that were downloaded successfully previously and for which modified access configuration information has been provided in the request. headers: Version: description: | @@ -1044,6 +1163,43 @@ components: format: url content: {} + IndividualVnfPackageExtArtifacts.Put.409: + description: | + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be executed currently, due to a + conflict with the state of the resource. + Typically, this is due to the fact that the "onboardingState" attribute contains a value different + from "CREATED" or "ERROR". + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall + convey more information about the error. + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + IndividualVnfPackageManifest.Get.200: description: | 200 OK @@ -1079,12 +1235,13 @@ components: type: string content: {} - IndividualVnfPackageContent.Get.200: + IndividualVnfPackageManifest.Get.406: description: | - 200 OK - Shall be returned when the whole content of the VNF package file has been read successfully. The response body - shall include a copy of the VNF package file. The "Content-Type" HTTP header shall be set according to the type - of the file, i.e. to "application/zip" for a VNF Package as defined in ETSI GS NFV-SOL 004. + 406 Not Acceptable + + If the related request contained an "Accept" header not compatible with the Content type "application/zip" but + the "include_signatures" flag was provided, the NFVO shall respond with this response code. + The "ProblemDetails" structure may be included with the "detail" attribute providing more information about the error. headers: Version: description: | @@ -1107,13 +1264,17 @@ components: explode: false schema: type: string - content: {} - IndividualVnfPackageContent.Put.202: + IndividualVnfPackageManifest.Get.409: description: | - 202 ACCEPTED - Shall be returned when the VNF package has been accepted for uploading, but the processing has not been completed. - It is expected to take some time for processing. The response body shall be empty. See note. + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict with + the state of the resource. + Typically, this is due to the fact that "onboardingState" of the VNF package has a value different + from "ONBOARDED". + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey + more information about the error. headers: Version: description: | @@ -1122,16 +1283,31 @@ components: explode: false schema: type: string - content: {} + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - IndividualVnfPackageArtifacts.Get.200: + IndividualVnfPackageContent.Get.200: description: | 200 OK - Shall be returned when the whole content of the archive containing the artifact files has been read successfully. - The payload body shall be a ZIP archive containing the requested set of artifacts selected according to the provisions - specified above in this clause, and, if the flag "include_signatures" was provided in the related request, the - applicable signature files and, if available, the separate certificate files from the VNF package. - The "Content-Type" HTTP header shall be set to "application/zip". + Shall be returned when the whole content of the VNF package file has been read successfully. The response body + shall include a copy of the VNF package file. The "Content-Type" HTTP header shall be set according to the type + of the file, i.e. to "application/zip" for a VNF Package as defined in ETSI GS NFV-SOL 004. headers: Version: description: | @@ -1156,11 +1332,15 @@ components: type: string content: {} - IndividualVnfPackageUploadFromUri.Post.202: + IndividualVnfPackageContent.Get.206: description: | - 202 Accepted - The information about the VNF package has been received successfully, but the on-boarding has not been completed. - It is expected to take some time for processing. The response body shall be empty. + 206 Partial Content + + If the NFVO supports range requests, this response shall be returned when a single consecutive byte range + from the content of the VNF package file has been read successfully according to the request. + The response body shall contain the requested part of the VNF package file. + The "Content-Range" HTTP header shall be provided according to IETF RFC 7233 [10]. + The "Content-Type" HTTP header shall be set as defined above for the "200 OK" response. headers: Version: description: | @@ -1169,20 +1349,37 @@ components: explode: false schema: type: string - content: {} + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + Content-Range: + description: The Content-Range response HTTP header indicates where in a full body message a partial message belongs. + style: simple + explode: false + schema: + type: string - IndividualVnfPackageArtifact.Get.200: + IndividualVnfPackageContent.Get.409: description: | - 200 OK Shall be returned when the whole content of the artifact file has been read successfully. If the - "include_signatures" request URI parameter was not provided in the related request, the payload body shall - contain a copy of the artifact file from the VNF package, as defined by ETSI GS NFV-SOL 004 [5], and the - "Content-Type" HTTP header shall be set according to the content type of the artifact file. If the artifact - is encrypted, the header shall be set to the value "application/cms" (IETF RFC 7193 [17]). If the content - type cannot be determined, the header shall be set to the value "application/octet-stream". - If the "include_signatures" request URI parameter was provided in the related request, the "ContentType" - HTTP header shall be set to "application/zip" and the payload body shall contain a ZIP archive which includes: - - a copy of the artifact file from the VNF package, as defined by ETSI GS NFV-SOL 004 [5]; - - the related security information (individual signature file and optional related individual certificate file). + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict + with the state of the resource. + Typically, this is due to the fact that "onboardingState" of the VNF package has a value different from + "ONBOARDED". + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey + more information about the error. headers: Version: description: | @@ -1205,18 +1402,18 @@ components: explode: false schema: type: string - content: {} + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - VnfPkgSubscriptions.Get.200: + IndividualVnfPackageContent.Get.416: description: | - 200 OK - Shall be returned when the list of subscriptions has been queried successfully. The response body shall contain - in an array the representations of all active subscriptions of the functional block that invokes the method, - i.e. zero or more representations of VNF package management subscriptions, as defined in clause 9.5.2.7. - If the "filter" URI parameter was supplied in the request, the data in the response body shall have been - transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. If the NFVO supports - alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV SOL 013 for this resource, inclusion of the - Link HTTP header in this response shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV SOL 013. + 416 Range Not Satisfiable + + Shall be returned upon the following error: The byte range passed in the "Range" header did not match + any available byte range in the VNF package file (e.g. "access after end of file"). + The response body may contain a ProblemDetails structure. headers: Version: description: | @@ -1239,19 +1436,32 @@ components: explode: false schema: type: string - content: - application/json: + + IndividualVnfPackageContent.Put.202: + description: | + 202 ACCEPTED + Shall be returned when the VNF package has been accepted for uploading, but the processing has not been completed. + It is expected to take some time for processing. The response body shall be empty. See note. + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false schema: - type: array - items: - $ref: ./definitions/SOL005VNFPackageManagement_def.yaml#/definitions/PkgmSubscription + type: string + content: {} - VnfPkgSubscriptions.Post.201: + IndividualVnfPackageContent.Put.409: description: | - 201 Created - Shall be returned when the subscription has been created successfully. The response body shall contain a - representation of the created "Individual subscription" resource. The HTTP response shall include a "Location" - HTTP header that points to the created resource. + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict with + the state of the resource. + Typically, this is due to the fact that the onboarding state of the VNF package resource is not "CREATED" + or "ERROR". + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey + more information about the error. headers: Version: description: | @@ -1277,7 +1487,520 @@ components: content: application/json: schema: - $ref: ./definitions/SOL005VNFPackageManagement_def.yaml#/definitions/PkgmSubscription + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + + IndividualVnfPackageArtifacts.Get.200: + description: | + 200 OK + Shall be returned when the whole content of the archive containing the artifact files has been read successfully. + The payload body shall be a ZIP archive containing the requested set of artifacts selected according to the provisions + specified above in this clause, and, if the flag "include_signatures" was provided in the related request, the + applicable signature files and, if available, the separate certificate files from the VNF package. + The "Content-Type" HTTP header shall be set to "application/zip". + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: {} + + IndividualVnfPackageArtifacts.Get.206: + description: | + 206 Partial Content + + If the NFVO supports range requests, this response shall be returned when a single consecutive byte + range from the content of the archive that would have been returned in a "200 OK" response has been + read successfully according to the request. + The response body shall contain the requested part of the archive. + The "Content-Type" HTTP header shall be set to "application/zip". + The "Content-Range" HTTP header shall be provided according to IETF RFC 7233 [10]. + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + Content-Range: + description: The Content-Range response HTTP header indicates where in a full body message a partial message belongs. + style: simple + explode: false + schema: + type: string + + IndividualVnfPackageArtifacts.Get.409: + description: | + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be executed currently, due to a + conflict with the state of the resource. + Typically, this is due to the fact that "onboardingState" of the VNF package has a value different from "ONBOARDED". + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall + convey more information about the error. + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + + IndividualVnfPackageArtifacts.Get.416: + description: | + 416 Range Not Satisfiable + + Shall be returned upon the following error: The byte range passed in the "Range" header did not match + any available byte range in the archive file (e.g. "access after end of file"). + The response body may contain a ProblemDetails structure. + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + + IndividualVnfPackageUploadFromUri.Post.202: + description: | + 202 Accepted + The information about the VNF package has been received successfully, but the on-boarding has not been completed. + It is expected to take some time for processing. The response body shall be empty. + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + content: {} + + IndividualVnfPackageUploadFromUri.Post.409: + description: | + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be executed currently, due to a + conflict with the state of the resource. + Typically, this is due to the fact that the on-boarding state of the VNF package resource is not + "CREATED" or "ERROR". + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall + convey more information about the error. + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + + IndividualVnfPackageArtifact.Get.200: + description: | + 200 OK Shall be returned when the whole content of the artifact file has been read successfully. If the + "include_signatures" request URI parameter was not provided in the related request, the payload body shall + contain a copy of the artifact file from the VNF package, as defined by ETSI GS NFV-SOL 004 [5], and the + "Content-Type" HTTP header shall be set according to the content type of the artifact file. If the artifact + is encrypted, the header shall be set to the value "application/cms" (IETF RFC 7193 [17]). If the content + type cannot be determined, the header shall be set to the value "application/octet-stream". + If the "include_signatures" request URI parameter was provided in the related request, the "ContentType" + HTTP header shall be set to "application/zip" and the payload body shall contain a ZIP archive which includes: + - a copy of the artifact file from the VNF package, as defined by ETSI GS NFV-SOL 004 [5]; + - the related security information (individual signature file and optional related individual certificate file). + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: {} + + IndividualVnfPackageArtifact.Get.206: + description: | + 206 Partial Content + + If the NFVO supports range requests and the "include_signatures" request URI parameter was not present in the + related request, this response shall be returned when a single consecutive byte range from the content of + the artifact file has been read successfully according to the request. The response body shall contain the + requested part of the artifact file from the VNF package, as defined by ETSI GS NFV-SOL 004 [5]. + The "Content-Type" HTTP header shall be set according to the content type of the artifact file. If the + content type cannot be determined, the header shall be set to the value "application/octet-stream". + The "Content-Range" HTTP header shall be provided according to IETF RFC 7233 [10]. + + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + Content-Range: + description: The Content-Range response HTTP header indicates where in a full body message a partial message belongs. + style: simple + explode: false + schema: + type: string + + IndividualVnfPackageArtifact.Get.406: + description: | + 406 Not Acceptable + + If the related request contained an "Accept" header not compatible with the Content type "application/zip" + but the "include_signatures" flag was provided, the NFVO shall respond with this response code. + The "ProblemDetails" structure may be included with the "detail" attribute providing more information about the error. + + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + + IndividualVnfPackageArtifact.Get.409: + description: | + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict + with the state of the resource. Typically, this is due to the fact that "onboardingState" of the VNF + package has a value different from "ONBOARDED". The response body shall contain a ProblemDetails structure, + in which the "detail" attribute shall convey more information about the error. + + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + + IndividualVnfPackageArtifact.Get.416: + description: | + 416 Range Not Satisfiable + + Shall be returned upon the following error: The byte range passed in the "Range" header did not match any + available byte range in the artifact file (e.g. "access after end of file"). + The response body may contain a ProblemDetails structure. + + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + + VnfPkgSubscriptions.Get.200: + description: | + 200 OK + Shall be returned when the list of subscriptions has been queried successfully. The response body shall contain + in an array the representations of all active subscriptions of the functional block that invokes the method, + i.e. zero or more representations of VNF package management subscriptions, as defined in clause 9.5.2.7. + If the "filter" URI parameter was supplied in the request, the data in the response body shall have been + transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. If the NFVO supports + alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV SOL 013 for this resource, inclusion of the + Link HTTP header in this response shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV SOL 013. + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + type: array + items: + $ref: ./definitions/SOL005VNFPackageManagement_def.yaml#/definitions/PkgmSubscription + + VnfPkgSubscriptions.Post.201: + description: | + 201 Created + Shall be returned when the subscription has been created successfully. The response body shall contain a + representation of the created "Individual subscription" resource. The HTTP response shall include a "Location" + HTTP header that points to the created resource. + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: ./definitions/SOL005VNFPackageManagement_def.yaml#/definitions/PkgmSubscription + + VnfPkgSubscriptions.Post.303: + description: | + 303 See Other + + Shall be returned when a subscription with the same callback URI and the same filter already + exists and the policy of the NFVO is to not create redundant subscriptions. + The HTTP response shall include a "Location" HTTP header that contains the resource URI of the + existing "Individual subscription" resource. + The response body shall be empty. + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + Location: + description: The resource URI of the created NS instance + style: simple + explode: false + schema: + type: string + format: url + + VnfPkgSubscriptions.Post.422: + description: | + 422 Unprocessable Entity + + Shall be returned upon the following error: The content type of the payload body is supported and the payload + body of a request contains syntactically correct data but the data cannot be processed. + The general cause for this error and its handling is specified in clause 6.4 of ETSI GS NFV-SOL 013 [16], + including rules for the presence of the response body. + Specifically in case of this resource, the response code 422 shall also be returned if the NFVO has tested + the Notification endpoint as described in clause 9.4.10.3.2 and the test has failed. + In this case, the "detail" attribute in the "ProblemDetails" structure shall convey more information about the error. + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" VnfPkgSubscription.Get.200: description: | diff --git a/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml b/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml index 833066d..f056409 100644 --- a/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml +++ b/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml @@ -172,18 +172,7 @@ paths: 406: $ref: ../responses/SOL005_resp.yaml#/components/responses/406 409: - # description: | - # 409 CONFLICT - - # Shall be returned upon the following error: The operation cannot be executed - # currently, due to a conflict with the state of the resource. - - # Typically, this is due to the fact that the state of the VNF snapshot package - # resource is in a state other than CREATED, ERROR_EXTRACTING or AVAILABLE. - - # The response body shall contain a ProblemDetails structure, in which the "detail" - # attribute shall convey more information about the error. - $ref: ../responses/SOL005_resp.yaml#/components/responses/409 + $ref: '#/components/responses/IndividualVNFSnapshotPackage.Patch.409' 416: $ref: ../responses/SOL005_resp.yaml#/components/responses/416 500: @@ -212,18 +201,7 @@ paths: 406: $ref: ../responses/SOL005_resp.yaml#/components/responses/406 409: - # description: | - # 409 CONFLICT - - # Shall be returned upon the following error: The operation cannot be - # executed currently, due to a conflict with the state of the resource. - - # Typically, this is due to the fact that the operational state of the - # VNF snapshot package resource is other than CREATED, ERROR or AVAILABLE. - - # The response body shall contain a ProblemDetails structure, in which - # the "detail" attribute shall convey more information about the error. - $ref: ../responses/SOL005_resp.yaml#/components/responses/409 + $ref: '#/components/responses/IndividualVNFSnapshotPackage.Delete.409' 416: $ref: ../responses/SOL005_resp.yaml#/components/responses/416 500: @@ -262,9 +240,9 @@ paths: 406: $ref: ../responses/SOL005_resp.yaml#/components/responses/406 409: - $ref: ../responses/SOL005_resp.yaml#/components/responses/409 + $ref: '#/components/responses/VnfSnapshotPackageContent.Get.409' 416: - $ref: ../responses/SOL005_resp.yaml#/components/responses/416 + $ref: '#/components/responses/VnfSnapshotPackageContent.Get.416' 422: $ref: ../responses/SOL005_resp.yaml#/components/responses/422 429: @@ -297,7 +275,7 @@ paths: 406: $ref: ../responses/SOL005_resp.yaml#/components/responses/406 409: - $ref: ../responses/SOL005_resp.yaml#/components/responses/409 + $ref: '#/components/responses/VnfSnapshotPackageContent.Put.409' 416: $ref: ../responses/SOL005_resp.yaml#/components/responses/416 422: @@ -340,7 +318,7 @@ paths: 406: $ref: ../responses/SOL005_resp.yaml#/components/responses/406 409: - $ref: ../responses/SOL005_resp.yaml#/components/responses/409 + $ref: '#/components/responses/UploadFromUri.Post.409' 416: $ref: ../responses/SOL005_resp.yaml#/components/responses/416 500: @@ -379,7 +357,7 @@ paths: 406: $ref: ../responses/SOL005_resp.yaml#/components/responses/406 409: - $ref: ../responses/SOL005_resp.yaml#/components/responses/409 + $ref: '#/components/responses/BuildVnfSnapshotPkg.Post.409' 416: $ref: ../responses/SOL005_resp.yaml#/components/responses/416 500: @@ -418,7 +396,7 @@ paths: 406: $ref: ../responses/SOL005_resp.yaml#/components/responses/406 409: - $ref: ../responses/SOL005_resp.yaml#/components/responses/409 + $ref: '#/components/responses/ExtractVnfSnapshotPkg.Post.409' 416: $ref: ../responses/SOL005_resp.yaml#/components/responses/416 500: @@ -457,7 +435,7 @@ paths: 406: $ref: ../responses/SOL005_resp.yaml#/components/responses/406 409: - $ref: ../responses/SOL005_resp.yaml#/components/responses/409 + $ref: '#/components/responses/CancelVnfSnapshotPkg.Post.409' 416: $ref: ../responses/SOL005_resp.yaml#/components/responses/416 500: @@ -532,7 +510,7 @@ paths: 406: $ref: ../responses/SOL005_resp.yaml#/components/responses/406 409: - $ref: ../responses/SOL005_resp.yaml#/components/responses/409 + $ref: '#/components/responses/ExternalArtifactsAccess.Put.409' 416: $ref: ../responses/SOL005_resp.yaml#/components/responses/416 422: @@ -578,9 +556,9 @@ paths: 406: $ref: ../responses/SOL005_resp.yaml#/components/responses/406 409: - $ref: ../responses/SOL005_resp.yaml#/components/responses/409 + $ref: '#/components/responses/IndividualArtifact.Get.409' 416: - $ref: ../responses/SOL005_resp.yaml#/components/responses/416 + $ref: '#/components/responses/IndividualArtifact.Get.416' 422: $ref: ../responses/SOL005_resp.yaml#/components/responses/422 429: @@ -861,6 +839,43 @@ components: schema: $ref: definitions/SOL005VNFSnapshotPackageManagement_def.yaml#/definitions/VnfSnapshotPkgInfoModifications + IndividualVNFSnapshotPackage.Patch.409: + description: | + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict + with the state of the resource. + Typically, this is due to the fact that the state of the VNF snapshot package resource is in a state other + than CREATED, ERROR_EXTRACTING or AVAILABLE. + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey + more information about the error. + + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + IndividualVNFSnapshotPackage.Delete.204: description: | 204 NO CONTENT @@ -884,6 +899,42 @@ components: schema: type: string + IndividualVNFSnapshotPackage.Delete.409: + description: | + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be executed currently, due to a + conflict with the state of the resource. + Typically, this is due to the fact that the operational state of the VNF snapshot package resource + is other than CREATED, ERROR or AVAILABLE. + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall + convey more information about the error. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + VnfSnapshotPackageContent.Get.200: description: | 200 OK @@ -969,6 +1020,65 @@ components: type: string format: binary + VnfSnapshotPackageContent.Get.409: + description: | + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be executed currently, due to a + conflict with the state of the resource. + Typically, this is due to the fact the "state" of the VNF snapshot package has a value different from "AVAILABLE". + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey + more information about the error. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + + VnfSnapshotPackageContent.Get.416: + description: | + 416 Range Not Satisfiable + + Shall be returned upon the following error: The byte range passed in the "Range" header did not match any + available byte range in the VNF snapshot package file (e.g. "access after end of file"). + The response body may contain a ProblemDetails structure. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + + VnfSnapshotPackageContent.Put.202: description: | 202 ACCEPTED @@ -978,7 +1088,7 @@ components: The response body shall be empty. - The API consumer can track the uploading progress by reading the status of the + The API consumer can track the uploading progress by reading the status of the "Individual VNF snapshot package" resource using the GET method. headers: Version: @@ -996,16 +1106,52 @@ components: schema: type: string + VnfSnapshotPackageContent.Put.409: + description: | + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be executed currently, due to a + conflict with the state of the resource. + Typically, this is due to the fact the state of the VNF snapshot package resource is other than + "CREATED" or "ERROR". + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall + convey more information about the error. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + UploadFromUri.Post.202: description: | 202 ACCEPTED - Shall be returned when the information about the VNF snapshot package has been received successfully, but + Shall be returned when the information about the VNF snapshot package has been received successfully, but the uploading has not been completed. It is expected to take some time for processing. The response body shall be empty. - The API consumer can track the uploading progress by reading the status of the + The API consumer can track the uploading progress by reading the status of the "Individual VNF snapshot package" resource using the GET method. headers: Version: @@ -1023,6 +1169,42 @@ components: schema: type: string + UploadFromUri.Post.409: + description: | + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be executed currently, due to a + conflict with the state of the resource. + Typically, this is due to the fact the state of the VNF snapshot package resource is other than + "CREATED" or "ERROR". + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall + convey more information about the error. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + BuildVnfSnapshotPkg.Post.202: description: | 202 ACCEPTED @@ -1050,6 +1232,42 @@ components: schema: type: string + BuildVnfSnapshotPkg.Post.409: + description: | + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict + the state of the resource. + Typically, this is due to the fact the state of the VNF snapshot package resource is not "CREATED", or + he state is "AVAILABLE", or the VNF snapshot creation is not complete. + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey + more information about the error. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + ExtractVnfSnapshotPkg.Post.202: description: | 202 ACCEPTED @@ -1077,6 +1295,42 @@ components: schema: type: string + ExtractVnfSnapshotPkg.Post.409: + description: | + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be executed currently, + due to a conflict with the state of the resource. + Typically, this is due to the fact the state of the VNF snapshot package resource is not "AVAILABLE", + or the "Individual VNF snapshot" resource is not empty, or the "Individual VNF instance" is not known to the NFVO. + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall + convey more information about the error. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + CancelVnfSnapshotPkg.Post.202: description: | 202 ACCEPTED @@ -1105,6 +1359,42 @@ components: schema: type: string + CancelVnfSnapshotPkg.Post.409: + description: | + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be executed currently, due to + a conflict with the state of the resource. + Typically, this is due to the fact the state of the VNF snapshot package resource is other than + "UPLOADING", "BUILDING", "PROCESSING" or "EXTRACTING". + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall + convey more information about the error. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + ExternalArtifactsAccess.Get.200: description: | 200 OK @@ -1173,6 +1463,43 @@ components: schema: $ref: definitions/SOL005VNFSnapshotPackageManagement_def.yaml#/definitions/VnfSnapshotPkgExtArtifactsAccessConfig + ExternalArtifactsAccess.Put.409: + description: | + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict with + the state of the resource. + Typically, this is due to the fact the "state" attribute of the "Individual VNF snapshot package" resources + contains a value different from "CREATED" or "ERROR". + + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more + information about the error. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + IndividualArtifact.Get.200: description: | 200 OK @@ -1290,4 +1617,69 @@ components: explode: false schema: type: string - format: url \ No newline at end of file + format: url + + IndividualArtifact.Get.409: + description: | + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be executed currently, due to a + conflict with the state of the resource. + Typically, this is due to the fact the "state" of the VNF snapshot package has a value different + from "AVAILABLE". + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall + convey more information about the error. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + + IndividualArtifact.Get.416: + description: | + 416 Range Not Satisfiable + + Shall be returned upon the following error: The byte range passed in the "Range" header did not match any + available byte range in the artifact file (e.g. "access after end of file"). + The response body may contain a ProblemDetails structure. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Range: + description: The Content-Range response HTTP header indicates where in a full body message a partial message belongs. + style: simple + explode: false + schema: + type: string \ No newline at end of file -- GitLab From c27c10fb831b4a1abe67fa394ba5c56f5b1b1ccd Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Fri, 6 Aug 2021 16:32:24 +0200 Subject: [PATCH 69/70] fix --- .../NFVICapacityInformation/NFVICapacityInformation.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml b/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml index 9e06125..991ec9b 100644 --- a/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml +++ b/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml @@ -478,7 +478,7 @@ components: content: application/json: schema: - $ref: $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" IndividualCapacityThreshold.Get.200: description: | @@ -610,7 +610,7 @@ components: content: application/json: schema: - $ref: $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" IndividualCapacityThreshold.Delete.204: description: | @@ -638,4 +638,4 @@ components: explode: false schema: type: string - content: {} \ No newline at end of file + content: {} -- GitLab From d433d1d69918de1ccdbd606fa790715537ba2fc5 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Tue, 10 Aug 2021 10:54:22 +0200 Subject: [PATCH 70/70] upd versions --- src/SOL005/NSDManagement/NSDManagement.yaml | 2 +- .../NSDManagementNotification/NSDManagementNotification.yaml | 2 +- src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml | 2 +- .../NSLifecycleManagementNotification.yaml | 2 +- src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml | 2 +- .../NSPerformanceManagementNotification.yaml | 2 +- src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml | 2 +- .../VNFPackageManagementNotification.yaml | 2 +- .../VNFSnapshotPackageManagement.yaml | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/SOL005/NSDManagement/NSDManagement.yaml b/src/SOL005/NSDManagement/NSDManagement.yaml index 900ede4..657db13 100644 --- a/src/SOL005/NSDManagement/NSDManagement.yaml +++ b/src/SOL005/NSDManagement/NSDManagement.yaml @@ -16,7 +16,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 2.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 005 V3.5.1 diff --git a/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml b/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml index 06b78f4..ed44239 100644 --- a/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml +++ b/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml @@ -16,7 +16,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 2.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 005 V3.5.1 diff --git a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml index cf5f313..1f4c873 100644 --- a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml +++ b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml @@ -16,7 +16,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 005 V3.5.1 diff --git a/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml b/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml index cf5ac4d..bc8a567 100644 --- a/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml +++ b/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml @@ -14,7 +14,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 005 V3.5.1 diff --git a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml index 086665b..aaf9527 100644 --- a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml +++ b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml @@ -16,7 +16,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 2.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 005 V3.5.1 diff --git a/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml b/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml index 1b310d5..a497b06 100644 --- a/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml +++ b/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml @@ -16,7 +16,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 2.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 005 V3.5.1 diff --git a/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml index ea464b3..3a69c7a 100644 --- a/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml @@ -16,7 +16,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 2.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 005 V3.5.1 diff --git a/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml b/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml index 5883277..59f5072 100644 --- a/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml +++ b/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml @@ -16,7 +16,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 2.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 005 V3.5.1 diff --git a/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml b/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml index f056409..ca77053 100644 --- a/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml +++ b/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml @@ -16,7 +16,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 1.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 005 V3.5.1 -- GitLab