diff --git a/Readme.md b/Readme.md index ab2f149218d722c7b4137e2d6a8976a872ce8ca4..bfad97c63dfc28334989d3576cc24bac31d7fa46 100644 --- a/Readme.md +++ b/Readme.md @@ -1,7 +1,7 @@ # NFV SOL005 APIs This repository hosts the [OpenAPI](https://www.openapis.org/) specificatons and other documentation -for the APIs defined in ETSI NFV GSs SOL005 v5.2.1. +for the APIs defined in ETSI NFV GSs SOL005 v5.3.1. The APIs described in this repository are defined for the `Os-Ma-nfvo` reference point. diff --git a/src/SOL005/APIVersion/APIVersion.yaml b/src/SOL005/APIVersion/APIVersion.yaml index 9475b1ed7889e6adeca5e522719ab4c228ec8eb0..5b3693835ddd7fe6cb4959322a867af159c31a90 100644 --- a/src/SOL005/APIVersion/APIVersion.yaml +++ b/src/SOL005/APIVersion/APIVersion.yaml @@ -19,8 +19,8 @@ info: version: 1.10.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 005 V5.2.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/05.02.01_60/gs_nfv-sol005v050201p.pdf + description: ETSI GS NFV-SOL 005 V5.3.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/05.03.01_60/gs_NFV-SOL005v050301p.pdf servers: - url: http://127.0.0.1/ diff --git a/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml b/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml index 1471ad5d2cab78b72e3992442e7532715988b2d9..581b6c27a6f0773165a045242a46923ac389998a 100644 --- a/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml +++ b/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml @@ -19,8 +19,8 @@ info: version: 1.13.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 005 V5.2.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/05.02.01_60/gs_nfv-sol005v050201p.pdf + description: ETSI GS NFV-SOL 005 V5.3.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/05.03.01_60/gs_NFV-SOL005v050301p.pdf servers: - url: http://127.0.0.1/nfvici/v1 @@ -152,11 +152,9 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization get: description: | - This method shall follow the provisions specified in the tables 10.4.3a.3.2-1 and 10.4.3a.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 CCM's NFVI capacity information. + See clause 10.4.3a.3.2. - NOTE: This identifier can be retrieved from the "ccmId" attribute in the CapacityShortageNotification. - It can also be retrieved from the "ccmId" attribute in the message content of the response. parameters: - in: query name: filter diff --git a/src/SOL005/NFVICapacityInformationNotification/NFVICapacityInformationNotification.yaml b/src/SOL005/NFVICapacityInformationNotification/NFVICapacityInformationNotification.yaml index 1b55e6c4853bb34361044430562cc89b56df485f..47a9cc3c440aad76d67b5ccae7fa31ba24b4c993 100644 --- a/src/SOL005/NFVICapacityInformationNotification/NFVICapacityInformationNotification.yaml +++ b/src/SOL005/NFVICapacityInformationNotification/NFVICapacityInformationNotification.yaml @@ -19,8 +19,8 @@ info: version: 1.13.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 005 V5.2.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/05.02.01_60/gs_nfv-sol005v050201p.pdf + description: ETSI GS NFV-SOL 005 V5.3.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/05.03.01_60/gs_NFV-SOL005v050301p.pdf servers: - url: http://127.0.0.1/callback/v1 diff --git a/src/SOL005/NSDManagement/NSDManagement.yaml b/src/SOL005/NSDManagement/NSDManagement.yaml index 6878e1bb62dea0b477dcd006eb2d4c4629758d40..ef084c9c63d19241d6f6797e50ca66839362dcf2 100644 --- a/src/SOL005/NSDManagement/NSDManagement.yaml +++ b/src/SOL005/NSDManagement/NSDManagement.yaml @@ -19,8 +19,8 @@ info: version: 2.12.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 005 V5.2.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/05.02.01_60/gs_nfv-sol005v050201p.pdf + description: ETSI GS NFV-SOL 005 V5.3.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/05.03.01_60/gs_NFV-SOL005v050301p.pdf servers: - url: http://127.0.0.1/nsd/v2 @@ -37,7 +37,7 @@ paths: # NS Descriptors # ############################################################################### /ns_descriptors: - #ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.2 + #ETSI GS NFV-SOL 005 V5.2.1 location: 5.4.2 parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization - $ref: ../components/SOL005_params.yaml#/components/parameters/Version @@ -128,7 +128,7 @@ paths: # Individual NS Descriptor # ############################################################################### /ns_descriptors/{nsdInfoId}: - #ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.3 + #ETSI GS NFV-SOL 005 V5.2.1 location: 5.4.3 parameters: - $ref: '#/components/parameters/NsdInfoId' - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization @@ -229,7 +229,7 @@ paths: # NSD Archive Content # ############################################################################### /ns_descriptors/{nsdInfoId}/nsd_content: - #ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.4 + #ETSI GS NFV-SOL 005 V5.2.1 location: 5.4.4 parameters: - $ref: '#/components/parameters/NsdInfoId' - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization @@ -323,7 +323,7 @@ paths: # NSD # ############################################################################### /ns_descriptors/{nsdInfoId}/nsd: - #ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.4a + #ETSI GS NFV-SOL 005 V5.2.1 location: 5.4.4a parameters: - $ref: '#/components/parameters/NsdInfoId' - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization @@ -363,7 +363,7 @@ paths: # NSD Archive Manifest # ############################################################################### /ns_descriptors/{nsdInfoId}/manifest: - #ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.4b + #ETSI GS NFV-SOL 005 V5.2.1 location: 5.4.4b parameters: - $ref: '#/components/parameters/NsdInfoId' - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization @@ -371,7 +371,7 @@ paths: get: description: | - The GET method reads the content of the manifest file within an NSD archive. See clasue 5.4.4b.3.2. + The GET method reads the content of the manifest file within an NSD archive. See clause 5.4.4b.3.2. parameters: - $ref: '#/components/parameters/AcceptTextOrZip' - in: query @@ -413,7 +413,7 @@ paths: # Individual NSD Archive Artifact # ############################################################################### /ns_descriptors/{nsdInfoId}/artifacts/{artifactPath}: - #ETSI GS NFV-SOL 005 V3.5.1 location: 5.4.4c + #ETSI GS NFV-SOL 005 V5.2.1 location: 5.4.4c parameters: - $ref: '#/components/parameters/NsdInfoId' - $ref: '#/components/parameters/ArtifactPathInNSD' @@ -465,7 +465,7 @@ paths: # PNF Descriptors # ############################################################################### /pnf_descriptors: - #ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.5 + #ETSI GS NFV-SOL 005 V5.2.1 location: 5.4.5 parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization - $ref: ../components/SOL005_params.yaml#/components/parameters/Version @@ -556,7 +556,7 @@ paths: # Individual PNF Descriptor # ############################################################################### /pnf_descriptors/{pnfdInfoId}: - #ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.6 + #ETSI GS NFV-SOL 005 V5.2.1 location: 5.4.6 parameters: - $ref: '#/components/parameters/PnfdInfoId' @@ -653,7 +653,7 @@ paths: # PNFD Archive Content # ############################################################################### /pnf_descriptors/{pnfdInfoId}/pnfd_content: - #ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.7 + #ETSI GS NFV-SOL 005 V5.2.1 location: 5.4.7 parameters: - $ref: '#/components/parameters/PnfdInfoId' - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization @@ -736,7 +736,7 @@ paths: # PNFD # ############################################################################### /pnf_descriptors/{pnfdInfoId}/pnfd: - #ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.7a + #ETSI GS NFV-SOL 005 V5.2.1 location: 5.4.7a parameters: - $ref: '#/components/parameters/PnfdInfoId' - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization @@ -777,7 +777,7 @@ paths: # PNFD Archive Manifest # ############################################################################### /pnf_descriptors/{pnfdInfoId}/manifest: - #ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.7b + #ETSI GS NFV-SOL 005 V5.2.1 location: 5.4.7b parameters: - $ref: '#/components/parameters/PnfdInfoId' - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization @@ -829,7 +829,7 @@ paths: # Individual PNFD Archive Artifact # ############################################################################### /pnf_descriptors/{pnfdInfoId}/artifacts/{artifactPath}: - #ETSI GS NFV-SOL 005 V3.5.1 location: 5.4.7c + #ETSI GS NFV-SOL 005 V5.2.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 16d74626b0c64f8cd7a49a5872ffaeae784280b3..1f5bfc9977b38d3775706fee5f2ef6181230fcec 100644 --- a/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml +++ b/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml @@ -19,8 +19,8 @@ info: version: 2.12.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 005 V5.2.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/05.02.01_60/gs_nfv-sol005v050201p.pdf + description: ETSI GS NFV-SOL 005 V5.3.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/05.03.01_60/gs_NFV-SOL005v050301p.pdf servers: - url: http://127.0.0.1/callback/v2 diff --git a/src/SOL005/NSFaultManagement/NSFaultManagement.yaml b/src/SOL005/NSFaultManagement/NSFaultManagement.yaml index be57538095d89fdbe4a96b121c05c92f64499e56..a0623d69a471c4c4f8734424e0df03095262ae8f 100644 --- a/src/SOL005/NSFaultManagement/NSFaultManagement.yaml +++ b/src/SOL005/NSFaultManagement/NSFaultManagement.yaml @@ -19,9 +19,8 @@ info: version: 1.14.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 005 V5.2.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/05.02.01_60/gs_nfv-sol005v050201p.pdf - + description: ETSI GS NFV-SOL 005 V5.3.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/05.03.01_60/gs_NFV-SOL005v050301p.pdf servers: - url: http://127.0.0.1/nsfm/v1 - url: https://127.0.0.1/nsfm/v1 @@ -73,8 +72,6 @@ paths: $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": @@ -107,8 +104,6 @@ paths: $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": @@ -143,8 +138,6 @@ paths: $ref: '#/components/responses/IndividualAlarm.Patch.409' "412": $ref: '#/components/responses/IndividualAlarm.Patch.412' - "416": - $ref: ../responses/SOL005_resp.yaml#/components/responses/416 "500": $ref: ../responses/SOL005_resp.yaml#/components/responses/500 "503": @@ -743,4 +736,4 @@ components: explode: false schema: type: string - content: {} \ No newline at end of file + content: {} diff --git a/src/SOL005/NSFaultManagementNotification/NSFaultManagementNotification.yaml b/src/SOL005/NSFaultManagementNotification/NSFaultManagementNotification.yaml index 6e148492b968cc3e2c4e19dde5de2e8c39050085..6652c4c595755c16f4026623b0fd039f74c8bbdf 100644 --- a/src/SOL005/NSFaultManagementNotification/NSFaultManagementNotification.yaml +++ b/src/SOL005/NSFaultManagementNotification/NSFaultManagementNotification.yaml @@ -19,8 +19,8 @@ info: version: 1.14.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 005 V5.2.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/05.02.01_60/gs_nfv-sol005v050201p.pdf + description: ETSI GS NFV-SOL 005 V5.3.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/05.03.01_60/gs_NFV-SOL005v050301p.pdf servers: - url: http://127.0.0.1/callback/v1 diff --git a/src/SOL005/NSLCMCoordination/NSLCMCoordination.yaml b/src/SOL005/NSLCMCoordination/NSLCMCoordination.yaml index 222428cf0f287bb96b1ea9313ac3a5dc70c97a9a..a5748bd39afa636e2103436f394b6915fbadeb58 100644 --- a/src/SOL005/NSLCMCoordination/NSLCMCoordination.yaml +++ b/src/SOL005/NSLCMCoordination/NSLCMCoordination.yaml @@ -19,8 +19,8 @@ info: version: 1.12.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 005 V5.2.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/05.02.01_60/gs_nfv-sol005v050201p.pdf + description: ETSI GS NFV-SOL 005 V5.3.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/05.03.01_60/gs_NFV-SOL005v050301p.pdf servers: - url: http://127.0.0.1/lcmcoord/v1 @@ -63,8 +63,6 @@ paths: $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: @@ -96,8 +94,6 @@ paths: $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: @@ -131,8 +127,6 @@ paths: $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: diff --git a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml index fdf699105cee988f52e21b94c88f862a270f51b7..f6b24a5b7e62f92d88ef75140fdb4ccba35774b0 100644 --- a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml +++ b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml @@ -16,11 +16,11 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 2.15.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 2.16.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 005 V5.2.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/05.02.01_60/gs_nfv-sol005v050201p.pdf + description: ETSI GS NFV-SOL 005 V5.3.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/05.03.01_60/gs_NFV-SOL005v050301p.pdf servers: - url: http://127.0.0.1/nslcm/v2 @@ -88,8 +88,6 @@ paths: $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": @@ -122,8 +120,6 @@ paths: $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": @@ -158,8 +154,6 @@ paths: $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": @@ -203,14 +197,11 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization post: description: | - The POST method instantiates an NS instance. + The POST method instantiates an NS instance. See clause 6.4.4.3.1. In case of the "feasibilityCheckReserve" attribute is present, the method runs the feasibility check procedure for an NS instantiation scheduled operation or runs the feasibility checking procedure followed by the execution of the subsequent (actual) NS instantiation operation. - This method shall follow the provisions specified in the tables 6.4.4.3.1-1 - and 6.4.4.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. Before the NFVO initiates the "Instantiate NS" operation it shall verify @@ -243,8 +234,6 @@ paths: $ref: ../responses/SOL005_resp.yaml#/components/responses/406 "409": $ref: '#/components/responses/InstantiateNsInstance.Post.409' - "416": - $ref: ../responses/SOL005_resp.yaml#/components/responses/416 "500": $ref: ../responses/SOL005_resp.yaml#/components/responses/500 "503": @@ -282,8 +271,6 @@ paths: $ref: ../responses/SOL005_resp.yaml#/components/responses/406 "409": $ref: '#/components/responses/ScaleNsInstance.Post.409' - "416": - $ref: ../responses/SOL005_resp.yaml#/components/responses/416 "500": $ref: ../responses/SOL005_resp.yaml#/components/responses/500 "503": @@ -298,15 +285,12 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization post: description: | - The POST method updates an NS instance. + The POST method updates an NS instance. See clause 6.4.6.3.1. In case of the "feasibilityCheckReserve" attribute is present, the NFVO runs the feasibility check procedure for an NS updating scheduled operation or runs the feasibility checking procedure followed by the execution of the subsequent (actual) NS updating operation. - This method shall follow the provisions specified in the tables - 6.4.6.3.1-1 and 6.4.6.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. If the "Update NS" operation involves adding a VNF instance, a @@ -344,8 +328,6 @@ paths: $ref: ../responses/SOL005_resp.yaml#/components/responses/406 "409": $ref: '#/components/responses/UpdateNsInstance.Post.409' - "416": - $ref: ../responses/SOL005_resp.yaml#/components/responses/416 "500": $ref: ../responses/SOL005_resp.yaml#/components/responses/500 "503": @@ -383,8 +365,6 @@ paths: $ref: ../responses/SOL005_resp.yaml#/components/responses/406 "409": $ref: '#/components/responses/HealNsInstance.Post.409' - "416": - $ref: ../responses/SOL005_resp.yaml#/components/responses/416 "500": $ref: ../responses/SOL005_resp.yaml#/components/responses/500 "503": @@ -422,8 +402,6 @@ paths: $ref: ../responses/SOL005_resp.yaml#/components/responses/406 "409": $ref: '#/components/responses/TerminateNsInstance.Post.409' - "416": - $ref: ../responses/SOL005_resp.yaml#/components/responses/416 "500": $ref: ../responses/SOL005_resp.yaml#/components/responses/500 "503": @@ -518,8 +496,6 @@ paths: $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": @@ -553,8 +529,6 @@ paths: "412": $ref: ../responses/SOL005_resp.yaml#/components/responses/412 description: Shall be returned upon the following error A precondition given in an HTTP request header is not fulfilled. - "416": - $ref: ../responses/SOL005_resp.yaml#/components/responses/416 "500": $ref: ../responses/SOL005_resp.yaml#/components/responses/500 "503": @@ -589,8 +563,6 @@ paths: $ref: ../responses/SOL005_resp.yaml#/components/responses/406 "409": $ref: '#/components/responses/NsLcmOpOccRetry.Post.409' - "416": - $ref: ../responses/SOL005_resp.yaml#/components/responses/416 "500": $ref: ../responses/SOL005_resp.yaml#/components/responses/500 "503": @@ -624,8 +596,6 @@ paths: $ref: ../responses/SOL005_resp.yaml#/components/responses/406 "409": $ref: '#/components/responses/NsLcmOpOccRollback.Post.409' - "416": - $ref: ../responses/SOL005_resp.yaml#/components/responses/416 "500": $ref: ../responses/SOL005_resp.yaml#/components/responses/500 "503": @@ -659,8 +629,6 @@ paths: $ref: ../responses/SOL005_resp.yaml#/components/responses/406 "409": $ref: '#/components/responses/NsLcmOpOccContinue.Post.409' - "416": - $ref: ../responses/SOL005_resp.yaml#/components/responses/416 "500": $ref: ../responses/SOL005_resp.yaml#/components/responses/500 "503": @@ -696,8 +664,6 @@ paths: $ref: ../responses/SOL005_resp.yaml#/components/responses/406 "409": $ref: '#/components/responses/NsLcmOpOccFail.Post.409' - "416": - $ref: ../responses/SOL005_resp.yaml#/components/responses/416 "500": $ref: ../responses/SOL005_resp.yaml#/components/responses/500 "503": @@ -737,8 +703,6 @@ paths: $ref: ../responses/SOL005_resp.yaml#/components/responses/406 "409": $ref: '#/components/responses/NsLcmOpOccCancel.Post.409' - "416": - $ref: ../responses/SOL005_resp.yaml#/components/responses/416 "500": $ref: ../responses/SOL005_resp.yaml#/components/responses/500 "503": @@ -2711,4 +2675,4 @@ components: style: simple explode: false schema: - type: string \ No newline at end of file + type: string diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index 34a335215f798fdb5fe1e7de8f6f7156a4489c58..594cc1f7cc8c430c62df315c301866826aa92ab8 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -656,11 +656,10 @@ definitions: NsInstance: description: > - This type represents a response for Query NS operation. + This type represents an NS instance. It shall comply with the provisions defined in Table 6.5.2.10-1. NOTE 1: Void. - "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 @@ -669,6 +668,16 @@ definitions: NOTE 4: Information about PaaS Services assigned to VNF instances shall only be included in the corresponding VnfInstance (see clause 6.5.3.57) + NOTE 5: The recentNsLsmOperationLinks attribute does not provide a complete historical record of LCM changes that + a NS instance experienced during its lifecycle. The information in this attribute should not be used to + create a chronological order of events that cannot be inferred by looking only at the most recent operation + occurrences due to potential gaps in timeline. This is because there can be many possible combination of LCM + changes that a NS instance may have gone through between two operation occurrences recorded in the + recentNsLcmOperationLinks attribute. For example, there can be many scaling related LCM changes since an + individual NS instance has been instantiated until the most recent scaling operation occurrence linked in the + attribute. In another example, the most recent LCM operation occurrence related to instantiate NS operation + may be more recent than the one that caused the NS instance to be terminated last time, which prevents the + possibility to create a meaningful chronological timeline of NS LCM events. type: object required: - id @@ -883,7 +892,41 @@ definitions: instance resource (i.e. NS instance is in INSTANTIATED state). $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" - + recentNsLcmOperationLinks: + description: > + Links to the most recent LCM operation occurrences related to this resource. See note 5. + type: object + properties: + recentNsLcmOperation: + description: > + Link to the most recent LCM operation occurrence of any type that has been triggered + on this NS instance, such as Instantiate, Scale, or Heal. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" + recentNsLcmInstantiation: + description: > + Link to the most recent LCM operation occurrence of type "INSTANTIATE" that has been + triggered on this NS instance. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" + recentNsLcmTerminate: + description: > + Link to the most recent LCM operation occurrence of type "TERMINATE" that has been + triggered on this NS instance. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" + recentNsLcmUpdate: + description: > + Link to the most recent LCM operation occurrence of type "UPDATE" that has been + triggered on this NS instance. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" + recentNsLcmScale: + description: > + Link to the most recent LCM operation occurrence of type "SCALE" that has been + triggered on this NS instance. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" + recentNsLcmHeal: + description: > + Link to the most recent LCM operation occurrence of type "HEAL" that has been + triggered on this NS instance. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" McioTypeName: description: @@ -1061,6 +1104,12 @@ definitions: description: > State of the VNF instance. $ref: "#/definitions/VnfOperationalStateType" + vnfPowerState: + description: > + The power state of the VNF instance. Only present if the VNF instance is in a power + state or a scale status (refer to attribute "scaLeStatus" that has an associated + power profile, as defined in the VNFD. + $ref: "#/definitions/VnfPowerStateInfo" scaleStatus: description: > Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how "big" @@ -1342,16 +1391,16 @@ definitions: type: boolean McioInfo: - description: - 'This type provides information about an MCIO representing the set of VNFC instances realized by one or a set of + description: > + This type provides information about an MCIO representing the set of VNFC instances realized by one or a set of OS containers which have been created based on the same VDU. - NOTE 1 The type of MCIO as specified in the declarative descriptor of the MCIO, and that can be read from the CISM. - EXAMPLE: In case of MCIOs managed by Kubernetes, the type of MCIO corresponds to the “kind” property of the declarative descriptor. - NOTE 2 If the attribute additionalInfo is present, it may contain runtime information on the actual and desired state of the MCIO(s). - NOTE 3 When the container infrastructure service is a Kubernetes® instance, the mcioId is the combined values from the kind - and name fields of the Kubernetes® resource object, separated by a slash. Example: "Deployment/abcd". - NOTE 4 When the container infrastructure service is a Kubernetes® instance, the mcioName is the name field of the resource object.' + NOTE 1: The type of MCIO as specified in the declarative descriptor of the MCIO, and that can be read from the CISM. + EXAMPLE 1: In case of MCIOs managed by Kubernetes, the type of MCIO corresponds to the “kind” property of the declarative descriptor. + NOTE 2: If the attribute additionalInfo is present, it may contain runtime information on the actual and desired state of the MCIO(s). + NOTE 3: When the container infrastructure service is a Kubernetes® instance, the mcioId is the combined values from the kind and name fields of the Kubernetes® resource object, separated by a slash. + EXAMPLE 2: "Deployment/abcd". + NOTE 4: When the container infrastructure service is a Kubernetes® instance, the mcioName is the name field of the resource object. type: object required: - mcioId @@ -1439,6 +1488,53 @@ definitions: enum: - STARTED - STOPPED + VnfPowerStateInfo: + description: > + This type represents information about the power state of a VNF instance. + type: object + required: + - powerProfileId + - name + properties: + powerProfileId: + description: > + Identifier of the power profile, as defined in the VNFD, applied to the VNF instance. + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" + name: + description: > + Name of the power profile as provided in the VNFD + type: string + powerConsumptionInfo: + description: > + Estimated power consumption information of the resources associated + with this power profile, as provided in the VNFD. VNFM exposes and + can use this information to control the VNF instance to operate according + to the power profile and selected power state, e.g., monitoring actual energy + or power consumption of the VNF instance and compare against the estimated one. + $ref: "#/definitions/VnfPowerConsumptionInfo" + + VnfPowerConsumptionInfo: + description: > + This type represents information about estimated power consumption of the resources + associated with the power profile, as provided in the VNFD. + type: object + required: + - minPowerConsumption + - maxPowerConsumption + - averagePowerConsumption + properties: + minPowerConsumption: + description: > + Minimum power consumption of this power profile. Unit is KW/h. + type: integer + maxPowerConsumption: + description: > + Maximum power consumption of this power profile. Unit is KW/h. + type: integer + averagePowerConsumption: + description: > + Average power consumption of this power profile. Unit is KW/h. + type: integer VnfScaleInfo: required: @@ -1848,19 +1944,19 @@ 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 attributes "associatedVnfcCpId", "associatedVipCpId", "associatedVirtualCpId" 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. - NOTE 3: Cardinality greater than 1 is only applicable for specific cases where more than one network - attachment definition resource is needed to fulfil the connectivity requirements of the external CP, - e.g. to build a link redundant mated pair in SR-IOV cases. - NOTE 4: When more than one "netAttDefResourceId" is indicated, all shall belong to the same namespace. - + * NOTE 1: The attributes attributes "associatedVnfcCpId", "associatedVipCpId", "associatedVirtualCpId" 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. + * NOTE 3: Cardinality greater than 1 is only applicable for specific cases where more than one network + attachment definition resource is needed to fulfil the connectivity requirements of the external CP, + e.g. to build a link redundant mated pair in SR-IOV cases. + * NOTE 4: When more than one "netAttDefResourceId" is indicated, all shall belong to the same namespace. type: object required: - id - cpdId + - cpConfigId - cpProtocolInfo oneOf: - required: @@ -1884,7 +1980,7 @@ definitions: description: > Identifier that references the applied "VnfExtCpConfig" entry in the "cpConfig" map of the "currentVnfExtCpData" in the "ExtVirtualLinkInfo" structure. - $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" + $ref: "#/definitions/IdentifierInVnf" vnfdId: description: > Identifier of the VNFD. @@ -1955,6 +2051,56 @@ definitions: type: array items: $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + cpSecurityGroupInfo: + description: > + List of active security group rules applied to this external CP instance. The attribute identifies which + "SecurityGroupRule" specified in the VNFD are activated and the values of its attributes. + $ref: "#/definitions/CpSecurityGroupInfo" + + CpSecurityGroupInfo: + description: > + This type provides the list of active security group rules applied to an external CP instance. + The type identifies which "SecurityGroupRule" specified in the VNFD are activated and the values + of its attributes. + type: object + required: + - securityGroupRuleId + - etherType + - protocol + - portRangeMin + - portRangeMax + properties: + securityGroupRuleId: + description: > + Identifier of the security group rule policy in the VNFD. + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" + description: + description: > + Human readable description of the security group rule. + type: string + etherType: + description: > + Indicates the protocol carried over the Ethernet layer. + Permitted values: IPV4, IPV6. + type: string + enum: + - IPV4 + - IPV6 + protocol: + description: > + Indicates the protocol carried over the IP layer. + Permitted values: any protocol defined in the IANA protocol + registry (refer to clause 9.10.1.2 ofd ETSI GS NFV-SOL 001 for further information). + type: string + portRangeMin: + description: > + Value for the minimum port number in the range that is matched by the security group rule. + type: integer + portRangeMax: + description: > + Value for the maximum port number in the range that is matched by the security group rule. + type: integer + CpGroupInfo: description: > @@ -3405,6 +3551,7 @@ definitions: type: object required: - vnfProfileId + - locationConstraints properties: vnfProfileId: description: > @@ -3416,7 +3563,7 @@ definitions: Defines the location constraints for the VNF instance to be created based on the VNF profile. - See note 1 and 2. + See notes 1 and 2. $ref: "#/definitions/LocationConstraints" vnfConstituentLocationConstraints: description: > @@ -3643,7 +3790,8 @@ definitions: $ref: "#/definitions/ScaleNsData" scaleVnfData: description: > - The necessary information to scale the referenced NS instance. + The necessary information to scale or to change to a power profile + a given VNF instance that is part of the referenced NS instance. It shall be present when scaleType = SCALE_VNF. See note. type: array @@ -6153,20 +6301,26 @@ definitions: description: > 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. + DF. Instantiation levels and scaling aspects are declared in the VNFD. + This type also describes the information needed to scale an instantiated VNF of a particular DF to a power profile for + the VNF instance. This can be done either by referring to a defined instantiation level or list of scale levels defined in + the VNFD (see above) that have an associated power profile or to a specified power profile in the VNFD. + The NFVO shall then invoke the ScaleVnfToLevel operation towards the appropriate VNFM. - NOTE 1: Either the vnfInstantiationLevelId attribute or the vnfScaleInfo attribute shall be included. - NOTE 2: If the referenced instantiationLevel or the scaleInfo attribute contain information related to VNFCs that are not - going to be instantiated due to the selection of deployable modules, when passed to the VNFM, the information - is stored in the VNFM for later use and included in the instantiatedVnfInfo, as described in clause 5.5.2.6 of - ETSI GS NFV-SOL 003. + NOTE 1: Either the vnfInstantiationLevelId attribute or the vnfScaleInfo or the vnfPowerProfileId attribute shall be + included, but not multiple of them. + NOTE 2: If the referenced instantiationLevel, the scaleInfo or the vnfPowerProfileId attribute contain information related + to VNFCs that are not going to be instantiated due to the selection of deployable modules, when passed to the VNFM, + the information is stored in the VNFM for later use and included in the instantiatedVnfInfo, as described in + clause 5.5.2.6 of ETSI GS NFV-SOL 003. type: object anyOf: - required: - vnfInstantiationLevelId - required: - vnfScaleInfo + - required: + - vnfPowerProfileId properties: vnfInstantiationLevelId: description: > @@ -6181,6 +6335,12 @@ definitions: type: array items: $ref: "#/definitions/VnfScaleInfo" + vnfPowerProfileId: + description: > + Identifier of the target power profile in the current DF, as defined in the VNFD, + from which the target power state can be selected and be switched to. + See notes 1 and 2. + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" additionalParams: description: > Additional parameters passed by the NFVO as input to @@ -7203,32 +7363,33 @@ definitions: shall use the network attachment definition resource of secondary container cluster network when connecting the CP to the external VL. - NOTE 1: The following conditions apply to the attributes "linkPortId" and "cpProtocolData" - for an external CP instance connected or to be connected to a virtual network not - categorized as secondary container cluster network: - - 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 + * NOTE 1: The following conditions apply to the attributes "linkPortId" and "cpProtocolData" + for an external CP instance connected or to be connected to a virtual network not + categorized as secondary container cluster network: + - 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. - NOTE 3: The following conditions apply to the attributes "netAttDefResourceId" and "cpProtocolData" for an external CP - instance connected or to be connected to a secondary container cluster network: - − Void. - − At least one of these attributes shall be present for a to-be-created external CP instance or an existing - external CP instance. - NOTE 4: Cardinality greater than 1 is only applicable for specific cases where more than one network - attachment definition resource is needed to fulfil the connectivity requirements of the external CP, - e.g. to build a link redundant mated pair in SR-IOV cases. When more than one "netAttDefResourceId" - is indicated, all shall belong to the same namespace as defined by the corresponding - "containerNamespace" attribute in the "resourceHandle" attribute in the "NetAttDefResourceData". - NOTE 5: Either "linkPortId" or "netAttDefResourceId" may be included, but not both. + * 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. + * NOTE 3: The following conditions apply to the attributes "netAttDefResourceId" and "cpProtocolData" for an external CP + instance connected or to be connected to a secondary container cluster network: + − Void. + − At least one of these attributes shall be present for a to-be-created external CP instance or an existing + external CP instance. + * NOTE 4: Cardinality greater than 1 is only applicable for specific cases where more than one network + attachment definition resource is needed to fulfil the connectivity requirements of the external CP, + e.g. to build a link redundant mated pair in SR-IOV cases. When more than one "netAttDefResourceId" + is indicated, all shall belong to the same namespace as defined by the corresponding + "containerNamespace" attribute in the "resourceHandle" attribute in the "NetAttDefResourceData". + * NOTE 5: Either "linkPortId" or "netAttDefResourceId" may be included, but not both. + type: object oneOf: - required: @@ -7277,6 +7438,49 @@ definitions: type: array items: $ref: "#/definitions/IdentifierInVnf" + cpSecurityGroupData: + description: > + Parameters for modifying and overriding security groups + information bound to this CP. The parameters identify + which "SecurityGroupRule" specified in the VNFD is + activated/deactivated and for an activated security group + rule the values of attributes defined in the VNFD that can + be overridden such as "portRangeMin" and "portRangeMax". + If no security group configuration is provided for a given + "SecurityGroupRule" specified in the VNFD as part of this + attribute, the VNFM will use the configuration as specified + in the VNFD. + $ref: "#/definitions/CpSecurityGroupData" + + CpSecurityGroupData: + description: > + This type provides input parameters for modifying and overriding security groups. + The parameters identify which "SecurityGroupRule" specified in the VNFD is activated/deactivated + and for an activated security group rule the values of attributes defined in the VNFD that can be + overriden such as "portRangeMin" and "portRangeMax". + type: object + required: + - securityGroupRuleId + properties: + securityGroupRuleId: + description: > + Identifier of the security group rule policy in the VNFD. + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" + isActivated: + description: > + Indicates whether the rule is to be active (true) or inactive (false). If no attribute value + is provided, the Security Group Rule is activated by default. + type: boolean + portRangeMin: + description: > + Value for the minimum port number in the range that is matched by the security group rule. + The value shall be within the range "0 - 65535". + type: integer + portRangeMax: + description: > + Value for the maximum port number in the range that is matched by the security group rule. + The value shall be within the range "0 - 65535". + type: integer IdentifierInNs: description: > @@ -7574,8 +7778,8 @@ definitions: ChangeVnfPackageData: description: | - This type specifies the information needed to change the current VNF package for a VNF instance. Clause B.3 of the - ETSI GS NFV-IFA 007 illustrates the variants of changes to the current VNF Package and information flow procedures. + This type specifies the information needed to change the current VNF package for a VNF instance. + Clause B.3 of ETSI GS NFV-IFA 007 illustrates the variants of changes to the current VNF Package and information flow procedures. This operation encompasses the following scenarios: * Changes of the VNF virtualised resources, such as requirements, composition and structure between the VNF versions, without changing the VNF software version. diff --git a/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml b/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml index e03ca9756096b8a53d0509a0483b5b82b2977c78..2b222a5575eebec19ed09783eabc9fe01a7e709a 100644 --- a/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml +++ b/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml @@ -14,11 +14,11 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 2.15.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 2.16.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 005 V5.2.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/05.02.01_60/gs_nfv-sol005v050201p.pdf + description: ETSI GS NFV-SOL 005 V5.3.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/05.03.01_60/gs_NFV-SOL005v050301p.pdf servers: - url: http://127.0.0.1/callback/v2 @@ -29,7 +29,7 @@ paths: parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization - get: + 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. @@ -54,7 +54,7 @@ paths: "503": $ref: ../responses/SOL005_resp.yaml#/components/responses/503 - post: + 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.2. @@ -574,4 +574,4 @@ components: explode: false schema: type: string - content: {} \ No newline at end of file + content: {} diff --git a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml index 80177e529a39390cdae28aea9779e2914aa6671f..db8cf84061883ff4b218912e7b784288a37887fe 100644 --- a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml +++ b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml @@ -19,8 +19,8 @@ info: version: 2.13.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 005 V5.2.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/05.02.01_60/gs_nfv-sol005v050201p.pdf + description: ETSI GS NFV-SOL 005 V5.3.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/05.03.01_60/gs_NFV-SOL005v050301p.pdf servers: - url: http://127.0.0.1/nspm/v2 @@ -37,7 +37,7 @@ paths: # PM Jobs # ############################################################################### /pm_jobs: - #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.2 + #ETSI GS NFV-SOL 005 V5.2.1 location: 7.4.2 parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization - $ref: ../components/SOL005_params.yaml#/components/parameters/Version @@ -124,7 +124,7 @@ paths: # Individual PM job # ############################################################################### /pm_jobs/{pmJobId}: - #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.3 + #ETSI GS NFV-SOL 005 V5.2.1 location: 7.4.3 parameters: - $ref: '#/components/parameters/PmJobId' - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization @@ -213,7 +213,7 @@ paths: # Individual performance report # ############################################################################### /pm_jobs/{pmJobId}/reports/{reportId}: - #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.4 + #ETSI GS NFV-SOL 005 V5.2.1 location: 7.4.4 parameters: - $ref: '#/components/parameters/PmJobId' - $ref: '#/components/parameters/ReportId' @@ -250,7 +250,7 @@ paths: # Thresholds # ############################################################################### /thresholds: - #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.5 + #ETSI GS NFV-SOL 005 V5.2.1 location: 7.4.5 parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization - $ref: ../components/SOL005_params.yaml#/components/parameters/Version @@ -325,7 +325,7 @@ paths: # Individual threshold # ############################################################################### /thresholds/{thresholdId}: - #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.6 + #ETSI GS NFV-SOL 005 V5.2.1 location: 7.4.6 parameters: - $ref: '#/components/parameters/ThresholdId' - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization @@ -1502,4 +1502,4 @@ components: style: simple explode: false schema: - type: string \ No newline at end of file + type: string diff --git a/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml b/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml index 51685669035944d670945b7d64cacee667c8002a..2aacef1a5551a9ddcc95197c26cd3dba9ed238f6 100644 --- a/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml +++ b/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml @@ -19,8 +19,8 @@ info: version: 2.13.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 005 V5.2.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/05.02.01_60/gs_nfv-sol005v050201p.pdf + description: ETSI GS NFV-SOL 005 V5.3.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/05.03.01_60/gs_NFV-SOL005v050301p.pdf servers: - url: http://127.0.0.1/callback/v2 diff --git a/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml index 5f87af1e641b81671cfbdbde43caf0a00bc54bac..19e4f292a70502f14ad826d59beca8594fe9311a 100644 --- a/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml @@ -19,8 +19,8 @@ info: version: 2.12.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 005 V5.2.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/05.02.01_60/gs_nfv-sol005v050201p.pdf + description: ETSI GS NFV-SOL 005 V5.3.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/05.03.01_60/gs_NFV-SOL005v050301p.pdf servers: - url: http://127.0.0.1/vnfpkgm/v2 @@ -115,8 +115,6 @@ paths: $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": @@ -300,7 +298,7 @@ paths: put: description: | The PUT method provides the access configuration information for the NFVO to download the content of external - VNF package artifacts. See clause 9.4.4a.3.4. + VNF package artifacts. See clause 9.4.4a.3.3. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType requestBody: @@ -417,10 +415,7 @@ paths: put: 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. + The PUT method uploads the content of a VNF package. See clause 9.4.5.3.3. 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 @@ -458,8 +453,6 @@ paths: $ref: ../responses/SOL005_resp.yaml#/components/responses/406 "409": $ref: '#/components/responses/IndividualVnfPackageContent.Put.409' - "416": - $ref: ../responses/SOL005_resp.yaml#/components/responses/416 "500": $ref: ../responses/SOL005_resp.yaml#/components/responses/500 "503": @@ -552,8 +545,6 @@ paths: $ref: ../responses/SOL005_resp.yaml#/components/responses/406 "409": $ref: '#/components/responses/IndividualVnfPackageUploadFromUri.Post.409' - "416": - $ref: ../responses/SOL005_resp.yaml#/components/responses/416 "500": $ref: ../responses/SOL005_resp.yaml#/components/responses/500 "503": @@ -619,7 +610,7 @@ paths: get: 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 9.4.7.3.2. + It can be used e.g. for resynchronization after error situations. See clause 9.4.8.3.2. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - in: query @@ -2195,4 +2186,4 @@ components: explode: false schema: type: string - content: {} \ No newline at end of file + content: {} diff --git a/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml b/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml index 2124003b2cfc36cfb2002b9dc569e408db9be1c5..9d5a92d25ac1e96cbc85dd759fbe8d9bd19db93a 100644 --- a/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml +++ b/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml @@ -19,8 +19,8 @@ info: version: 2.12.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 005 V5.2.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/05.02.01_60/gs_nfv-sol005v050201p.pdf + description: ETSI GS NFV-SOL 005 V5.3.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/05.03.01_60/gs_NFV-SOL005v050301p.pdf servers: - url: http://127.0.0.1/callback/v2 diff --git a/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml b/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml index 73394ecc52ab47ef710e919cc357cfc1b112d382..97ad6de315d8d7fa668a9703745ee11e588e3706 100644 --- a/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml +++ b/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml @@ -19,8 +19,8 @@ info: version: 1.12.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 005 V5.2.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/05.02.01_60/gs_nfv-sol005v050201p.pdf + description: ETSI GS NFV-SOL 005 V5.3.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/05.03.01_60/gs_NFV-SOL005v050301p.pdf servers: - url: http://127.0.0.1/vnfsnapshotpkgm/v1 @@ -62,8 +62,6 @@ paths: $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: @@ -118,8 +116,6 @@ paths: $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 422: $ref: ../responses/SOL005_resp.yaml#/components/responses/422 429: @@ -157,8 +153,6 @@ paths: $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 422: $ref: ../responses/SOL005_resp.yaml#/components/responses/422 429: @@ -195,8 +189,6 @@ paths: $ref: ../responses/SOL005_resp.yaml#/components/responses/406 409: $ref: '#/components/responses/IndividualVNFSnapshotPackage.Patch.409' - 416: - $ref: ../responses/SOL005_resp.yaml#/components/responses/416 500: $ref: ../responses/SOL005_resp.yaml#/components/responses/500 503: @@ -224,8 +216,6 @@ paths: $ref: ../responses/SOL005_resp.yaml#/components/responses/406 409: $ref: '#/components/responses/IndividualVNFSnapshotPackage.Delete.409' - 416: - $ref: ../responses/SOL005_resp.yaml#/components/responses/416 500: $ref: ../responses/SOL005_resp.yaml#/components/responses/500 503: @@ -298,8 +288,6 @@ paths: $ref: ../responses/SOL005_resp.yaml#/components/responses/406 409: $ref: '#/components/responses/VnfSnapshotPackageContent.Put.409' - 416: - $ref: ../responses/SOL005_resp.yaml#/components/responses/416 422: $ref: ../responses/SOL005_resp.yaml#/components/responses/422 429: @@ -341,8 +329,6 @@ paths: $ref: ../responses/SOL005_resp.yaml#/components/responses/406 409: $ref: '#/components/responses/UploadFromUri.Post.409' - 416: - $ref: ../responses/SOL005_resp.yaml#/components/responses/416 500: $ref: ../responses/SOL005_resp.yaml#/components/responses/500 503: @@ -380,8 +366,6 @@ paths: $ref: ../responses/SOL005_resp.yaml#/components/responses/406 409: $ref: '#/components/responses/BuildVnfSnapshotPkg.Post.409' - 416: - $ref: ../responses/SOL005_resp.yaml#/components/responses/416 500: $ref: ../responses/SOL005_resp.yaml#/components/responses/500 503: @@ -419,8 +403,6 @@ paths: $ref: ../responses/SOL005_resp.yaml#/components/responses/406 409: $ref: '#/components/responses/ExtractVnfSnapshotPkg.Post.409' - 416: - $ref: ../responses/SOL005_resp.yaml#/components/responses/416 500: $ref: ../responses/SOL005_resp.yaml#/components/responses/500 503: @@ -458,8 +440,6 @@ paths: $ref: ../responses/SOL005_resp.yaml#/components/responses/406 409: $ref: '#/components/responses/CancelVnfSnapshotPkg.Post.409' - 416: - $ref: ../responses/SOL005_resp.yaml#/components/responses/416 500: $ref: ../responses/SOL005_resp.yaml#/components/responses/500 503: @@ -495,8 +475,6 @@ paths: $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 422: $ref: ../responses/SOL005_resp.yaml#/components/responses/422 429: @@ -533,8 +511,6 @@ paths: $ref: ../responses/SOL005_resp.yaml#/components/responses/406 409: $ref: '#/components/responses/ExternalArtifactsAccess.Put.409' - 416: - $ref: ../responses/SOL005_resp.yaml#/components/responses/416 422: $ref: ../responses/SOL005_resp.yaml#/components/responses/422 429: diff --git a/src/SOL005/definitions/SOL005_def.yaml b/src/SOL005/definitions/SOL005_def.yaml index 0e150425d0dec7f0114fa2778ecb4197d0cdc066..9a23688e7e7504e6b5120ab52911b1c8b7c2b0d1 100644 --- a/src/SOL005/definitions/SOL005_def.yaml +++ b/src/SOL005/definitions/SOL005_def.yaml @@ -139,10 +139,8 @@ definitions: properties: href: description: > - URI of a resource referenced from a notification. - Should be an absolute URI (i.e. a URI that contains {apiRoot}), - however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) - if the {apiRoot} information is not available. + URI of another resource referenced from a resource. Shall be an absolute URI (i.e. a URI that + contains {apiRoot}). type: string format: url @@ -412,6 +410,19 @@ definitions: $ref: "#/definitions/DateTime" SubscriptionAuthentication: + description: > + * NOTE 1 : The clientId and clientPassword passed in a subscription shall not be the same as the clientId and + clientPassword that are used to obtain authorization for API requests. Client credentials may differ between + subscriptions. The value of clientPassword should be generated by a random process. + * NOTE 2: As a less secure alternative to OAUTH2_CLIENT_CERT which uses mutual authentication based on X.509 + certificates, this mode which uses client password to authenticate may be used in the access token request + toward the authorization server (as defined by IETF RFC 6749 [7]), only to support legacy implementations + (version 3.4.1 or earlier version of the present document). See clause 8.1 for more details. + * NOTE 3: The following values that were included up to version 3.4.1 of the present document have been removed: + "BASIC" (to signal the use of the basic HTTP authentication) has been removed because it is insecure. + "TLS_CERT" to signal an alternative non-token based authorization method using TLS certificates has been + removed because the method is no longer supported. + * NOTE 4: The client certificate is established by means outside the scope of the present document. type: object required: - authType @@ -420,71 +431,103 @@ definitions: description: > Defines the types of Authentication / Authorization which the API consumer is willing to accept when receiving a notification. - Permitted values: - - BASIC: In every HTTP request to the notification endpoint, use - HTTP Basic authentication with the client credentials. - - OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the - notification endpoint, use an OAuth 2.0 Bearer token, obtained - using the client credentials grant type. - - TLS_CERT: Every HTTP request to the notification endpoint is sent - over a mutually authenticated TLS session, i.e. not only the - server is authenticated, but also the client is authenticated - during the TLS tunnel setup. + Permitted values (see note 3): + * OAUTH2_CLIENT_CREDENTIALS: In every + HTTP request to the notification endpoint, use + an OAuth 2.0 token, obtained using the client + credentials grant type after authenticating + using client identifier and client password + towards the token endpoint. + * OAUTH2_CLIENT_CERT: In every HTTP + request to the notification endpoint, use an + OAuth 2.0 token, obtained using the client + credentials grant type after mutually + authenticating using client identifier and X.509 + certificates towards the token endpoint. type: array items: type: string enum: - - BASIC - OAUTH2_CLIENT_CREDENTIALS - - TLS_CERT - paramsBasic: + - OAUTH2_CLIENT_CERT + paramsOauth2ClientCert: description: > - Parameters for authentication/authorization using BASIC. - Shall be present if authType is "BASIC" and the contained - information has not been provisioned out of band. + Parameters for authentication/authorization using + OAUTH2_CLIENT_CERT. + + Shall be present if authType is "OAUTH2_CLIENT_CERT" and the contained + information has not been provisioned out of band. + Shall be absent otherwise. type: object + required: + - clientId + - certificateRef + - tokenEndpoint properties: - userName: + clientId: description: > - Username to be used in HTTP Basic authentication. Shall be - present if it has not been provisioned out of band. + Client identifier to be used in the access token request + of the OAuth 2.0 client credentials grant type. The client + identifier is unique in the scope of the tokenEndpoint. type: string - password: + certificateRef: description: > - Password to be used in HTTP Basic authentication. Shall be - present if it has not been provisioned out of band. + Fingerprint of the client certificate. The hash function + shall use SHA256 or higher. See note 4. type: string + required: + - type + - value + properties: + type: + description: > + The type of the fingerprint. + Permitted values: + - x5t#S256: The SHA-256 thumbprint of the + X.509 certificate as defined in section 4.1.8 of + IETF RFC 7515 [23]. + $ref: "#/definitions/String" + enum: + - x5t#S256 + value: + description: > + The fingerprint value as defined by the type. + $ref: "#/definitions/String" + tokenEndpoint: + description: > + The token endpoint from which the access token can be + obtained. + $ref: "#/definitions/Uri" paramsOauth2ClientCredentials: description: > Parameters for authentication/authorization using OAUTH2_CLIENT_CREDENTIALS. - Shall be present if authType is "OAUTH2_CLIENT_CREDENTIALS" and the - contained information has not been provisioned out of band. + + Shall be present if authType is + "OAUTH2_CLIENT_CREDENTIALS" and the contained + information has not been provisioned out of band. + Shall be absent otherwise. + + See note 2. type: object properties: clientId: description: > - Client identifier to be used in the access token request of the - OAuth 2.0 client credentials grant type. - Shall be present if it has not been provisioned out of band. - The clientId and clientPassword passed in a subscription shall - not be the same as the clientId and clientPassword that are used - to obtain authorization for API requests. Client credentials may - differ between subscriptions. The value of clientPassword should - be generated by a random process. + Client identifier to be used in the access token request + of the OAuth 2.0 client credentials grant type. The client + identifier is unique in the scope of the tokenEndpoint. + Shall be present if it has not been provisioned out of + band. + See note 1. type: string clientPassword: description: > - Client password to be used in the access token request of the - OAuth 2.0 client credentials grant type. - Shall be present if it has not been provisioned out of band. - The clientId and clientPassword passed in a subscription shall - not be the same as the clientId and clientPassword that are used - to obtain authorization for API requests. Client credentials may - differ between subscriptions. The value of clientPassword should - be generated by a random process. + Client password to be used in the access token request + of the OAuth 2.0 client credentials grant type. Shall be + present if it has not been provisioned out of band. See + note 1. type: string tokenEndpoint: description: > diff --git a/src/SOL005/endpoints/SOL005_endpoints.yaml b/src/SOL005/endpoints/SOL005_endpoints.yaml index 7ae8dce541015456d6aa38bf4448ac3034f04cc2..b1fda634b8f5094cf0ba46ce4ed7aa25a4085b0d 100644 --- a/src/SOL005/endpoints/SOL005_endpoints.yaml +++ b/src/SOL005/endpoints/SOL005_endpoints.yaml @@ -25,8 +25,6 @@ endpoints: $ref: ../responses/SOL005_resp.yaml#/components/responses/413 "414": $ref: ../responses/SOL005_resp.yaml#/components/responses/414 - "416": - $ref: ../responses/SOL005_resp.yaml#/components/responses/416 "422": $ref: ../responses/SOL005_resp.yaml#/components/responses/422 "429":