diff --git a/src/SOL005/NSDManagement/NSDManagement.yaml b/src/SOL005/NSDManagement/NSDManagement.yaml index 23df6eeec99596d778f0132b5ab06825d5653e15..a01994f8ebddcf06021ce564586b7f29d5a3eab3 100644 --- a/src/SOL005/NSDManagement/NSDManagement.yaml +++ b/src/SOL005/NSDManagement/NSDManagement.yaml @@ -17,8 +17,8 @@ info: name: "NFV-SOL WG" externalDocs: - description: ETSI GS NFV-SOL 005 V2.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.05.01_60/gs_NFV-SOL005v020501p.pdf + description: ETSI GS NFV-SOL 005 V2.6.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.06.01_60/gs_NFV-SOL005v020601p.pdf basePath: /nsd/v1 @@ -62,7 +62,7 @@ paths: post: summary: Create a new NS descriptor resource. description: > - The POST method is used to create a new NS descriptor resource or a new version of an on-boarded NS descriptor. + The POST method is used to create a new NS descriptor resource. parameters: - name: Accept description: > @@ -90,11 +90,14 @@ paths: description: > 201 CREATED - An NS descriptor resource was created successfully, as a new NS descriptor resource. - The response body shall contain a representation of the new NS descriptor resource, - as defined in clause 5.5.2.2. - The HTTP response shall include a "Location" HTTP header that contains the resource URI - of the new NS descriptor resource. + An NS descriptor resource has been created + successfully, as a new NS descriptor resource. + The response body shall contain a representation + of the new NS descriptor resource, as defined in + clause 5.5.2.2. + The HTTP response shall include a "Location" + HTTP header that contains the resource URI of the + new NS descriptor resource. schema: $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdInfo" headers: @@ -134,21 +137,20 @@ paths: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" + 504: + $ref: "../responses/SOL005_resp.yaml#/responses/504" get: summary: Query information about multiple NS descriptor resources. description: > The GET method queries information about multiple NS descriptor resources. - This method shall follow the provisions specified in the - Tables 5.4.2.3.2-1 and 5.4.2.3.2-2 for URI query parameters, - request and response data structures, and response codes. parameters: - name: filter in: query required: false type: string description: > - Attribute-based filtering expression according to clause 4.3.2. + Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013. The NFVO shall support receiving this filtering parameter as part of the URI query string. The OSS/BSS may supply this parameter. All attribute names that appear in the NsdInfo and in data types referenced from it shall @@ -158,28 +160,29 @@ paths: required: false type: string description: > - Include all complex attributes in the response. See clause 4.3.3 for details. + Include all complex attributes in the response. See clause 5.3 of ETSI GS NFV SOL 013 for details. The NFVO shall support this parameter. - name: fields in: query required: false type: string description: > - Complex attributes to be included into the response. See clause 4.3.3 for + Complex attributes to be included into the response. See clause 5.3 of ETSI GS NFV SOL 013 for details. The NFVO should support this parameter. - name: exclude_fields in: query required: false type: string description: > - Complex attributes to be excluded from the response. See clause 4.3.3 for + Complex attributes to be excluded from the response. See clause 5.3 of ETSI GS NFV SOL 013 for details. The NFVO should support this parameter. - name: exclude_default in: query required: false type: string description: > - Indicates to exclude the following complex attributes from the response. See clause 4.3.3 for details. + Indicates to exclude the following complex attributes from the response. + See clause 5.3 of ETSI GS NFV SOL 013 for details. The VNFM shall support this parameter. The following attributes shall be excluded from the NsdInfo structure in the response body if this parameter is provided, or none of the parameters "all_fields," "fields", "exclude_fields", "exclude_default" @@ -188,7 +191,8 @@ paths: in: query description: > Marker to obtain the next page of a paged response. Shall be supported by the NFVO - if the NFVO supports alternative 2 (paging) according to clause 4.7.2.1 for this resource. + if the NFVO supports alternative 2 (paging) according to clause 5.4.2.1 of + ETSI GS NFV-SOL 013 for this resource. required: false type: string - name: Accept @@ -204,10 +208,14 @@ paths: 200 OK Information about zero or more NS descriptors. - The response body shall contain in an array the representations of zero or more NS 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. + The response body shall contain in an array the + representations of zero or more NS descriptors, as + defined in clause 5.5.2.2. + 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 response. @@ -254,6 +262,8 @@ paths: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" + 504: + $ref: "../responses/SOL005_resp.yaml#/responses/504" ############################################################################### # Individual NS Descriptor # @@ -285,9 +295,6 @@ paths: summary: Read information about an individual NS descriptor resource. description: > The GET method reads information about an individual NS descriptor. - This method shall follow the provisions specified in GS NFV-SOL 005 Tables - 5.4.3.3.2-1 and 5.4.3.3.2-2 of GS NFV-SOL 005 for URI query parameters, - request and response data structures, and response codes. parameters: - name: Accept description: > @@ -302,8 +309,9 @@ paths: 200 OK Information about the individual NS descriptor. - The response body shall contain a representation of the individual NS descriptor, - as defined in clause 5.5.2.2. + The response body shall contain a representation of + the individual NS descriptor, as defined in + clause 5.5.2.2. schema: $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdInfo" headers: @@ -342,18 +350,20 @@ paths: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" + 504: + $ref: "../responses/SOL005_resp.yaml#/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 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 changes a result. + 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. parameters: - name: NsdInfoModifications @@ -375,7 +385,7 @@ paths: description: > 200 OK - The operation was completed successfully. + The operation has been completed successfully. The response body shall contain attribute modifications for an 'Individual NS Descriptor' resource (see clause 5.5.2.6). headers: @@ -416,10 +426,15 @@ paths: 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 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 + Error: The operation cannot be executed currently, + due to a conflict with the state of the 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#/responses/409" 412: @@ -428,6 +443,8 @@ paths: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" + 504: + $ref: "../responses/SOL005_resp.yaml#/responses/504" delete: summary: Delete an individual NS descriptor resource. @@ -488,17 +505,23 @@ paths: 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. operationalState = ENABLED) or there are running NS instances using the concerned individual - NS descriptor resource (i.e. usageState = IN_USE). - The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall - convey more information about the error. + 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. + operationalState = ENABLED) or there are running + NS instances using the concerned individual NS + descriptor resource (i.e. usageState = 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#/responses/409" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" + 504: + $ref: "../responses/SOL005_resp.yaml#/responses/504" ############################################################################### # NSD Content # @@ -528,20 +551,16 @@ paths: summary: Fetch the content of a NSD. description: > The GET method fetches the content of the NSD. - 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.NOTE: The structure - of the NSD zip file is outside the scope of the present document. + 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. parameters: - name: Accept description: > @@ -568,15 +587,16 @@ paths: description: > 200 OK - On success, the content of the NSD is returned. + 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. + 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, i.e. to - "text/plain" for a YAML file or to "application/zip" for a - ZIP file. + "text/plain" for a YAML file or to "application/zip" for + a ZIP file. headers: Content-Type: description: The MIME type of the body of the response. @@ -601,11 +621,15 @@ paths: 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. + 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#/responses/206" 400: $ref: "../responses/SOL005_resp.yaml#/responses/400" @@ -618,48 +642,61 @@ paths: 405: $ref: "../responses/SOL005_resp.yaml#/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#/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 "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. + 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#/responses/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 + 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. + The response body may contain a ProblemDetails + structure. $ref: "../responses/SOL005_resp.yaml#/responses/416" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" + 504: + $ref: "../responses/SOL005_resp.yaml#/responses/504" put: summary: Upload the content of a NSD. description: > - "The PUT method is used to upload the content of a NSD. The NSD - to be uploaded can be implemented as a single file or as a collection of - multiple files, as defined in clause 5.4.4.3.2 of GS NFV-SOL 005. - If the NSD is implemented in the form of multiple files, a ZIP file embedding these - files shall be uploaded. - If the NSD is implemented as a single file, either that file or a ZIP file - embedding that file shall be uploaded. The "Content-Type" - HTTP header in the PUT request shall be set accordingly based on the format - selection of the NSD. - If the NSD to be uploaded is a text file, the "Content-Type" - header is set to "text/plain". - If the NSD to be uploaded is a zip file, - the "Content-Type" header is 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 - of GS-NFV-SOL 005 for URI query parameters, request and response data structures, - and response codes." + The PUT method is used to upload the content of a NSD. + The NSD to be uploaded can be implemented as a single file or as a collection of multiple files, as defined in + clause 5.4.4.3.2. If the NSD is implemented in the form of multiple files, a ZIP file embedding these files shall be + uploaded. If the NSD is implemented as a single file, either that file or a ZIP file embedding that file shall be uploaded. + ETSI + 47 ETSI GS NFV-SOL 005 V2.6.1 (2019-04) + The "Content-Type" HTTP header in the PUT request shall be set accordingly based on the format selection of the + NSD: + • If the NSD to be uploaded is a text file, the "Content-Type" header is set to "text/plain". + • If the NSD to be uploaded is a zip file, the "Content-Type" header is set to "application/zip". parameters: - name: Accept description: > @@ -677,13 +714,16 @@ paths: description: > 202 ACCEPTED - The NSD content was accepted for uploading, but the processing has not been completed. - It is expected to take some time for processing (asynchronous mode). + The NSD content 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 client 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. + The client 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 response. @@ -708,7 +748,8 @@ paths: description: > 204 NO CONTENT - The NSD content was successfully uploaded and validated (synchronous mode). + The NSD content successfully uploaded and + validated (synchronous mode). The response body shall be empty. headers: WWW-Authenticate: @@ -741,15 +782,21 @@ paths: 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. + 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#/responses/409" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" + 504: + $ref: "../responses/SOL005_resp.yaml#/responses/504" ############################################################################### # PNF Descriptors # @@ -802,13 +849,14 @@ paths: description: > 201 CREATED - A PNF descriptor resource was created successfully, as a new PNF descriptor resource. + A PNF descriptor resource has been created + successfully, as a new PNF descriptor resource. The response body shall contain a representation of the new 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 new - PNF descriptor resource. + The HTTP response shall include a "Location" + HTTP header that contains the resource URI of the + new PNF descriptor resource. schema: $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/PnfdInfo" headers: @@ -848,6 +896,8 @@ paths: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" + 504: + $ref: "../responses/SOL005_resp.yaml#/responses/504" get: summary: Query information about multiple PNF descriptor resources. @@ -860,7 +910,7 @@ paths: required: false type: string description: > - Attribute-based filtering expression according to clause 4.3.2. + Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013. The NFVO shall support receiving this filtering parameter as part of the URI query string. The OSS/BSS may supply this parameter. All attribute names that appear in the PnfdInfo and in data types @@ -870,21 +920,21 @@ paths: required: false type: string description: > - Include all complex attributes in the response. See clause 4.3.3 for details. + Include all complex attributes in the response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The NFVO shall support this parameter. - name: fields in: query required: false type: string description: > - Complex attributes to be included into the response. See clause 4.3.3 for + Complex attributes to be included into the response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The NFVO should support this parameter. - name: exclude_fields in: query required: false type: string description: > - Complex attributes to be excluded from the response. See clause 4.3.3 for + Complex attributes to be excluded from the response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The NFVO should support this parameter. - name: exclude_default in: query @@ -892,7 +942,7 @@ paths: type: string description: > Indicates to exclude the following complex attributes from the response. See - clause 4.3.3 for details. The NFVO shall support this parameter. + clause 5.3 of ETSI GS NFV-SOL 013 for details. The NFVO shall support this parameter. The following attributes shall be excluded from the PnfdInfo structure in the response body if this parameter is provided, or none of the parameters "all_fields," "fields", "exclude_fields", "exclude_default" are provided: @@ -903,16 +953,22 @@ paths: required: false description: > Marker to obtain the next page of a paged response. Shall be supported by the NFVO - if the NFVO supports alternative 2 (paging) according to clause 4.7.2.1 for this resource. + if the NFVO supports alternative 2 (paging) according to clause 5.4.2.1 of + ETSI GS NFV-SOL 013 for this resource. responses: 200: description: > 200 OK Information about zero or more PNF descriptors. - The response body shall contain a representation of - zero or more PNF descriptors, as defined in - clause 5.5.2.2 + 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 response. @@ -965,6 +1021,8 @@ paths: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" + 504: + $ref: "../responses/SOL005_resp.yaml#/responses/504" ############################################################################### # Individual PNF Descriptor # @@ -983,9 +1041,6 @@ paths: summary: Read an individual PNFD resource. description: > The GET method reads information about an individual PNF descriptor. - This method shall follow the provisions specified in the Tables 5.4.6.3.2-1 - and 5.4.6.3.2-2 of GS NFV-SOL 005 for URI query parameters, request and - response data structures, and response codes. parameters: - name: Accept in: header @@ -1015,7 +1070,8 @@ paths: Information about the individual PNFD descriptor. The response body shall contain a representation of - the individual PNF descriptor. + the individual PNF descriptor, as defined in + clause 5.5.2.5. headers: Content-Type: description: The MIME type of the body of the response. @@ -1054,6 +1110,8 @@ paths: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" + 504: + $ref: "../responses/SOL005_resp.yaml#/responses/504" patch: summary: Modify the user defined data of an individual PNF descriptor resource. @@ -1087,8 +1145,9 @@ paths: description: > 200 OK - The operation was completed successfully. - The response body shall contain attribute modifications for an 'Individual PNF Descriptor' + The operation has been completed successfully. + The response body shall contain attribute + modifications for an 'Individual PNF Descriptor' resource (see clause 5.5.2.4). schema: $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/PnfdInfoModifications" @@ -1131,6 +1190,8 @@ paths: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" + 504: + $ref: "../responses/SOL005_resp.yaml#/responses/504" delete: summary: Delete an individual PNF descriptor resource. @@ -1138,10 +1199,9 @@ paths: The DELETE method deletes an individual PNF descriptor resource. An individual PNF descriptor resource can only be deleted when there 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 the GET method with filter "pnfdInvariantId" towards the PNF descriptors resource to find - all versions of the PNFD. - Then, the client uses the DELETE method described in this clause to delete each PNFD version individually. + To delete all PNFD versions identified by a particular value of the "pnfdInvariantId" attribute, the procedure is to first + use the GET method with filter "pnfdInvariantId" towards the PNF descriptors resource to find all versions of the + PNFD. Then, the client uses the DELETE method described in this clause to delete each PNFD version individually. responses: 204: description: > @@ -1180,6 +1240,8 @@ paths: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" + 504: + $ref: "../responses/SOL005_resp.yaml#/responses/504" ############################################################################### # PNFD Content # @@ -1228,9 +1290,12 @@ paths: description: > 200 OK - On success, the content of the PNFD is returned. The payload - body shall contain a copy of the file representing the PNFD. - The Content-Type" HTTP header shall be set to "text/plain". + Shall be returned when the content of the PNFD has + been read successfully. + The payload body shall contain a copy of the file + representing the PNFD. + The "Content-Type" HTTP header shall be set to + "text/plain". headers: Content-Type: description: The MIME type of the body of the response. @@ -1267,15 +1332,21 @@ paths: 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 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. + 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#/responses/409" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" + 504: + $ref: "../responses/SOL005_resp.yaml#/responses/504" put: summary: Upload the content of a PNFD. @@ -1297,7 +1368,7 @@ paths: description: > 204 NO CONTENT - The PNFD content was successfully uploaded and validated. + The PNFD content successfully uploaded and validated. The response body shall be empty. headers: WWW-Authenticate: @@ -1330,10 +1401,14 @@ paths: 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. + 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#/responses/409" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" @@ -1364,22 +1439,14 @@ paths: 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 - of GS-NFV SOL 005. 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). - - This resource represents subscriptions. - The client can use this resource to subscribe to notifications related to NSD - management and to query its subscriptions. + 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 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). parameters: - name: Accept description: > @@ -1407,10 +1474,13 @@ paths: description: > 201 CREATED - The subscription was created successfully. - The response body shall contain a representation of the created subscription resource. + Shall be returned when the subscription has been + created successfully. + The response body shall contain a representation + of the created subscription resource. The HTTP response shall include a "Location:" - HTTP header that points to the created subscription resource. + HTTP header that points to the created + subscription resource. schema: $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdmSubscription" headers: @@ -1438,10 +1508,13 @@ paths: description: > 303 SEE OTHER - 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. + 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#/responses/303" 400: @@ -1460,25 +1533,21 @@ paths: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" + 504: + $ref: "../responses/SOL005_resp.yaml#/responses/504" 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 support the URI query parameters, - request and response data structures, and response codes. - - This resource represents subscriptions. - The client can use this resource to subscribe to notifications related to NSD - management and to query its subscriptions. + 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. parameters: - name: filter in: query required: false type: string description: > - Attribute filtering expression according to clause 4.3.2. + Attribute filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013. The NFVO shall support receiving this parameter as part of the URI query string. The OSS/BSS may supply this parameter. All attribute names that appear in the NsdmSubscription and in data types referenced @@ -1489,7 +1558,8 @@ paths: type: string description: > Marker to obtain the next page of a paged response. Shall be supported by the NFVO - if the NFVO supports alternative 2 (paging) according to clause 4.7.2.1 for this resource. + if the NFVO supports alternative 2 (paging) according to clause 5.4.2.1 of + ETSI GS NFV-SOL 013 for this resource. - name: Accept description: > Content-Types that are acceptable for the response. @@ -1502,10 +1572,19 @@ paths: description: > 200 OK - The list of subscriptions was queried successfully. - The response body shall contain the representations of - all active subscriptions of the functional block that - invokes the method. + 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 NSD management + subscriptions as defined in clause 5.5.2.8. + 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 NFVSOL + 013. headers: Content-Type: description: The MIME type of the body of the response. @@ -1559,6 +1638,8 @@ paths: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" + 504: + $ref: "../responses/SOL005_resp.yaml#/responses/504" ############################################################################### # Individual Subscription # @@ -1652,6 +1733,8 @@ paths: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" + 504: + $ref: "../responses/SOL005_resp.yaml#/responses/504" delete: summary: Terminate Subscription @@ -1683,7 +1766,7 @@ paths: description: > 204 NO CONTENT - The subscription resource was deleted successfully. + The subscription resource has been deleted successfully. The response body shall be empty. headers: WWW-Authenticate: @@ -1715,4 +1798,6 @@ paths: 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "../responses/SOL005_resp.yaml#/responses/503" \ No newline at end of file + $ref: "../responses/SOL005_resp.yaml#/responses/503" + 504: + $ref: "../responses/SOL005_resp.yaml#/responses/504" \ No newline at end of file diff --git a/src/SOL005/NSDManagement/definitions/SOL005NSDescriptorManagement_def.yaml b/src/SOL005/NSDManagement/definitions/SOL005NSDescriptorManagement_def.yaml index 336caacd80e9274ac04fd8103cfebf82597faaea..8525062dd58ea2e3602b830a7c35d73e3128ddc5 100644 --- a/src/SOL005/NSDManagement/definitions/SOL005NSDescriptorManagement_def.yaml +++ b/src/SOL005/NSDManagement/definitions/SOL005NSDescriptorManagement_def.yaml @@ -98,7 +98,7 @@ definitions: onboardingFailureDetails: description: > Failure details of current on boarding procedure. See - clause 4.3.5.3 for the details of "ProblemDetails" + clause 6.3 of ETSI GS NFV-SOL 013 for the details of "ProblemDetails" structure. It shall be present when the "nsdOnboardingState" attribute is CREATED and the uploading or @@ -207,6 +207,7 @@ definitions: onboardingFailureDetails: description: > Failure details of current on-boarding procedure. + See clause 6.3 of ETSI GS NFV-SOL 013 for the details of "ProblemDetails" structure. It shall be present when the pnfdOnboardingState attribute is CREATED and the uploading or processing fails in the NFVO. @@ -257,6 +258,10 @@ definitions: description: > The URI of the endpoint to send the notification to. 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" description: > This type represents a subscription request related to notifications diff --git a/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml b/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml index c2ce4a7608868633e950f65c30ce4bf124116baa..1f7c0edc521dc9f45221201acd46268261d4050a 100644 --- a/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml +++ b/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml @@ -14,8 +14,8 @@ info: url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: - description: ETSI GS NFV-SOL 005 V2.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.05.01_60/gs_NFV-SOL005v020501p.pdf + description: ETSI GS NFV-SOL 005 V2.6.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.06.01_60/gs_NFV-SOL005v020601p.pdf basePath: /callback/v1 @@ -86,7 +86,7 @@ paths: description: > 204 NO CONTENT - The notification was delivered successfully. + Shall be returned when the notification has been delivered successfully. headers: WWW-Authenticate: type: string @@ -143,7 +143,7 @@ paths: description: > 204 NO CONTENT - The notification endpoint was tested successfully. + Shall be returned when the notification endpoint has been tested successfully. The response body shall be empty. headers: WWW-Authenticate: @@ -234,7 +234,7 @@ paths: description: > 204 NO CONTENT - The notification was delivered successfully. + Shall be returned when the notification has been delivered successfully. headers: WWW-Authenticate: type: string @@ -291,7 +291,7 @@ paths: description: > 204 NO CONTENT - The notification endpoint was tested successfully. + Shall be returned when the notification endpoint has been tested successfully. The response body shall be empty. headers: WWW-Authenticate: @@ -382,7 +382,7 @@ paths: description: > 204 NO CONTENT - The notification was delivered successfully. + Shall be returned when the notification has been delivered successfully. headers: WWW-Authenticate: type: string @@ -439,7 +439,7 @@ paths: description: > 204 NO CONTENT - The notification endpoint was tested successfully. + Shall be returned when the notification endpoint has been tested successfully. The response body shall be empty. headers: WWW-Authenticate: @@ -530,7 +530,7 @@ paths: description: > 204 NO CONTENT - The notification was delivered successfully. + Shall be returned when the notification has been delivered successfully. headers: WWW-Authenticate: type: string @@ -587,7 +587,7 @@ paths: description: > 204 NO CONTENT - The notification endpoint was tested successfully. + Shall be returned when the notification endpoint has been tested successfully. The response body shall be empty. headers: WWW-Authenticate: @@ -678,7 +678,7 @@ paths: description: > 204 NO CONTENT - The notification was delivered successfully. + Shall be returned when the notification has been delivered successfully. headers: WWW-Authenticate: type: string @@ -735,7 +735,7 @@ paths: description: > 204 NO CONTENT - The notification endpoint was tested successfully. + Shall be returned when the notification endpoint has been tested successfully. The response body shall be empty. headers: WWW-Authenticate: @@ -826,7 +826,7 @@ paths: description: > 204 NO CONTENT - The notification was delivered successfully. + Shall be returned when the notification has been delivered successfully. headers: WWW-Authenticate: type: string @@ -883,7 +883,7 @@ paths: description: > 204 NO CONTENT - The notification endpoint was tested successfully. + Shall be returned when the notification endpoint has been tested successfully. The response body shall be empty. headers: WWW-Authenticate: @@ -974,7 +974,7 @@ paths: description: > 204 NO CONTENT - The notification was delivered successfully. + Shall be returned when the notification has been delivered successfully. headers: WWW-Authenticate: type: string @@ -1031,7 +1031,7 @@ paths: description: > 204 NO CONTENT - The notification endpoint was tested successfully. + Shall be returned when the notification endpoint has been tested successfully. The response body shall be empty. headers: WWW-Authenticate: diff --git a/src/SOL005/NSDManagementNotification/definitions/SOL005NSDescriptorManagementNotification_def.yaml b/src/SOL005/NSDManagementNotification/definitions/SOL005NSDescriptorManagementNotification_def.yaml index 5b4568c3a9d68f78d29409a672f38635dddcf5b8..b3f02986218dbb0588e6ce86a15fb2f8fd5b37e2 100644 --- a/src/SOL005/NSDManagementNotification/definitions/SOL005NSDescriptorManagementNotification_def.yaml +++ b/src/SOL005/NSDManagementNotification/definitions/SOL005NSDescriptorManagementNotification_def.yaml @@ -67,6 +67,9 @@ definitions: nsdId: $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" onboardingFailureDetails: + description: > + Failure details of current onboarding procedure. See clause 6.3 of ETSI GS NFV-SOL 013 + for the details of "ProblemDetails" structure. $ref: "../../definitions/SOL005_def.yaml#/definitions/ProblemDetails" _links: $ref: "#/definitions/NsdmLinks" @@ -222,6 +225,9 @@ definitions: pnfdId: $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" onboardingFailureDetails: + description: > + Failure details of current onboarding procedure. See clause 6.3 of ETSI GS NFV-SOL 013 + for the details of "ProblemDetails" structure. $ref: "../../definitions/SOL005_def.yaml#/definitions/ProblemDetails" _links: $ref: "#/definitions/PnfdmLinks" diff --git a/src/SOL005/NSFaultManagement/NSFaultManagement.yaml b/src/SOL005/NSFaultManagement/NSFaultManagement.yaml index c835424fb3854efcd0408f971eae3f0bdcb9fd8e..11159ca29f5a2f1b693770b22f9ed3d93a19ab7f 100644 --- a/src/SOL005/NSFaultManagement/NSFaultManagement.yaml +++ b/src/SOL005/NSFaultManagement/NSFaultManagement.yaml @@ -16,8 +16,8 @@ info: contact: name: "NFV-SOL WG" externalDocs: - description: ETSI GS NFV-SOL 005 V2.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.05.01_60/gs_NFV-SOL005v020501p.pdf + description: ETSI GS NFV-SOL 005 V2.6.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.06.01_60/gs_NFV-SOL005v020601p.pdf basePath: /nsfm/v1 schemes: - http @@ -37,7 +37,7 @@ paths: # Alarms # ############################################################################### '/alarms': - #ETSI GS NFV-SOL 005 V2.4.1 location: 8.4.2 + #ETSI GS NFV-SOL 005 V2.6.1 location: 8.4.2 parameters: - name: Authorization description: > @@ -64,7 +64,7 @@ paths: required: false type: string description: > - Attribute-based filtering expression according to clause 4.3.2. + Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV SOL 013. The NFVO shall support receiving this parameter as part of the URI query string. The OSS/BSS may supply this parameter. The following attribute names shall be supported by the NFVO in the filter @@ -82,7 +82,7 @@ paths: in: query description: > Marker to obtain the next page of a paged response. Shall be supported by the NFVO - if the NFVO supports alternative 2 (paging) according to clause 4.7.2.1 for this resource. + if the NFVO supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV SOL 013. required: false type: string - name: Accept @@ -97,11 +97,13 @@ paths: description: > 200 OK - Information about zero or more alarms was queried successfully. + Shall be returned when information about zero or more alarms has been queried successfully. The response body shall contain the list of related alarms. - 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. + 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 clauses 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: Content-Type: description: The MIME type of the body of the response. @@ -153,7 +155,7 @@ paths: # Individual alarm # ############################################################################### '/alarms/{alarmId}': - #ETSI GS NFV-SOL 005 V2.4.1 location: 8.4.3 + #ETSI GS NFV-SOL 005 V2.6.1 location: 8.4.3 parameters: - name: alarmId description: > @@ -202,9 +204,8 @@ paths: description: > 200 OK - Information about an individual alarm was read successfully. - The response body shall contain a representation of the - individual alarm. + Shall be returned when information about an individual alarm has been read successfully. + The response body shall contain a representation of the individual alarm. headers: Content-Type: description: The MIME type of the body of the response. @@ -279,9 +280,9 @@ paths: description: > 200 OK - The request was accepted and completed. - The response body shall contain attribute modifications - for an 'Individual alarm' resource (see clause 8.5.2.4). + Shall be returned when the request has been accepted and completed. + The response body shall contain attribute modifications for an 'Individual alarm' + resource (see clause 8.5.2.4). headers: Content-Type: description: The MIME type of the body of the response. @@ -329,7 +330,7 @@ paths: #Subscriptions # ############################################################################## '/subscriptions': - #ETSI GS NFV-SOL 005 V2.4.1 location: 8.4.4 + #ETSI GS NFV-SOL 005 V2.6.1 location: 8.4.4 parameters: - name: Authorization description: > @@ -350,6 +351,8 @@ paths: 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 @@ -383,11 +386,9 @@ paths: description: > 201 Created - The subscription was created successfully. - The response body shall contain a representation of the - created subscription resource. - The HTTP response shall include a "Location:" HTTP - header that points to the created subscription resource. + Shall be returned when the subscription has been created successfully. + The response body shall contain a representation of the created subscription resource. + The HTTP response shall include a "Location:" HTTP header that points to the created subscription resource. schema: $ref: "definitions/SOL005NSFaultManagement_def.yaml#/definitions/FmSubscription" headers: @@ -445,16 +446,16 @@ paths: required: false type: string description: > - Attribute-based filtering expression according to clause 4.3.2. - The NFVO shall support receiving this parameter as part of the URI - query string. The OSS/BSS may supply this parameter. - All attribute names that appear in the FmSubscription and in data types - referenced from it shall be supported by the NFVO in the filter expression. + Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV SOL 013. + The NFVO shall support receiving this parameter as part of the URI query string. The + OSS/BSS may supply this parameter. + All attribute names that appear in the FmSubscription and in data types referenced from it + shall be supported by the NFVO in the filter expression. - name: nextpage_opaque_marker in: query description: > - Marker to obtain the next page of a paged response. Shall be supported by the NFVO - if the NFVO supports alternative 2 (paging) according to clause 4.7.2.1 for this resource. + Marker to obtain the next page of a paged response. Shall be supported by the NFVO if the NFVO + supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource. required: false type: string - name: Accept @@ -476,14 +477,15 @@ paths: description: > 200 OK - The list of subscriptions was 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 FM subscriptions, - as defined in clause 8.5.2.3. - 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. + 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 FM subscriptions, as + defined in clause 8.5.2.3. + 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: Content-Type: description: The MIME type of the body of the response. @@ -535,7 +537,7 @@ paths: # Individual subscription # ############################################################################### '/subscriptions/{subscriptionId}': - #ETSI GS NFV-SOL 005 V2.4.1 location: 8.4.5 + #ETSI GS NFV-SOL 005 V2.6.1 location: 8.4.5 parameters: - name: subscriptionId description: > @@ -588,9 +590,8 @@ paths: description: > 200 OK - The operation has completed successfully. - The response body shall contain a representation of the - subscription resource. + Shall be returned when information about an individual subscription has been read successfully. + The response body shall contain a representation of the subscription resource. headers: Content-Type: description: > @@ -635,12 +636,17 @@ paths: 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. responses: 204: description: > 204 - No Content - The subscription resource was deleted successfully. + Shall be returned when the subscription resource has been deleted successfully. The response body shall be empty. headers: WWW-Authenticate: @@ -670,4 +676,4 @@ paths: 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "../responses/SOL005_resp.yaml#/responses/503" \ No newline at end of file + $ref: "../responses/SOL005_resp.yaml#/responses/503" diff --git a/src/SOL005/NSFaultManagement/definitions/SOL005NSFaultManagement_def.yaml b/src/SOL005/NSFaultManagement/definitions/SOL005NSFaultManagement_def.yaml index ab28ca20c3b737b84edfa7b9c707fbd60cc44184..af6df5da6a1a6a8b0f36e07394e55490d940dea7 100644 --- a/src/SOL005/NSFaultManagement/definitions/SOL005NSFaultManagement_def.yaml +++ b/src/SOL005/NSFaultManagement/definitions/SOL005NSFaultManagement_def.yaml @@ -304,10 +304,9 @@ definitions: format: url authentication: description: > - Authentication parameters to configure the use of Authorization when - sending notifications corresponding to this subscription. - This attribute shall only be present if the subscriber requires - authorization of notifications. + Authentication parameters to configure the use of Authorization when sending notifications + corresponding to this subscription, as defined in clause 4.5.3.4.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" PerceivedSeverityType: diff --git a/src/SOL005/NSFaultManagementNotification/NSFaultManagementNotification.yaml b/src/SOL005/NSFaultManagementNotification/NSFaultManagementNotification.yaml index a5732c72692f85d61a04ab3894a73f82c788f57b..1a314b543ca0adc7ca56dc5fae161e3d212a3d15 100644 --- a/src/SOL005/NSFaultManagementNotification/NSFaultManagementNotification.yaml +++ b/src/SOL005/NSFaultManagementNotification/NSFaultManagementNotification.yaml @@ -14,8 +14,8 @@ info: url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: - description: ETSI GS NFV-SOL 005 V2.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.05.01_60/gs_NFV-SOL005v020501p.pdf + description: ETSI GS NFV-SOL 005 V2.6.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.06.01_60/gs_NFV-SOL005v020601p.pdf basePath: /callback/v1 @@ -36,7 +36,7 @@ paths: 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. parameters: - name: alarmNotification description: > @@ -77,7 +77,7 @@ paths: description: > 204 No Content - The notification was delivered successfully. + Shall be returned when the notification has been delivered successfully. The response body shall be empty. headers: WWW-Authenticate: @@ -106,7 +106,7 @@ paths: $ref: "../responses/SOL005_resp.yaml#/responses/503" '/URI_is_provided_by_the_client_when_creating_the_subscription-AlarmClearedNotification': - #ETSI GS NFV-SOL 005 V2.4.1 location: 8.4.6 + #ETSI GS NFV-SOL 005 V2.6.1 location: 8.4.6 post: summary: Notify about NS alarms description: > @@ -178,6 +178,70 @@ paths: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" + 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. + parameters: + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + responses: + 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: + type: string + 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. + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + 400: + $ref: "../responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../responses/SOL005_resp.yaml#/responses/406" + 500: + $ref: "../responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../responses/SOL005_resp.yaml#/responses/503" '/URI_is_provided_by_the_client_when_creating_the_subscription-AlarmListRebuiltNotification': post: @@ -253,10 +317,10 @@ paths: $ref: "../responses/SOL005_resp.yaml#/responses/503" get: - summary: Test the notification endpoint + 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 server to test the notification endpoint that is provided by + the client, e.g. during subscription. parameters: - name: Accept description: > @@ -283,7 +347,7 @@ paths: description: > 204 No Content - The notification endpoint was tested successfully. + Shall be returned when the notification endpoint has been tested successfully. The response body shall be empty. headers: WWW-Authenticate: @@ -294,12 +358,24 @@ paths: has provided an invalid authorization token. maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 400: $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: $ref: "../responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../responses/SOL005_resp.yaml#/responses/406" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: diff --git a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml index 4bf0b068a6cb2fad970b8fe58b8b4484f8db3b5b..cfbc3eedd7ec4630a8a53bf88a3140bf396c1bb6 100644 --- a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml +++ b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml @@ -1,6 +1,6 @@ swagger: "2.0" info: - version: "1.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" + version: "1.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" title: "SOL005 - NS Lifecycle Management Interface" description: > SOL005 - NS Lifecycle Management Interface @@ -15,8 +15,8 @@ info: contact: name: "NFV-SOL WG" externalDocs: - description: ETSI GS NFV-SOL 005 V2.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.05.01_60/gs_NFV-SOL005v020501p.pdf + description: ETSI GS NFV-SOL 005 V2.6.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.06.01_60/gs_NFV-SOL005v020601p.pdf basePath: /nslcm/v1 schemes: - http @@ -82,7 +82,8 @@ paths: description: > 201 Created - A NS Instance identifier was created successfully. + A NS Instance identifier has been created + successfully. The response body shall contain a representation of the created NS instance, as defined in clause 6.5.2.8. The HTTP response shall include a "Location" HTTP @@ -131,6 +132,8 @@ paths: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" + 504: + $ref: "../responses/SOL005_resp.yaml#/responses/504" get: summary: Query multiple NS instances. description: > @@ -145,7 +148,7 @@ paths: required: false type: string description: > - Attribute-based filtering expression according to clause 4.3.2. + Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013. The NFVO shall support receiving this parameter as part of the URI query string. The OSS/BSS may supply this parameter. All attribute names that appear in the NsInstance and in data types @@ -155,21 +158,21 @@ paths: required: false type: string description: > - Include all complex attributes in the response. See clause 4.3.3 for details. + Include all complex attributes in the response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The NFVO shall support this parameter. - name: fields in: query required: false type: string description: > - "Complex attributes to be included into the response. See clause 4.3.3 for + "Complex attributes to be included into the response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The NFVO should support this parameter." - name: exclude_fields in: query required: false type: string description: > - "Complex attributes to be excluded from the response. See clause 4.3.3 for + "Complex attributes to be excluded from the response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The NFVO should support this parameter." - name: exclude_default in: query @@ -177,7 +180,7 @@ paths: type: string description: > "Indicates to exclude the following complex attributes from the response. - See clause 4.3.3 for details. The NFVO shall support this parameter. + See clause 5.3 of ETSI GS NFV-SOL 013 for details. The NFVO shall support this parameter. The following attributes shall be excluded from the NsInstance structure in the response body if this parameter is provided, or none of the parameters "all_fields," "fields", "exclude_fields", "exclude_default" are provided: @@ -192,7 +195,8 @@ paths: in: query description: > Marker to obtain the next page of a paged response. Shall be supported by the NFVO - if the NFVO supports alternative 2 (paging) according to clause 4.7.2.1 for this resource. + if the NFVO supports alternative 2 (paging) according to clause 5.4.2.1 of + ETSI GS NFV-SOL 013 for this resource. required: false type: string - name: Accept @@ -207,12 +211,16 @@ paths: description: > 200 OK - Information about zero or more NS instances was queried successfully. - The response body shall contain in an array the representations of - zero or more NS instances, as defined in clause 6.5.2.8. - 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. + Information about zero or more NS instances has + been queried successfully. + The response body shall contain in an array the + representations of zero or more NS instances, as + defined in clause 6.5.2.8. + 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 5.4.2.3 of ETSI + GS NFV-SOL 013. headers: Content-Type: description: The MIME type of the body of the response. @@ -265,6 +273,8 @@ paths: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" + 504: + $ref: "../responses/SOL005_resp.yaml#/responses/504" ############################################################################### # Individual NS instance # @@ -316,7 +326,7 @@ paths: description: > 200 OK - Information about an individual NS instance was queried successfully. + Information about an individual NS instance has been queried successfully. The response body shall contain a representation of the NS instance. schema: $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsInstance" @@ -354,14 +364,14 @@ paths: $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: $ref: "../responses/SOL005_resp.yaml#/responses/406" - 409: - $ref: "../responses/SOL005_resp.yaml#/responses/409" 416: $ref: "../responses/SOL005_resp.yaml#/responses/416" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" + 504: + $ref: "../responses/SOL005_resp.yaml#/responses/504" delete: summary: Delete NS instance resource. @@ -405,6 +415,16 @@ paths: 406: $ref: "../responses/SOL005_resp.yaml#/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 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. $ref: "../responses/SOL005_resp.yaml#/responses/409" 412: $ref: "../responses/SOL005_resp.yaml#/responses/412" @@ -412,6 +432,8 @@ paths: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" + 504: + $ref: "../responses/SOL005_resp.yaml#/responses/504" ############################################################################### # Instantiate NS task # @@ -466,7 +488,17 @@ paths: Parameters for the instantiate NS operation, as defined in clause 6.5.2.10. responses: 202: - $ref: "../responses/SOL005_resp.yaml#/responses/202-with-Location" + description: > + 202 ACCEPTED + + 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 + "NS LCM operation occurrence" resource + corresponding to the operation. + $ref: "../responses/SOL005_resp.yaml#/responses/202" 400: $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: @@ -480,6 +512,17 @@ paths: 406: $ref: "../responses/SOL005_resp.yaml#/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 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. $ref: "../responses/SOL005_resp.yaml#/responses/409" 416: $ref: "../responses/SOL005_resp.yaml#/responses/416" @@ -487,6 +530,8 @@ paths: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" + 504: + $ref: "../responses/SOL005_resp.yaml#/responses/504" ############################################################################### # Scale NS task # @@ -541,7 +586,17 @@ paths: Parameters for the scale NS operation, as defined in clause 6.5.2.13. responses: 202: - $ref: "../responses/SOL005_resp.yaml#/responses/202-with-Location" + description: > + 202 ACCEPTED + + 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 + "NS lifecycle operation occurrence" resource + corresponding to the operation. + $ref: "../responses/SOL005_resp.yaml#/responses/202" 400: $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: @@ -555,11 +610,24 @@ paths: 406: $ref: "../responses/SOL005_resp.yaml#/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 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. $ref: "../responses/SOL005_resp.yaml#/responses/409" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" + 504: + $ref: "../responses/SOL005_resp.yaml#/responses/504" ############################################################################### # Update NS task # @@ -615,7 +683,17 @@ paths: Parameters for the update NS operation, as defined in clause 6.5.2.11. responses: 202: - $ref: "../responses/SOL005_resp.yaml#/responses/202-with-Location" + description: > + 202 ACCEPTED + + 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 + "NS lifecycle operation occurrence" resource + corresponding to the operation. + $ref: "../responses/SOL005_resp.yaml#/responses/202" 400: $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: @@ -629,11 +707,24 @@ paths: 406: $ref: "../responses/SOL005_resp.yaml#/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 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. $ref: "../responses/SOL005_resp.yaml#/responses/409" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" + 504: + $ref: "../responses/SOL005_resp.yaml#/responses/504" ############################################################################### # Heal NS task # @@ -691,7 +782,17 @@ paths: Parameters for the heal NS operation, as defined in clause 6.5.2.12. responses: 202: - $ref: "../responses/SOL005_resp.yaml#/responses/202-with-Location" + description: > + 202 ACCEPTED + + 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 + "NS lifecycle operation occurrence" resource + corresponding to the operation. + $ref: "../responses/SOL005_resp.yaml#/responses/202" 400: $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: @@ -705,11 +806,24 @@ paths: 406: $ref: "../responses/SOL005_resp.yaml#/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 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. $ref: "../responses/SOL005_resp.yaml#/responses/409" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" + 504: + $ref: "../responses/SOL005_resp.yaml#/responses/504" ############################################################################### # Terminate NS task # @@ -771,7 +885,17 @@ paths: The terminate NS request parameters, as defined in clause 6.5.2.14. responses: 202: - $ref: "../responses/SOL005_resp.yaml#/responses/202-with-Location" + 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 + "NS lifecycle operation occurrence" resource + corresponding to the operation. + $ref: "../responses/SOL005_resp.yaml#/responses/202" 400: $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: @@ -785,11 +909,24 @@ paths: 406: $ref: "../responses/SOL005_resp.yaml#/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 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. $ref: "../responses/SOL005_resp.yaml#/responses/409" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" + 504: + $ref: "../responses/SOL005_resp.yaml#/responses/504" ############################################################################### # NS LCM operation occurrences # @@ -810,7 +947,7 @@ paths: required: false type: string description: > - Attribute-based filtering expression according to clause 4.3.2. + Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV SOL 013. The NFVO shall support receiving this parameter as part of the URI query string. The OSS/BSS may supply this parameter. All attribute names that appear in the NsLcmOpOcc and in data types referenced @@ -820,14 +957,14 @@ paths: required: false type: string description: > - Complex attributes to be included into the response. See clause 4.3.3 for details. The + Complex attributes to be included into the response. See clause 5.3 of ETSI GS NFV SOL 013 for details. The NFVO should support this parameter. - name: exclude_fields in: query required: false type: string description: > - Complex attributes to be excluded from the response. See clause 4.3.3 for details. + Complex attributes to be excluded from the response. See clause 5.3 of ETSI GS NFV SOL 013 for details. The NFVO should support this parameter. - name: exclude_default in: query @@ -835,7 +972,7 @@ paths: type: string description: > Indicates to exclude the following complex attributes from the response. See - clause 4.3.3 for details. The NFVO shall support this parameter. + clause 5.3 of ETSI GS NFV SOL 013 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 @@ -846,7 +983,8 @@ paths: in: query description: > Marker to obtain the next page of a paged response. Shall be supported by the NFVO - if the NFVO supports alternative 2 (paging) according to clause 4.7.2.1 for this resource. + if the NFVO supports alternative 2 (paging) according to clause 5.4.2.1 of + ETSI GS NFV SOL 013 for this resource. required: false type: string - name: Accept @@ -875,12 +1013,19 @@ paths: 200 OK Status information for zero or more NS lifecycle management operation - occurrences was queried successfully. + occurrences has been queried successfully. The response body shall contain in an array the representations of - zero or more NS instances, as defined in clause 5.5.2.13. + zero or more NS instances, as defined in clause 6.5.2.3. + + If the "filter" URI parameter or one of the "all_fields", "fields", + "exclude_fields" or "exclude_default" URI parameters was supplied in + the request and is supported, the data in the response body shall have + been transformed according to the rules specified in clauses 5.2.2 and + 5.3.2 of ETSI GS NFV SOL 013, respectively. + 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. + 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 response. @@ -925,12 +1070,12 @@ paths: $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: $ref: "../responses/SOL005_resp.yaml#/responses/406" - 409: - $ref: "../responses/SOL005_resp.yaml#/responses/409" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" + 504: + $ref: "../responses/SOL005_resp.yaml#/responses/504" ############################################################################### # Individual NS lifecycle operation occurrence # @@ -986,7 +1131,7 @@ paths: description: > 200 OK - Information about a NS LCM operation occurrence was + Information about a NS LCM operation occurrence has been queried successfully. The response body shall contain status information about a NS lifecycle management operation occurrence (see clause 6.5.2.3). @@ -1026,14 +1171,14 @@ paths: $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: $ref: "../responses/SOL005_resp.yaml#/responses/406" - 409: - $ref: "../responses/SOL005_resp.yaml#/responses/409" 416: $ref: "../responses/SOL005_resp.yaml#/responses/416" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" + 504: + $ref: "../responses/SOL005_resp.yaml#/responses/504" ############################################################################### # Retry operation task # @@ -1076,7 +1221,13 @@ paths: type: string responses: 202: - $ref: "../responses/SOL005_resp.yaml#/responses/202-with-Location-empty" + description: > + 202 ACCEPTED + + The request has been accepted for processing, but + processing has not been completed. + The response shall have an empty payload body. + $ref: "../responses/SOL005_resp.yaml#/responses/202" 400: $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: @@ -1084,17 +1235,50 @@ paths: 403: $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: + description: > + 404 NOT FOUND + + 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, + including rules for the presence of the response body. + Specifically in case of this task resource, the reason + can also be that the task is not supported for the NS + LCM operation occurrence represented by the parent + resource, and 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. $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: $ref: "../responses/SOL005_resp.yaml#/responses/406" 409: + description: > + 409 CONFLICT + + 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. $ref: "../responses/SOL005_resp.yaml#/responses/409" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" + 504: + $ref: "../responses/SOL005_resp.yaml#/responses/504" ############################################################################### # Rollback a NS lifecycle management operation occurrence. # @@ -1137,7 +1321,11 @@ paths: type: string responses: 202: - $ref: "../responses/SOL005_resp.yaml#/responses/202-with-Location-empty" + description: > + The request has been accepted for processing, but + processing has not been completed. + The response shall have an empty payload body. + $ref: "../responses/SOL005_resp.yaml#/responses/202" 400: $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: @@ -1145,17 +1333,51 @@ paths: 403: $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: + description: > + 404 NOT FOUND + + 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 reason + can also be that the task is not supported for the NS + LCM operation occurrence represented by the parent + resource, and 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. $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: $ref: "../responses/SOL005_resp.yaml#/responses/406" 409: + description: > + 409 CONFLICT + + 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. $ref: "../responses/SOL005_resp.yaml#/responses/409" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" + 504: + $ref: "../responses/SOL005_resp.yaml#/responses/504" ############################################################################### # Continue a NS lifecycle management operation occurrence. # @@ -1192,7 +1414,13 @@ paths: type: string responses: 202: - $ref: "../responses/SOL005_resp.yaml#/responses/202-with-Location-empty" + description: > + 202 ACCEPTED + + The request has been accepted for processing, but + processing has not been completed. + The response shall have an empty payload body. + $ref: "../responses/SOL005_resp.yaml#/responses/202" 400: $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: @@ -1200,17 +1428,51 @@ paths: 403: $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: + description: > + 404 NOT FOUND + + 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 reason + can also be that the task is not supported for the NS + LCM operation occurrence represented by the parent + resource, and 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. $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: $ref: "../responses/SOL005_resp.yaml#/responses/406" 409: + description: > + 409 CONFLICT + + 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. $ref: "../responses/SOL005_resp.yaml#/responses/409" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" + 504: + $ref: "../responses/SOL005_resp.yaml#/responses/504" ############################################################################### # Fail operation task # @@ -1298,17 +1560,50 @@ paths: 403: $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: + description: > + 404 NOT FOUND + + 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, + including rules for the presence of the response body. + Specifically in case of this task resource, the reason + can also be that the task is not supported for the NS + LCM operation occurrence represented by the parent + resource, and 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. $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: $ref: "../responses/SOL005_resp.yaml#/responses/406" 409: + description: > + 409 CONFLICT + + 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. $ref: "../responses/SOL005_resp.yaml#/responses/409" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" + 504: + $ref: "../responses/SOL005_resp.yaml#/responses/504" ############################################################################### # Cancel operation task # @@ -1375,7 +1670,13 @@ paths: "forceful" cancellation. responses: 202: - $ref: "../responses/SOL005_resp.yaml#/responses/202-with-Location-empty" + description: > + 202 ACCEPTED + + The request has been accepted for processing, but + processing has not been completed. + The response shall have an empty entity body. + $ref: "../responses/SOL005_resp.yaml#/responses/202" 400: $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: @@ -1383,17 +1684,49 @@ paths: 403: $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: + description: > + 404 NOT FOUND + + 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, + including rules for the presence of the response body. + Specifically, in case of this task resource, the reason + can also be that the task is not supported for the NS + LCM operation occurrence represented by the parent + resource, and 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. $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: $ref: "../responses/SOL005_resp.yaml#/responses/406" 409: + description: > + 409 CONFLICT + + 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. $ref: "../responses/SOL005_resp.yaml#/responses/409" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" + 504: + $ref: "../responses/SOL005_resp.yaml#/responses/504" ############################################################################### # Subscriptions # @@ -1453,7 +1786,7 @@ paths: description: > 201 Created - The subscription was created successfully. + The subscription has been created successfully. The response body shall contain a representation of the created subscription resource. The HTTP response shall include a "Location:" @@ -1482,6 +1815,16 @@ paths: maximum: 1 minimum: 1 303: + description: > + 303 SEE OTHER + + 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#/responses/303" 400: $ref: "../responses/SOL005_resp.yaml#/responses/400" @@ -1499,6 +1842,9 @@ paths: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" + 504: + $ref: "../responses/SOL005_resp.yaml#/responses/504" + get: summary: Query multiple subscriptions. description: > @@ -1513,7 +1859,7 @@ paths: required: false type: string description: > - Attribute-based filtering expression according to clause 4.3.2. + Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV SOL 013. The NFVO shall support receiving this parameter as part of the URI query string. The OSS/BSS may supply this parameter. All attribute names that appear in the LccnSubscription and in data types @@ -1522,7 +1868,8 @@ paths: in: query description: > Marker to obtain the next page of a paged response. Shall be supported by the NFVO - if the NFVO supports alternative 2 (paging) according to clause 4.7.2.1 for this resource. + if the NFVO supports alternative 2 (paging) according to clause 5.4.2.1 of + ETSI GS NFV SOL 013 for this resource. required: false type: string - name: Accept @@ -1537,12 +1884,12 @@ paths: description: > 200 OK - The list of subscriptions was queried successfully. + The list of subscriptions has been queried successfully. The response body shall contain the representations of all active subscriptions of the functional block that invokes the method. 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. + 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: type: string @@ -1590,6 +1937,8 @@ paths: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" + 504: + $ref: "../responses/SOL005_resp.yaml#/responses/504" ############################################################################### # Individual subscription # @@ -1676,6 +2025,9 @@ paths: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" + 504: + $ref: "../responses/SOL005_resp.yaml#/responses/504" + delete: summary: Terminate a subscription. description: > @@ -1685,9 +2037,9 @@ paths: responses: 204: description: > - 204 No Content + 204 NO CONTENT - The subscription resource was deleted successfully. + The subscription resource has been deleted successfully. The response body shall be empty. headers: WWW-Authenticate: @@ -1717,4 +2069,6 @@ paths: 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "../responses/SOL005_resp.yaml#/responses/503" \ No newline at end of file + $ref: "../responses/SOL005_resp.yaml#/responses/503" + 504: + $ref: "../responses/SOL005_resp.yaml#/responses/504" \ No newline at end of file diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index 8fdea55f85e35ad626e72f20a3f851f3a1816748..b6fc9ab668998ddedc5bd5986aedec9aec2f1313 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -198,7 +198,7 @@ definitions: nsdInfoId: description: > Identifier of the NSD information object on which the - NS instance is based. This identifier was allocated by the NFVO. + NS instance is based. This identifier has been allocated by the NFVO. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" flavourId: description: > @@ -388,15 +388,26 @@ definitions: description: > Identifier of information held by the NFVO about the specific VNF package on which the VNF is - based. This identifier was allocated by the NFVO. + based. This identifier has been allocated by the NFVO. This attribute can be modified with the PATCH method. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" vnfConfigurableProperties: description: > - Current values of the configurable properties of the VNF instance. - Configurable properties referred in this attribute are declared in + 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 @@ -410,13 +421,14 @@ definitions: 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. - This attribute can be modified with the PATCH method. + - 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. + + These attributea can be modified with the PATCH method. $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" vimId: description: > @@ -510,16 +522,30 @@ definitions: $ref: "#/definitions/VirtualStorageResourceInfo" metadata: description: > - Additional VNF-specific metadata describing the VNF instance. - Metadata that are writeable are declared in the VNFD. - This attribute can be modified with the PATCH method. + Additional VNF-specific attributes that provide metadata + describing the VNF instance. + + These attributes represent values that are stored persistently in the VnfInstance + structure for consumption by functional blocks that invoke the VNF lifecycle management interface. + They are not consumed by the VNFM, or the lifecycle management scripts. + Modifying the values of these attributes has no effect on the VNF instance, it only affects + the information represented in the VnfInstance structure. + Metadata that are writeable are declared in the VNFD . + These attributes can be modified with the PATCH method. + ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" extensions: description: > - VNF-specific attributes that affect the lifecycle management of this - VNF instance by the VNFM, or the lifecycle management scripts. + Additional VNF-specific attributes that affect the lifecycle management of this VNF instance. + These attributes represent values that are stored persistently in the VnfInstance structure + for consumption by the VNFM, or by the lifecycle management scripts. during the execution + of VNF lifecycle management operations. + Modifying the values of these attributes has no direct effect on the VNF instance; however, + the modified attribute values can be considered during subsequent VNF lifecycle management + operations, which means that the modified values can indirectly affect the configuration of the VNF instance. Extensions that are writeable are declared in the VNFD. - This attribute can be modified with the PATCH method. + This attribute These attributes can be modified with the PATCH method. + ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" LccnLinks: @@ -1666,7 +1692,7 @@ definitions: type: array items: $ref: "#/definitions/NestedNsInstanceData" - localizationLanguage: + locationConstraints: description: > Defines the location constraints for the VNF to be instantiated as part of the NS instantiation. @@ -2206,13 +2232,23 @@ definitions: localizationLanguage: description: > Localization language of the VNF to be instantiated. - The value shall comply with the format defined in IETF RFC 5646 [16]. + The value shall comply with the format defined in IETF RFC 5646. type: string additionalParams: description: > Additional input parameters for the instantiation process, specific to the VNF being instantiated. $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" + metadata: + description: > + This attribute provides values for the "metadata" input parameter of + the Create VNF Identifier operation. + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" + extensions: + description: > + This attribute provides values for the "extensions" input parameter of + the Instantiate VNF operation. + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" ChangeVnfFlavourData: description: > @@ -2334,25 +2370,23 @@ definitions: New value of the "vnfInstanceDescription" attribute in "VnfInstance", or "null" to remove the attribute. type: string - vnfPkgId: + vnfdId: description: > - New value of the "vnfPkgId" attribute in "VnfInstance". + New value of the "vnfdId" attribute in "VnfInstance". The value "null" is not permitted $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" vnfConfigurableProperties: description: > Modifications to entries in the - "vnfConfigurableProperties" list, as defined below this Table. + "vnfConfigurableProperties" attribute in "VnfInstance", as defined below in clause 6.5.3.57. $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" - Metadata: + metadata: description: > - Modifications to entries in the "metadata" list, as - defined below this Table. + Modifications to entries in the "metadata" attribute in "VnfInstance", as defined below in clause 6.5.3.57. $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" - Extensions: + extensions: description: > - Modifications to entries in the "extensions" list, as - defined below this Table. + Modifications to entries in the "extensions" attribute in "VnfInstance", as defined below in clause 6.5.3.57. $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" ChangeExtVnfConnectivityData: @@ -2572,7 +2606,7 @@ definitions: - IPV6 vlanTag: description: > - Indicates a VLAN identifier in an IEEE 802.1Q-2014 + Indicates a VLAN identifier in an IEEE 802.1Q-2018 tag [6] Multiple tags can be included for QinQ stacking. See note. type: array items: @@ -3236,7 +3270,7 @@ definitions: description: > Authentication parameters to configure the use of Authorization when sending notifications corresponding to this subscription, as defined - in clause 4.5.3.4. + 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" @@ -3705,7 +3739,7 @@ definitions: $ref: "#/definitions/NsLcmOperationStateType" stateEnteredTime: description: > - Date-time when the current state was entered. + Date-time when the current state has been entered. type: string format: date-time nsInstanceId: diff --git a/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml b/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml index 25f98f797d078da10117919e872a145b04907365..35c4b73dd4f2fc519173df1fc800dbb70e1da330 100644 --- a/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml +++ b/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml @@ -1,7 +1,7 @@ swagger: "2.0" info: - version: "1.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" + version: "1.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" title: "SOL005 - NS Lifecycle Management Notification interface" description: > SOL005 - NS Lifecycle Management Notification interface @@ -14,8 +14,8 @@ info: url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: - description: ETSI GS NFV-SOL 005 V2.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.05.01_60/gs_NFV-SOL005v020501p.pdf + description: ETSI GS NFV-SOL 005 V2.6.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.06.01_60/gs_NFV-SOL005v020601p.pdf basePath: /callback/v1 @@ -79,7 +79,75 @@ paths: description: > 204 No Content - The notification was delivered successfully. + Shall be returned when the notification has been delivered successfully. + headers: + WWW-Authenticate: + type: string + 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. + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + 400: + $ref: "../responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../responses/SOL005_resp.yaml#/responses/406" + 500: + $ref: "../responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + get: + summary: Test the notification endpoint. + 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. + parameters: + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + responses: + 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: type: string @@ -107,10 +175,6 @@ paths: $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: $ref: "../responses/SOL005_resp.yaml#/responses/406" - 409: - $ref: "../responses/SOL005_resp.yaml#/responses/409" - 416: - $ref: "../responses/SOL005_resp.yaml#/responses/416" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: @@ -164,7 +228,75 @@ paths: description: > 204 No Content - The notification was delivered successfully. + Shall be returned when the notification has been delivered successfully. + headers: + WWW-Authenticate: + type: string + 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. + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + 400: + $ref: "../responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../responses/SOL005_resp.yaml#/responses/406" + 500: + $ref: "../responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + get: + summary: Test the notification endpoint. + 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. + parameters: + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + responses: + 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: type: string @@ -192,10 +324,6 @@ paths: $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: $ref: "../responses/SOL005_resp.yaml#/responses/406" - 409: - $ref: "../responses/SOL005_resp.yaml#/responses/409" - 416: - $ref: "../responses/SOL005_resp.yaml#/responses/416" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: @@ -250,7 +378,7 @@ paths: description: > 204 No Content - The notification was delivered successfully. + Shall be returned when the notification has been delivered successfully. headers: WWW-Authenticate: type: string @@ -278,10 +406,6 @@ paths: $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: $ref: "../responses/SOL005_resp.yaml#/responses/406" - 409: - $ref: "../responses/SOL005_resp.yaml#/responses/409" - 416: - $ref: "../responses/SOL005_resp.yaml#/responses/416" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: @@ -321,7 +445,7 @@ paths: description: > 204 No Content - The notification endpoint was tested successfully. + Shall be returned when the notification endpoint has been tested successfully. The response body shall be empty. headers: WWW-Authenticate: @@ -350,10 +474,6 @@ paths: $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: $ref: "../responses/SOL005_resp.yaml#/responses/406" - 409: - $ref: "../responses/SOL005_resp.yaml#/responses/409" - 416: - $ref: "../responses/SOL005_resp.yaml#/responses/416" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: diff --git a/src/SOL005/NSLifecycleManagementNotification/definitions/SOL005NSLifecycleManagementNotification_def.yaml b/src/SOL005/NSLifecycleManagementNotification/definitions/SOL005NSLifecycleManagementNotification_def.yaml index f62006d7fe6419501b509fc23e94f770190dc3c9..e99beb65b3092d04d8f4e9e6cf37fd015549751c 100644 --- a/src/SOL005/NSLifecycleManagementNotification/definitions/SOL005NSLifecycleManagementNotification_def.yaml +++ b/src/SOL005/NSLifecycleManagementNotification/definitions/SOL005NSLifecycleManagementNotification_def.yaml @@ -119,8 +119,8 @@ definitions: error: description: > Details of the latest error, if one has occurred during - executing the LCM operation (see clause 4.3.5). Shall - be present if operationState is "FAILED_TEMP" or + executing the LCM operation (see clause 6.3 of ETSI GS NFV SOL 013). + Shall be present if operationState is "FAILED_TEMP" or "FAILED", and shall be absent otherwise. $ref: "../../definitions/SOL005_def.yaml#/definitions/ProblemDetails" _links: diff --git a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml index 9dbdae32109bc08f7beacdd8dfb9b2068433ddfc..7153881126b3b9ebea126af5d810a7463475bdcd 100644 --- a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml +++ b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml @@ -17,8 +17,8 @@ info: name: "NFV-SOL WG" externalDocs: - description: ETSI GS NFV-SOL 005 V2.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.05.01_60/gs_NFV-SOL005v020501p.pdf + description: ETSI GS NFV-SOL 005 V2.6.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.06.01_60/gs_NFV-SOL005v020601p.pdf basePath: /nspm/v1 @@ -66,6 +66,9 @@ paths: 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 shall exist as defined in + clause 7.4.3. parameters: - name: CreatePmJobRequest in: body @@ -93,7 +96,7 @@ paths: description: > 201 CREATED - The PM job was created successfully. + Shall be returned when the PM job has been created successfully. The response body shall contain a representation of the created PM job resource, as defined in clause 7.5.2.7. The HTTP response shall include a "Location" HTTP @@ -148,7 +151,7 @@ paths: required: false type: string description: > - Attribute-based filtering expression according to clause 4.3.2. + Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013. The NFVO shall support receiving this parameter as part of the URI query string. The OSS/BSS may supply this parameter. All attribute names that appear in the PmJob and in data types referenced from it @@ -158,29 +161,30 @@ paths: required: false type: string description: > - Include all complex attributes in the response. See clause 4.3.3 for details. The - NFVO shall support this parameter. - - name: include + Include all complex attributes in the response. See clause 5.3 of ETSI GS NFV-SOL 013 + for details. The NFVO shall support this parameter. + - name: fields in: query required: false type: string description: > - Complex attributes to be included into the response. See clause 4.3.3 for details. The - NFVO should support this parameter. - - name: exclude + Complex attributes to be included into the response. See clause 5.3 of ETSI GS NFV-SOL 013 + for details. The NFVO should support this parameter. + - name: exclude_fields in: query required: false type: string description: > - Complex attributes to be excluded from the response. See clause 4.3.3 for details. - The NFVO should support this parameter. + Complex attributes to be excluded from the response. See clause 5.3 of ETSI GS NFV-SOL 013 + for details. The NFVO should support this parameter. - name: exclude_default in: query required: false type: string description: > Indicates to exclude the following complex attributes from the response. - See clause 4.3.3 for details. The NFVO shall support this parameter. + See clause 5.3 of ETSI GS NFV-SOL 013 for details. The NFVO shall support this + parameter. The following attributes shall be excluded from the PmJob structure in the response body if this parameter is provided, or none of the parameters "all_fields," "fields", "exclude_fields", "exclude_default" are provided: @@ -188,7 +192,8 @@ paths: - name: nextpage_opaque_marker description: > Marker to obtain the next page of a paged response. Shall be supported by the NFVO - if the NFVO supports alternative 2 (paging) according to clause 4.7.2.1 for this resource. + if the NFVO supports alternative 2 (paging) according to clause 5.4.2.1 of + ETSI GS NFV-SOL 013 for this resource. in: query required: false type: string @@ -211,9 +216,19 @@ paths: description: > 200 OK - Information about zero or more PM jobs was queried successfully. - The response body shall contain representations of + Shall be returned when information about zero or more PM jobs has been queried successfully. + The response body shall contain in an array the representations of zero or more PM jobs, as defined in clause 7.5.2.7. + + If the "filter" URI parameter or one of the "all_fields", "fields", "include_fields", + "exclude_fields" or "exclude_default" URI parameters was supplied in the request and is + supported, the data in the response body shall have been transformed according to the + rules specified in clauses 5.2.2 and 5.3.2 of ETSI GS NFV SOL 013, respectively. + + 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 response. @@ -307,7 +322,8 @@ paths: description: > 200 OK - Information about an individual PM job was queried successfully. + Shall be returned when information about an individual + PM job has been queried successfully. The response body shall contain a representation of the PM job resource, as defined in clause 7.5.2.7. schema: @@ -353,12 +369,17 @@ paths: 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. responses: 204: description: > 204 NO CONTENT - The PM job was deleted successfully. + Shall be returned when the PM job has been deleted successfully. The response body shall be empty. headers: WWW-Authenticate: @@ -442,10 +463,10 @@ paths: description: > 200 OK - Information of an individual performance report was read successfully. - The response body shall contain a representation of - the performance report resource, as defined in - clause 7.5.2.10. + Shall be returned when information of an individual performance + report has been read successfully. + The response body shall contain a representation of the performance + report resource, as defined in clause 7.5.2.10. schema: $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/PerformanceReport" headers: @@ -512,7 +533,11 @@ paths: 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. + request and response data structures, and response codes. + + As the result of successfully executing this method, a new + "Individual threshold" resource shall exist as defined + in clause 7.4.6. parameters: - name: CreateThresholdRequest in: body @@ -540,7 +565,7 @@ paths: description: > 201 CREATED - A threshold was created successfully. + Shall be returned when a threshold has been created successfully. The response body shall contain a representation of the created threshold resource, as defined in clause 7.5.2.9. The HTTP response shall include a "Location" HTTP @@ -596,7 +621,7 @@ paths: required: false type: string description: > - Attribute-based filtering expression according to clause 4.3.2. + Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013. The NFVO shall support receiving this parameter as part of the URI query string. The OSS/BSS may supply this parameter. All attribute names that appear in the Thresholds data type and in data types referenced from it @@ -607,7 +632,8 @@ paths: type: string description: > Marker to obtain the next page of a paged response. Shall be supported by the NFVO - if the NFVO supports alternative 2 (paging) according to clause 4.7.2.1 for this resource. + if the NFVO supports alternative 2 (paging) according to clause 5.4.2.1 of + ETSI GS NFV SOL 013for this resource. - name: Accept description: > Content-Types that are acceptable for the response. @@ -620,9 +646,17 @@ paths: description: > 200 OK - Information about zero or more thresholds was queried successfully. - The response body shall contain representations of - zero or more thresholds, as defined in clause 7.5.2.9. + Shall be returned when information about zero or more thresholds was queried + successfully. + 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. + The response body shall contain representations of zero or more thresholds, + as defined in clause 7.5.2.9. + 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 response. @@ -720,7 +754,8 @@ paths: description: > 200 OK - Information about an individual threshold was queried successfully. + Shall be returned when information about an individual threshold + has been queried successfully. The response body shall contain a representation of the threshold, as defined in clause 7.5.2.9. schema: @@ -766,6 +801,9 @@ paths: 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. parameters: - name: Accept description: > @@ -779,7 +817,7 @@ paths: description: > 204 NO CONTENT - The threshold was deleted successfully. + Shall be returned when the threshold has been deleted successfully. The response body shall be empty. headers: WWW-Authenticate: @@ -839,6 +877,8 @@ paths: The POST method creates a new subscription. This method shall follow the provisions specified in the Tables 7.4.7.3.1-1 and 7.4.7.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 7.4.8. 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 @@ -872,7 +912,7 @@ paths: description: > 201 CREATED - The subscription was created successfully. + 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 7.5.2.3. The HTTP response shall include a "Location" HTTP @@ -934,7 +974,7 @@ paths: required: false type: string description: > - Attribute-based filtering expression according to clause 4.3.2. + Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013. The NFVO shall support receiving this parameter as part of the URI query string. The OSS/BSS may supply this parameter. All attribute names that appear in the PmSubscription and in data types referenced from it @@ -945,7 +985,8 @@ paths: type: string description: > Marker to obtain the next page of a paged response. Shall be supported by the NFVO - if the NFVO supports alternative 2 (paging) according to clause 4.7.2.1 for this resource. + if the NFVO supports alternative 2 (paging) according to clause 5.4.2.1 of + ETSI GS NFV-SOL 013 for this resource. - name: Accept description: > Content-Types that are acceptable for the response. @@ -958,10 +999,21 @@ paths: description: > 200 OK - The list of subscriptions was queried successfully. + Shall be returned when the list of subscriptions has + been queried successfully. The response body shall contain the representations of all active subscriptions of the functional block that invokes the method, as defined in clause 7.5.2.3. + 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: Content-Type: description: The MIME type of the body of the response. @@ -1058,7 +1110,7 @@ paths: description: > 200 OK - The subscription was read successfully. + 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 7.5.2.3. schema: @@ -1107,7 +1159,14 @@ paths: This method terminates an individual subscription. This method shall follow the provisions specified in the Tables 7.4.8.3.5-1 and 7.4.8.3.5-2 for URI query parameters, - request and response data structures, and response codes + 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. parameters: - name: Accept description: > @@ -1121,7 +1180,8 @@ paths: description: > 204 NO CONTENT - The subscription resource was deleted successfully. + Shall be returned when the subscription resource has been + deleted successfully. The response body shall be empty. headers: WWW-Authenticate: diff --git a/src/SOL005/NSPerformanceManagement/definitions/SOL005NSPerformanceManagement_def.yaml b/src/SOL005/NSPerformanceManagement/definitions/SOL005NSPerformanceManagement_def.yaml index 6035136d145be10244b7a7fedb5a80c48ba0866b..6ad0a3e5eb960828800de451e8869a7ab06c1d79 100644 --- a/src/SOL005/NSPerformanceManagement/definitions/SOL005NSPerformanceManagement_def.yaml +++ b/src/SOL005/NSPerformanceManagement/definitions/SOL005NSPerformanceManagement_def.yaml @@ -24,7 +24,7 @@ definitions: description: > Authentication parameters to conFigure the use of Authorization when sending notifications corresponding - to this subscription, as defined in clause 4.5.3.4. + 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" @@ -268,7 +268,7 @@ definitions: properties: timeStamp: description: > - Time stamp indicating when the data was collected. + Time stamp indicating when the data has been collected. $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" value: description: > diff --git a/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml b/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml index 4bb1943baa16477ec11ac1bd6e64a75805825967..5f7ae0e751c8300d7196036fe08af0d87d8d27da 100644 --- a/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml +++ b/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml @@ -14,8 +14,8 @@ info: url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: - description: ETSI GS NFV-SOL 005 V2.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.05.01_60/gs_NFV-SOL005v020501p.pdf + description: ETSI GS NFV-SOL 005 V2.6.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.06.01_60/gs_NFV-SOL005v020601p.pdf basePath: /callback/v1 @@ -52,9 +52,12 @@ paths: post: summary: Notify about PM related events description: > - The POST method delivers a notification regarding a performance management event from the server to the client. + 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 subscription resource" with a matching filter. 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, + 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. parameters: - name: PerformanceInformationAvailableNotification description: > @@ -82,7 +85,7 @@ paths: description: > 204 NO CONTENT - The notification was delivered successfully. + Shall be returned when the notification was delivered successfully. headers: WWW-Authenticate: type: string @@ -136,7 +139,8 @@ paths: description: > 204 NO CONTENT - The notification endpoint was tested successfully. + Shall be returned to indicate that the notification endpoint has been + tested successfully. The response body shall be empty. headers: WWW-Authenticate: @@ -192,9 +196,12 @@ paths: post: summary: Notify about PM related events description: > - The POST method delivers a notification regarding a performance management event from the server to the client. + 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 subscription resource" with a matching filter. 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, + 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. parameters: - name: ThresholdCrossedNotification description: > @@ -222,7 +229,7 @@ paths: description: > 204 NO CONTENT - The notification was delivered successfully. + Shall be returned when the notification was delivered successfully. headers: WWW-Authenticate: type: string @@ -276,7 +283,8 @@ paths: description: > 204 NO CONTENT - The notification endpoint was tested successfully. + Shall be returned to indicate that the notification endpoint has been + tested successfully. The response body shall be empty. headers: WWW-Authenticate: diff --git a/src/SOL005/NSPerformanceManagementNotification/definitions/SOL005NSPerformanceManagementNotification_def.yaml b/src/SOL005/NSPerformanceManagementNotification/definitions/SOL005NSPerformanceManagementNotification_def.yaml index be28039093756bdafa425fd8aa651714c1880b1d..cf2f10a66ff4152579a18b6ca0d7d165f6ab8e91 100644 --- a/src/SOL005/NSPerformanceManagementNotification/definitions/SOL005NSPerformanceManagementNotification_def.yaml +++ b/src/SOL005/NSPerformanceManagementNotification/definitions/SOL005NSPerformanceManagementNotification_def.yaml @@ -5,6 +5,8 @@ definitions: PerformanceInformationAvailableNotification: description: > This notification informs the receiver that performance information is available. + The notification shall be triggered by the NFVO when new performance information + collected by a PM job is available. type: object required: - id @@ -78,6 +80,9 @@ 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. type: object required: - id diff --git a/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml index e4659a086e6f321d0e4e709110aa00147844ec3a..4e19c105dc78300aede5da2b05e6d1a198c0704c 100644 --- a/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml @@ -1,7 +1,7 @@ swagger: "2.0" info: - version: "1.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" + version: "1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" title: SOL005 - VNF Package Management Interface description: > SOL005 - VNF Package Management Interface @@ -16,8 +16,8 @@ info: contact: name: "NFV-SOL WG" externalDocs: - description: ETSI GS NFV-SOL 005 V2.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.05.01_60/gs_NFV-SOL005v020501p.pdf + description: ETSI GS NFV-SOL 005 V2.6.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.06.01_60/gs_NFV-SOL005v020601p.pdf basePath: /vnfpkgm/v1 schemes: @@ -37,7 +37,7 @@ paths: # VNF Packages # ############################################################################### '/vnf_packages': - #ETSI GS NFV-SOL 005 V2.4.1 location: 9.4.2 + #ETSI GS NFV-SOL 005 V2.6.1 location: 9.4.2 parameters: - name: Authorization description: > @@ -65,39 +65,39 @@ paths: required: false type: string description: > - Attribute-based filtering parameters according to clause 4.3.2. - The NFVO shall support receiving filtering parameters as part of the URI query string. The - OSS/BSS may supply filtering parameters. + Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV SOL 013. + The NFVO shall support receiving this parameter as part of the URI query string. + The OSS/BSS may supply this parameter. All attribute names that appear in the VnfPkgInfo and in data types referenced from it shall - be supported in attribute-based filtering parameters. + be supported by the NFVO in the filter expression. - name: all_fields in: query required: false type: string description: > - Include all complex attributes in the response. See clause 4.3.3 for details. The NFVO - shall support this parameter. + Include all complex attributes in the response. See clause 5.3 of ETSI GS NFV SOL 013 for details. + The NFVO shall support this parameter. - name: fields in: query required: false type: string description: > - Complex attributes to be included into the response. See clause 4.3.3 for details. The - NFVO should support this parameter. + Complex attributes to be included into the response. See clause 5.3 of ETSI GS NFV SOL 013 for details. + The NFVO should support this parameter. - name: exclude_fields in: query required: false type: string description: > - Complex attributes to be excluded from the response. See clause 4.3.3 for details. The - NFVO should support this parameter. + Complex attributes to be excluded from the response. See clause 5.3 of ETSI GS NFV SOL 013 for details. + The NFVO should support this parameter. - name: exclude_default in: query required: false type: string description: > - Indicates to exclude the following complex attributes from the response. See clause 4.3.3 - for details. + Indicates to exclude the following complex attributes from the response. + See clause 5.3 of ETSI GS NFV-SOL 013 for details. The NFVO shall support this parameter. The following attributes shall be excluded from the VnfPkgInfo structure in the response body if this parameter is provided, or none of the parameters "all_fields," "fields", @@ -106,6 +106,14 @@ paths: - additionalArtifacts - userDefinedData - checksum + - name: nextpage_opaque_marker + in: query + required: false + type: string + description: > + Marker to obtain the next page of a paged response. + Shall be supported by the NFVO if the NFVO supports alternative 2 (paging) according to + clause 5.4.2.1 of ETSI GS NFV SOL 013 for this resource. - name: Accept description: > Content-Types that are acceptable for the response. @@ -118,7 +126,16 @@ paths: description: > 200 OK - Information of the selected VNF packages. + Shall be returned when information about zero or more VNF packages has been queried successfully. + The response body shall contain in an array the VNF package info representations that match + the attribute filter, i.e. zero or more VNF package info representations as defined in clause 9.5.2.5. + If the "filter" URI parameter or one of the "all_fields", "fields", "exclude_fields" or + "exclude_default" URI parameters was supplied in the request and is supported, the data in the + response body shall have been transformed according to the rules specified in clauses 5.2.2 and + 5.3.2 of ETSI GS NFV SOL 013, respectively. + 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 response. @@ -231,7 +248,7 @@ paths: # Individual VNF Package # ############################################################################### '/vnf_packages/{vnfPkgId}': - #ETSI GS NFV-SOL 005 V2.4.1 location: 9.4.3 + #ETSI GS NFV-SOL 005 V2.6.1 location: 9.4.3 parameters: - name: vnfPkgId description: > @@ -269,7 +286,8 @@ paths: description: > 200 OK - Information of the VNF package. + Shall be returned when information of the VNF package has been read successfully. + The response body shall contain the VNF package info representation defined in clause 9.5.2.5. schema: $ref: "definitions/SOL005VNFPackageManagement_def.yaml#/definitions/VnfPkgInfo" headers: @@ -320,7 +338,7 @@ paths: description: > 204 No Content - The VNF package was deleted successfully. + The VNF package has been deleted successfully. The response body shall be empty. headers: Version: @@ -378,10 +396,8 @@ paths: description: > 200 OK - The operation was completed successfully. - The response body shall contain attribute - modifications for an "Individual VNF - package" resource + Shall be returned when the operation has been completed successfully. + The response body shall contain attribute modifications for an "Individual VNF package" resource. headers: Content-Type: description: The MIME type of the body of the response. @@ -431,7 +447,7 @@ paths: # VNFD in an individual VNF package # ############################################################################### '/vnf_packages/{vnfPkgId}/vnfd': - #ETSI GS NFV-SOL 005 V2.4.1 location: 9.4.4 + #ETSI GS NFV-SOL 005 V2.6.1 location: 9.4.4 parameters: - name: Authorization description: > @@ -487,14 +503,11 @@ paths: description: > 200 OK - On success, the content of the VNFD is returned. - The payload body shall contain a copy of the file - representing the VNFD or a ZIP file that contains the - file or multiple files representing the VNFD, as - specified above. - The "Content-Type" HTTP header shall be set - according to the format of the returned file, i.e. to - "text/plain" for a YAML file or to "application/zip" for a ZIP file. + Shall be returned when the content of the VNFD has been read successfully. + The payload body shall contain a copy of the file representing the VNFD or a ZIP file that + contains the file or multiple files representing the VNFD, as specified above. + The "Content-Type" HTTP header shall be set according to the format of the returned file, + i.e. to "text/plain" for a YAML file or to "application/zip" for a ZIP file. headers: Content-Type: description: The MIME type of the body of the response. @@ -540,7 +553,7 @@ paths: # VNF Package Content # ############################################################################### '/vnf_packages/{vnfPkgId}/package_content': - #ETSI GS NFV-SOL 005 V2.4.1 location: 9.4.5 + #ETSI GS NFV-SOL 005 V2.6.1 location: 9.4.5 parameters: - name: Authorization description: > @@ -592,12 +605,10 @@ paths: description: > 200 OK - On success, a copy of the VNF package file is returned. + 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 [5]. + 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: Content-Type: description: The MIME type of the body of the response. @@ -665,18 +676,18 @@ paths: type: file description: > The payload body contains a ZIP file that represents the VNF package. - 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 [5]. + 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. responses: 202: description: > 202 Accepted - The VNF package was accepted for uploading, but the - processing has not been completed. It is expected to - take some time for processing. + 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. + The client can track the uploading progress by receiving the "VnfPackageOnBoardingNotification" + from the NFVO or by reading the status of the individual VNF package resource using the GET method. headers: Version: description: > @@ -756,9 +767,8 @@ paths: description: > 202 Accepted - The information about the VNF package was received - successfully, but the on-boarding has not been - completed. It is expected to take some time for processing. + 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: @@ -803,10 +813,11 @@ paths: required: true - name: artifactPath description: > - Path of the artifact within the VNF package. - This identifier can be retrieved from the "artifactPath" attribute of the applicable "additionalArtifacts" entry in - the body of the response to a GET request querying the "Individual VNF package" or the "VNF packages" - resource. + Sequence of one or path segments representing the path of the artifact within the VNF package, + relative to the root of the package. + This identifier can be retrieved from the "artifactPath" attribute of the applicable + "additionalArtifacts" entry in the body of the response to a GET request querying the + "Individual VNF package" or the "VNF packages" resource. in: path type: string required: true @@ -850,13 +861,12 @@ paths: 200: description: > 200 OK - On success, the content of the artifact is returned. - The payload body shall contain a copy of the artifact file from - the VNF package, as defined by ETSI GS NFV-SOL 004. - 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". + Shall be returned when the whole content of the artifact file has been read successfully. + The payload body shall contain a copy of the artifact file from the VNF package, + as defined by ETSI GS NFV-SOL 004. + 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. headers: Content-Type: description: The MIME type of the body of the response. @@ -880,15 +890,14 @@ paths: 206: description: > Partial Content. - On success, if the NFVO supports range requests, a single - consecutive byte range from the content of the VNF package file is - returned. - 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. - The "Content-Type" HTTP header shall be set as defined above for - the "200 OK" response. + + If the NFVO supports range requests, 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. + 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-Range: type: string @@ -951,14 +960,17 @@ paths: 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. - 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). + 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). parameters: - name: Accept description: > @@ -988,9 +1000,9 @@ paths: description: > 201 Created - Representation of the created subscription resource. - The HTTP response shall include a "Location" - HTTP header that points to the created subscription resource. + Shall be returned when the subscription has been created successfully. + The response body shall contain a representation of the created subscription resource. + The HTTP response shall include a "Location" HTTP header that points to the created subscription resource. headers: Content-Type: description: The MIME type of the body of the response. @@ -1049,11 +1061,18 @@ paths: required: false type: string description: > - Attribute-based filtering parameters according to clause 4.3.2. - The NFVO shall support receiving filtering parameters as part of the URI query - string. The OSS/BSS may supply filtering parameters. - All attribute names that appear in the PkgmSubscription and in data types - referenced from it shall be supported in attribute-based filtering parameters + Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV SOL 013. + The NFVO shall support receiving this filtering parameter as part of the URI query string. + The OSS/BSS may supply this filtering parameter. + All attribute names that appear in the PkgmSubscription and in data types referenced from it + shall be supported by the NFVO in the filtering expression + - name: nextpage_opaque_marker + in: query + required: false + type: string + description: > + Marker to obtain the next page of a paged response. Shall be supported by the NFVO if the NFVO + supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource. - name: Accept description: > Content-Types that are acceptable for the response. @@ -1066,7 +1085,15 @@ paths: description: > 200 OK - Active subscriptions of the functional block that invokes the method. + 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: Content-Type: description: The MIME type of the body of the response. @@ -1157,7 +1184,8 @@ paths: description: > 200 OK - Representation of the subscription resource. + Shall be returned when information about an individual subscription has been read successfully. + The response body shall contain a representation of the subscription resource. headers: Content-Type: description: The MIME type of the body of the response. @@ -1202,12 +1230,17 @@ paths: 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. responses: 204: description: > No Content - The subscription resource was deleted successfully. + Shall be returned when the subscription resource washas been deleted successfully. headers: WWW-Authenticate: type: string @@ -1240,4 +1273,4 @@ paths: 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "../responses/SOL005_resp.yaml#/responses/503" \ No newline at end of file + $ref: "../responses/SOL005_resp.yaml#/responses/503" diff --git a/src/SOL005/VNFPackageManagement/definitions/SOL005VNFPackageManagement_def.yaml b/src/SOL005/VNFPackageManagement/definitions/SOL005VNFPackageManagement_def.yaml index 0a55d1de5ecad17871daf65105311d6305a502e0..1831006f88217beb80793d038f77baceb88d6b87 100644 --- a/src/SOL005/VNFPackageManagement/definitions/SOL005VNFPackageManagement_def.yaml +++ b/src/SOL005/VNFPackageManagement/definitions/SOL005VNFPackageManagement_def.yaml @@ -101,9 +101,7 @@ definitions: $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" vnfd: description: > - Link to the VNFD resource. This link shall - be present after the VNF package content - is on-boarded. + Link to the VNFD resource. $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" packageContent: description: > @@ -121,8 +119,10 @@ definitions: properties: artifactPath: description: > - Path in the VNF package, which identifies the artifact - and also allows to access a copy of the artifact. + Path in the VNF package, which identifies the artifact and also allows to access a copy of the artifact. + The value of this attribute shall start with the name of the first segment in the path, + i.e. it shall not be prefixed by path separator characters such as "." and "/". + EXAMPLE: foo/bar/run.sh $ref: "../../definitions/SOL005_def.yaml#/definitions/String" checksum: description: > @@ -410,7 +410,7 @@ definitions: description: > Authentication parameters to conFigure the use of authorization when sending notifications corresponding - to this subscription, as defined in clause 4.5.3.4. + 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" diff --git a/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml b/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml index 898bc350804ad6781e0d9be7518963b6b48cfa95..5054757b06cb89b72561f2d6e77d30d9fb9b6b39 100644 --- a/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml +++ b/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml @@ -30,10 +30,8 @@ paths: 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. parameters: - name: VnfPackageOnboardingNotification description: > @@ -74,7 +72,7 @@ paths: description: > 204 No Content - The notification was delivered successfully. + Shall be returned when the notification has been delivered successfully. headers: WWW-Authenticate: type: string @@ -101,6 +99,71 @@ paths: 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" + 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. + parameters: + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + responses: + 204: + description: > + 204 No Content + + Shall be returned to indicate that the notification endpoint has been tested successfully. + The response body shall be empty. + headers: + WWW-Authenticate: + type: string + 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. + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + 400: + $ref: "../responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../responses/SOL005_resp.yaml#/responses/406" + 500: + $ref: "../responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../responses/SOL005_resp.yaml#/responses/503" + '/URI_is_provided_by_the_client_when_creating_the_subscription-VnfPackageChangeNotification': post: summary: Notify about VNF package onboarding or change @@ -149,7 +212,8 @@ paths: description: > 204 No Content - The notification was delivered successfully. + Shall be returned to indicate that the notification endpoint has been tested successfully. + The response body shall be empty. headers: WWW-Authenticate: type: string @@ -181,8 +245,6 @@ paths: description: > The GET method allows the server to test the notification endpoint that is provided by the client, e.g. during subscription. - This method shall follow the provisions specified in the Tables 9.4.10.3.2-1 and 9.4.10.3.2-2 for URI query parameters, - request and response data structures, and response codes. parameters: - name: Accept description: > diff --git a/src/SOL005/definitions/SOL005_def.yaml b/src/SOL005/definitions/SOL005_def.yaml index 9928c9a5ac9117f39e6659ec5e1577d045500342..05e1defc1ddd3f9e9774712c99ff36ebbd1b989b 100644 --- a/src/SOL005/definitions/SOL005_def.yaml +++ b/src/SOL005/definitions/SOL005_def.yaml @@ -1,6 +1,8 @@ # Copyright (c) ETSI 2017. # https://forge.etsi.org/etsi-forge-copyright-notice.txt + definitions: + Identifier: description: > An identifier with the intention of being globally unique. @@ -234,6 +236,23 @@ definitions: complements the ResourceHandle. type: string + IdentifierInNs: + description: > + An identifier that is unique with respect to a NS. Representation: string of variable length. + type: string + + IdentifierInNsd: + description: > + An identifier that is unique within a NS descriptor. Representation: string of variable + length. + type: string + + IdentifierInPnf: + description: > + An Identifier that is unique within respect to a PNF. Representation: string of variable + length. + type: string + IdentifierInVim: description: > An identifier maintained by the VIM or other resource provider. diff --git a/src/SOL005/responses/SOL005_resp.yaml b/src/SOL005/responses/SOL005_resp.yaml index 01037719ae46263bac0d687a51219007850699b2..2d898dc98a1fd06b4732eba6c07cff7a7137a1f3 100644 --- a/src/SOL005/responses/SOL005_resp.yaml +++ b/src/SOL005/responses/SOL005_resp.yaml @@ -3,16 +3,9 @@ responses: - 202-with-Location: + 202: description: > 202 ACCEPTED - - The request was 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 - "NS lifecycle operation occurrence" resource - corresponding to the operation. headers: Content-Type: description: The MIME type of the body of the response. @@ -23,38 +16,8 @@ responses: description: The resource URI of the created NS instance type: string format: url - 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. - type: string maximum: 1 minimum: 0 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsInstance" - - 202-with-Location-empty: - description: > - 202 ACCEPTED - - The request was accepted for processing, but the processing has not - been completed. On success, the HTTP response shall include a - "Location" HTTP header that contains the URI of the newly-created - "NS Descriptor operation occurrence" resource corresponding to the - operation. - The response body shall be empty. - headers: - Location: - description: The resource URI of the created NS instance - type: string - format: url WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided