From 953f64957c52ae8d9608142ee0ac3cc41ff5e004 Mon Sep 17 00:00:00 2001 From: moscatelli Date: Fri, 5 Jul 2019 15:30:09 +0200 Subject: [PATCH 01/45] SOL005_1: API version checked and reference to v2.6.1 document updated --- src/SOL005/NSDManagement/NSDManagement.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/SOL005/NSDManagement/NSDManagement.yaml b/src/SOL005/NSDManagement/NSDManagement.yaml index 23df6ee..a9f09ec 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 -- GitLab From 9b51c50a2da39b7a8f32d5a863cc5d914694c973 Mon Sep 17 00:00:00 2001 From: moscatelli Date: Fri, 5 Jul 2019 15:38:32 +0200 Subject: [PATCH 02/45] SOL005_5/SOL005_6: NS Descriptors POST and GET methods updated --- src/SOL005/NSDManagement/NSDManagement.yaml | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/SOL005/NSDManagement/NSDManagement.yaml b/src/SOL005/NSDManagement/NSDManagement.yaml index a9f09ec..5bcdc1f 100644 --- a/src/SOL005/NSDManagement/NSDManagement.yaml +++ b/src/SOL005/NSDManagement/NSDManagement.yaml @@ -90,7 +90,7 @@ paths: description: > 201 CREATED - An NS descriptor resource was created successfully, as a 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 @@ -148,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 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 +158,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 +189,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 -- GitLab From 11e32507068adbe9c2d442a46da5d6ed8c724904 Mon Sep 17 00:00:00 2001 From: moscatelli Date: Fri, 5 Jul 2019 15:41:02 +0200 Subject: [PATCH 03/45] SOL005_11: Individual NS Descriptor PATCH method updated --- src/SOL005/NSDManagement/NSDManagement.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SOL005/NSDManagement/NSDManagement.yaml b/src/SOL005/NSDManagement/NSDManagement.yaml index 5bcdc1f..6040074 100644 --- a/src/SOL005/NSDManagement/NSDManagement.yaml +++ b/src/SOL005/NSDManagement/NSDManagement.yaml @@ -377,7 +377,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: -- GitLab From ec66b2eee52d95995e8b0634eef2c7cefb356806 Mon Sep 17 00:00:00 2001 From: moscatelli Date: Fri, 5 Jul 2019 15:48:09 +0200 Subject: [PATCH 04/45] SOL005_15/SOL005_16: NSD Content GET and PUT methods updated --- src/SOL005/NSDManagement/NSDManagement.yaml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/SOL005/NSDManagement/NSDManagement.yaml b/src/SOL005/NSDManagement/NSDManagement.yaml index 6040074..5162bd0 100644 --- a/src/SOL005/NSDManagement/NSDManagement.yaml +++ b/src/SOL005/NSDManagement/NSDManagement.yaml @@ -570,7 +570,7 @@ 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 @@ -625,7 +625,8 @@ paths: description: > 409 CONFLICT - Error: The operation cannot be executed currently, due to a conflict with the state of the resource. + 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. @@ -679,7 +680,7 @@ paths: description: > 202 ACCEPTED - The NSD content was accepted for uploading, but the processing has not been completed. + 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. @@ -710,7 +711,7 @@ 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: -- GitLab From 7c27eaa3c468478dbbd749489508b7bef40935b3 Mon Sep 17 00:00:00 2001 From: moscatelli Date: Fri, 5 Jul 2019 16:12:16 +0200 Subject: [PATCH 05/45] SOL005_19/SOL005_20: PNF Descriptors POST and GET methods updated --- src/SOL005/NSDManagement/NSDManagement.yaml | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/SOL005/NSDManagement/NSDManagement.yaml b/src/SOL005/NSDManagement/NSDManagement.yaml index 5162bd0..7806b4e 100644 --- a/src/SOL005/NSDManagement/NSDManagement.yaml +++ b/src/SOL005/NSDManagement/NSDManagement.yaml @@ -863,7 +863,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 @@ -873,21 +873,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 @@ -895,7 +895,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: @@ -906,7 +906,8 @@ 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: > @@ -915,7 +916,11 @@ paths: 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 + 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. -- GitLab From f5cdefd13ec1c2937e9e4ca552da987e2b8408a4 Mon Sep 17 00:00:00 2001 From: moscatelli Date: Wed, 10 Jul 2019 11:09:59 +0200 Subject: [PATCH 06/45] SOL005_25: Individual PNF Descriptor PATCH method updated --- src/SOL005/NSDManagement/NSDManagement.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/SOL005/NSDManagement/NSDManagement.yaml b/src/SOL005/NSDManagement/NSDManagement.yaml index 7806b4e..0eda23e 100644 --- a/src/SOL005/NSDManagement/NSDManagement.yaml +++ b/src/SOL005/NSDManagement/NSDManagement.yaml @@ -805,7 +805,7 @@ 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. @@ -1095,7 +1095,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 PNF Descriptor' resource (see clause 5.5.2.4). schema: -- GitLab From 0a9482cd28d781145dd085a6e7cbd550a6203212 Mon Sep 17 00:00:00 2001 From: moscatelli Date: Wed, 10 Jul 2019 11:31:55 +0200 Subject: [PATCH 07/45] SOL005_29/SOL005_30: PNF Descriptor Content GET and PUT methods updated --- src/SOL005/NSDManagement/NSDManagement.yaml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/SOL005/NSDManagement/NSDManagement.yaml b/src/SOL005/NSDManagement/NSDManagement.yaml index 0eda23e..61b3f72 100644 --- a/src/SOL005/NSDManagement/NSDManagement.yaml +++ b/src/SOL005/NSDManagement/NSDManagement.yaml @@ -1236,9 +1236,9 @@ 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. @@ -1275,7 +1275,8 @@ paths: description: > 409 CONFLICT - Error: The operation cannot be executed currently, due to a conflict with the state of the resource. + 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. @@ -1305,7 +1306,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: -- GitLab From 28c639445201ac2c2340cd631925d01120e40d32 Mon Sep 17 00:00:00 2001 From: moscatelli Date: Wed, 10 Jul 2019 11:38:27 +0200 Subject: [PATCH 08/45] SOL005_31/SOL005_32: Subscriptions POST and GET methods updated --- src/SOL005/NSDManagement/NSDManagement.yaml | 23 +++++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/SOL005/NSDManagement/NSDManagement.yaml b/src/SOL005/NSDManagement/NSDManagement.yaml index 61b3f72..5413863 100644 --- a/src/SOL005/NSDManagement/NSDManagement.yaml +++ b/src/SOL005/NSDManagement/NSDManagement.yaml @@ -1416,7 +1416,7 @@ paths: description: > 201 CREATED - The subscription was created successfully. + 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. @@ -1447,8 +1447,8 @@ 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. + 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. @@ -1487,7 +1487,7 @@ paths: 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 @@ -1498,7 +1498,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. @@ -1511,10 +1512,14 @@ 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 NFV-SOL 013. headers: Content-Type: description: The MIME type of the body of the response. -- GitLab From 1f9c54f71325c1efb870633ea95869e8ece6d0bd Mon Sep 17 00:00:00 2001 From: moscatelli Date: Wed, 10 Jul 2019 11:40:18 +0200 Subject: [PATCH 09/45] SOL005_37: Individual subscription DELETE method updated --- src/SOL005/NSDManagement/NSDManagement.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SOL005/NSDManagement/NSDManagement.yaml b/src/SOL005/NSDManagement/NSDManagement.yaml index 5413863..6db0adb 100644 --- a/src/SOL005/NSDManagement/NSDManagement.yaml +++ b/src/SOL005/NSDManagement/NSDManagement.yaml @@ -1697,7 +1697,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: -- GitLab From b1ae72268c78f7e3c315c61db527b9b590a0dc85 Mon Sep 17 00:00:00 2001 From: moscatelli Date: Wed, 10 Jul 2019 11:45:22 +0200 Subject: [PATCH 10/45] SOL005_38/SOL005_39: Notifications GET and POST methods updated --- .../NSDManagementNotification.yaml | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml b/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml index c2ce4a7..abbfef9 100644 --- a/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml +++ b/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml @@ -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: -- GitLab From 97d1dc82178b704b3ff13e6de95f63f22944d172 Mon Sep 17 00:00:00 2001 From: moscatelli Date: Wed, 10 Jul 2019 11:59:41 +0200 Subject: [PATCH 11/45] SOL005_41 -> SOL005_45: NSD management datatypes updated --- .../definitions/SOL005NSDescriptorManagement_def.yaml | 7 ++++++- .../SOL005NSDescriptorManagementNotification_def.yaml | 6 ++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/SOL005/NSDManagement/definitions/SOL005NSDescriptorManagement_def.yaml b/src/SOL005/NSDManagement/definitions/SOL005NSDescriptorManagement_def.yaml index 336caac..8525062 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/definitions/SOL005NSDescriptorManagementNotification_def.yaml b/src/SOL005/NSDManagementNotification/definitions/SOL005NSDescriptorManagementNotification_def.yaml index 5b4568c..b3f0298 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" -- GitLab From 43b9dad9d848cabaf696e7a04ec278dfdf419d44 Mon Sep 17 00:00:00 2001 From: moscatelli Date: Wed, 10 Jul 2019 12:03:40 +0200 Subject: [PATCH 12/45] SOL005_46: NS Lifecycle management API version updated --- src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml | 6 +++--- .../NSLifecycleManagementNotification.yaml | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml index 4bf0b06..58135d3 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 diff --git a/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml b/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml index 25f98f7..eb72638 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 -- GitLab From b1b48837a1c061ba5d86f5d58e0cae34023d351a Mon Sep 17 00:00:00 2001 From: moscatelli Date: Wed, 10 Jul 2019 12:08:03 +0200 Subject: [PATCH 13/45] SOL005_50/SOL005_51: NS Instances POST and GET methods updated --- .../NSLifecycleManagement.yaml | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml index 58135d3..a2e39db 100644 --- a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml +++ b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml @@ -82,7 +82,7 @@ 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 @@ -145,7 +145,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 +155,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 +177,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 +192,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 +208,12 @@ paths: description: > 200 OK - Information about zero or more NS instances was queried successfully. + 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 4.7.2.3. + 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. -- GitLab From a34f962dd420d285e84739169785cba1ca7f09d3 Mon Sep 17 00:00:00 2001 From: moscatelli Date: Wed, 10 Jul 2019 12:09:35 +0200 Subject: [PATCH 14/45] SOL005_55: Individual NS Instance GET method updated --- src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml index a2e39db..8b7d89f 100644 --- a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml +++ b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml @@ -317,7 +317,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" -- GitLab From 0b57b12e6448cc73a7cf471b5ab90c31138ba56e Mon Sep 17 00:00:00 2001 From: moscatelli Date: Wed, 10 Jul 2019 12:14:03 +0200 Subject: [PATCH 15/45] SOL005_58: 202 reponse code updated --- src/SOL005/responses/SOL005_resp.yaml | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/SOL005/responses/SOL005_resp.yaml b/src/SOL005/responses/SOL005_resp.yaml index 0103771..9fe3455 100644 --- a/src/SOL005/responses/SOL005_resp.yaml +++ b/src/SOL005/responses/SOL005_resp.yaml @@ -7,7 +7,7 @@ responses: description: > 202 ACCEPTED - The request was accepted for processing, but the processing has not + 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 @@ -23,6 +23,8 @@ responses: description: The resource URI of the created NS instance type: string format: url + maximum: 1 + minimum: 0 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided @@ -44,17 +46,13 @@ responses: description: > 202 ACCEPTED - The request was accepted for processing, but the processing has not + The request has been 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 -- GitLab From f1449bf5cef00430ef2a6af781cb607c62e1e3ab Mon Sep 17 00:00:00 2001 From: moscatelli Date: Wed, 10 Jul 2019 12:22:17 +0200 Subject: [PATCH 16/45] SOL005_74: NS LCM occurrences GET method updated --- .../NSLifecycleManagement.yaml | 26 ++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml index 8b7d89f..59f0929 100644 --- a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml +++ b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml @@ -811,7 +811,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 @@ -821,14 +821,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 @@ -836,7 +836,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 @@ -847,7 +847,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 @@ -876,12 +877,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. -- GitLab From 96c63be63e8d754d2ad9baa05cbeec5b0c8f6561 Mon Sep 17 00:00:00 2001 From: moscatelli Date: Wed, 10 Jul 2019 12:31:40 +0200 Subject: [PATCH 17/45] SOL005_92/SOL005_93: Subscriptions GET and POST methods updated --- .../NSLifecycleManagement.yaml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml index 59f0929..556c9b0 100644 --- a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml +++ b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml @@ -995,7 +995,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). @@ -1462,7 +1462,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:" @@ -1522,7 +1522,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 @@ -1531,7 +1531,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 @@ -1546,12 +1547,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 -- GitLab From 2754de816d39ddee7248351a0e858fa0a70c6bf9 Mon Sep 17 00:00:00 2001 From: moscatelli Date: Wed, 10 Jul 2019 12:33:51 +0200 Subject: [PATCH 18/45] SOL005_98: Individual subscription DELETE method updated --- src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml index 556c9b0..e350bd7 100644 --- a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml +++ b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml @@ -1686,6 +1686,7 @@ paths: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" + delete: summary: Terminate a subscription. description: > @@ -1697,7 +1698,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: -- GitLab From 77e02c828a9d0fa4e26a823019bf82af234794f6 Mon Sep 17 00:00:00 2001 From: moscatelli Date: Wed, 10 Jul 2019 12:37:35 +0200 Subject: [PATCH 19/45] SOL005_99/SOL005_100: Notifications POST and GET methods updated --- .../NSLifecycleManagement.yaml | 2 +- .../NSLifecycleManagementNotification.yaml | 152 +++++++++++++++++- 2 files changed, 149 insertions(+), 5 deletions(-) diff --git a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml index e350bd7..da14b00 100644 --- a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml +++ b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml @@ -1686,7 +1686,7 @@ paths: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" - + delete: summary: Terminate a subscription. description: > diff --git a/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml b/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml index eb72638..ddfb688 100644 --- a/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml +++ b/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml @@ -79,7 +79,79 @@ 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" + 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" + + 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 @@ -164,7 +236,79 @@ 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" + 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" + + 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 @@ -250,7 +394,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 @@ -321,7 +465,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: -- GitLab From 1c43fa028ca929063c870d8a8d3932162445e781 Mon Sep 17 00:00:00 2001 From: moscatelli Date: Wed, 10 Jul 2019 12:59:15 +0200 Subject: [PATCH 20/45] SOL005_102/SOL005_103: NS Lifecycle management datatypes updated --- .../SOL005NSLifecycleManagement_def.yaml | 96 +++++++++++++------ ...NSLifecycleManagementNotification_def.yaml | 4 +- 2 files changed, 67 insertions(+), 33 deletions(-) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index 8fdea55..b6fc9ab 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/definitions/SOL005NSLifecycleManagementNotification_def.yaml b/src/SOL005/NSLifecycleManagementNotification/definitions/SOL005NSLifecycleManagementNotification_def.yaml index f62006d..e99beb6 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: -- GitLab From efa77b60a8cc3c0b1520b953c2e28b5531479062 Mon Sep 17 00:00:00 2001 From: moscatelli Date: Mon, 15 Jul 2019 11:46:26 +0200 Subject: [PATCH 21/45] SOL005: NSD Management and NS Lifecycle Management overall consolidation --- src/SOL005/NSDManagement/NSDManagement.yaml | 405 ++++++++++-------- .../NSLifecycleManagement.yaml | 391 +++++++++++++++-- .../NSLifecycleManagementNotification.yaml | 24 -- src/SOL005/definitions/SOL005_def.yaml | 19 + src/SOL005/responses/SOL005_resp.yaml | 45 +- 5 files changed, 625 insertions(+), 259 deletions(-) diff --git a/src/SOL005/NSDManagement/NSDManagement.yaml b/src/SOL005/NSDManagement/NSDManagement.yaml index 6db0adb..a01994f 100644 --- a/src/SOL005/NSDManagement/NSDManagement.yaml +++ b/src/SOL005/NSDManagement/NSDManagement.yaml @@ -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 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. + 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,14 +137,13 @@ 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 @@ -206,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. @@ -256,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 # @@ -287,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: > @@ -304,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: @@ -344,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 @@ -418,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: @@ -430,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. @@ -490,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 # @@ -530,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: > @@ -570,15 +587,16 @@ paths: description: > 200 OK - Shall be returned when the content of the NSD has been read successfully. + 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. @@ -603,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" @@ -620,49 +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 - 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. + 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: > @@ -680,13 +714,16 @@ paths: description: > 202 ACCEPTED - 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 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. @@ -711,7 +748,8 @@ paths: description: > 204 NO CONTENT - The NSD content successfully uploaded and validated (synchronous mode). + The NSD content successfully uploaded and + validated (synchronous mode). The response body shall be empty. headers: WWW-Authenticate: @@ -744,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 # @@ -805,13 +849,14 @@ paths: description: > 201 CREATED - A PNF descriptor resource has been 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: @@ -851,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. @@ -914,13 +961,14 @@ paths: 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.5 - - If the NFVO supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 - for this resource, inclusion of the Link HTTP header in this response shall follow the provisions - in clause 5.4.2.3 of ETSI GS NFV-SOL 013. + The 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. @@ -973,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 # @@ -991,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 @@ -1023,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. @@ -1062,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. @@ -1096,7 +1146,8 @@ paths: 200 OK The operation has been completed successfully. - The response body shall contain attribute modifications for an 'Individual PNF Descriptor' + 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" @@ -1139,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. @@ -1146,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: > @@ -1188,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 # @@ -1236,9 +1290,12 @@ paths: description: > 200 OK - 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". + 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. @@ -1275,16 +1332,21 @@ paths: description: > 409 CONFLICT - Shall be returned upon the following error: The operation cannot be executed currently, - due to a conflict with the state of the resource. - Typically, this is due to the fact pnfdOnboardingState has a value different from ONBOARDED. - The response body shall contain a ProblemDetails structure, in which the "detail" attribute - shall convey more information about the error. + 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. @@ -1339,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" @@ -1373,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: > @@ -1416,10 +1474,13 @@ paths: description: > 201 CREATED - Shall be returned when the subscription has been 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: @@ -1447,10 +1508,13 @@ paths: description: > 303 SEE OTHER - Shall be returned when a subscription with the same callbackURI and the same filter already - exits and the policy of the NFVO is to not create redundant subscriptions. - The HTTP response shall include a "Location" HTTP header that contains the resource URI of the existing - subscription resource. + 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: @@ -1469,18 +1533,14 @@ 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 @@ -1512,14 +1572,19 @@ paths: description: > 200 OK - 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 NFV-SOL 013. + 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. @@ -1573,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 # @@ -1666,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 @@ -1729,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/NSLifecycleManagement/NSLifecycleManagement.yaml b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml index da14b00..cfbc3ee 100644 --- a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml +++ b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml @@ -82,7 +82,8 @@ paths: description: > 201 Created - A NS Instance identifier has been 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: > @@ -208,12 +211,16 @@ paths: description: > 200 OK - 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. + 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. @@ -266,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 # @@ -355,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. @@ -406,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" @@ -413,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 # @@ -467,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: @@ -481,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" @@ -488,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 # @@ -542,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: @@ -556,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 # @@ -616,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: @@ -630,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 # @@ -692,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: @@ -706,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 # @@ -772,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: @@ -786,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 # @@ -934,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 # @@ -1035,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 # @@ -1085,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: @@ -1093,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. # @@ -1146,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: @@ -1154,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. # @@ -1201,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: @@ -1209,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 # @@ -1307,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 # @@ -1384,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: @@ -1392,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 # @@ -1491,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" @@ -1508,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: > @@ -1600,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 # @@ -1686,6 +2025,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 a subscription. @@ -1696,7 +2037,7 @@ paths: responses: 204: description: > - 204 No Content + 204 NO CONTENT The subscription resource has been deleted successfully. The response body shall be empty. @@ -1728,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/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml b/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml index ddfb688..35c4b73 100644 --- a/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml +++ b/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml @@ -107,10 +107,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: @@ -179,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: @@ -264,10 +256,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: @@ -336,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: @@ -422,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: @@ -494,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/definitions/SOL005_def.yaml b/src/SOL005/definitions/SOL005_def.yaml index 9928c9a..05e1def 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 9fe3455..579a026 100644 --- a/src/SOL005/responses/SOL005_resp.yaml +++ b/src/SOL005/responses/SOL005_resp.yaml @@ -3,16 +3,7 @@ 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. + 202: headers: Content-Type: description: The MIME type of the body of the response. @@ -39,38 +30,8 @@ responses: type: string maximum: 1 minimum: 1 - schema: - $ref: "../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsInstance" - - 202-with-Location-empty: - description: > - 202 ACCEPTED - - The request has been 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: - 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 206: - description: > - 206 PARTIAL CONTENT headers: Content-Type: description: > @@ -102,8 +63,6 @@ responses: $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" 303: - description: > - 303 SEE OTHER headers: Content-Type: description: The MIME type of the body of the response. @@ -334,8 +293,6 @@ responses: $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" 409: - description: > - 409 CONFLICT headers: Content-Type: description: The MIME type of the body of the response. -- GitLab From e465a46907c6ed4205dac731cd23046a0fa637e4 Mon Sep 17 00:00:00 2001 From: moscatelli Date: Mon, 15 Jul 2019 12:15:55 +0200 Subject: [PATCH 22/45] SOL005: Fix in responses' descriptions --- src/SOL005/responses/SOL005_resp.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/SOL005/responses/SOL005_resp.yaml b/src/SOL005/responses/SOL005_resp.yaml index 579a026..2d898dc 100644 --- a/src/SOL005/responses/SOL005_resp.yaml +++ b/src/SOL005/responses/SOL005_resp.yaml @@ -4,6 +4,8 @@ responses: 202: + description: > + 202 ACCEPTED headers: Content-Type: description: The MIME type of the body of the response. @@ -32,6 +34,8 @@ responses: minimum: 1 206: + description: > + 206 PARTIAL CONTENT headers: Content-Type: description: > @@ -63,6 +67,8 @@ responses: $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" 303: + description: > + 303 SEE OTHER headers: Content-Type: description: The MIME type of the body of the response. @@ -293,6 +299,8 @@ responses: $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" 409: + description: > + 409 CONFLICT headers: Content-Type: description: The MIME type of the body of the response. -- GitLab From f3d8d6c663fce79a2eec42a4c55fb08d72c69223 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 16 Jul 2019 12:48:18 +0200 Subject: [PATCH 23/45] SOL005_#079 POST Method (on PM jobs) description and response updated --- .../NSPerformanceManagement/NSPerformanceManagement.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml index 9dbdae3..3a8ea9a 100644 --- a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml +++ b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml @@ -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 -- GitLab From cbc64a0d119e88b79978aa15644bd1e56a52ce9b Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 16 Jul 2019 13:01:53 +0200 Subject: [PATCH 24/45] SOL005_#080 GET Method (on PM jobs) request and response updated --- .../NSPerformanceManagement.yaml | 38 ++++++++++++------- 1 file changed, 25 insertions(+), 13 deletions(-) diff --git a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml index 3a8ea9a..dfb76e6 100644 --- a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml +++ b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml @@ -151,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 @@ -161,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: @@ -191,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 @@ -214,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. -- GitLab From 2e7f2d04a8bfd24d362ac7759ecd42e08b31b641 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 16 Jul 2019 13:03:33 +0200 Subject: [PATCH 25/45] SOL005_#086 GET Method (on PM jobs) response updated --- .../NSPerformanceManagement/NSPerformanceManagement.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml index dfb76e6..d879b0e 100644 --- a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml +++ b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml @@ -322,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: -- GitLab From 0751e74a068ac16dc540a27153f5e276d7ab97b4 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 16 Jul 2019 13:07:17 +0200 Subject: [PATCH 26/45] SOL005_#089 DELETE Method (on PM jobs) description and response updated --- .../NSPerformanceManagement/NSPerformanceManagement.yaml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml index d879b0e..e3b933e 100644 --- a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml +++ b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml @@ -369,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: -- GitLab From c9d3540a4adc422459d36faa7b8ae88c86f9f175 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 16 Jul 2019 14:29:33 +0200 Subject: [PATCH 27/45] SOL005_#093 GET Method (on Individual PM jobs) response updated --- .../NSPerformanceManagement/NSPerformanceManagement.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml index e3b933e..fb3daee 100644 --- a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml +++ b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml @@ -463,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: -- GitLab From ed182d86a08af48d4d33b7505d27c7031e34339f Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 16 Jul 2019 14:31:29 +0200 Subject: [PATCH 28/45] SOL005_#098 POST Method (on Thresholds) description and response updated --- .../NSPerformanceManagement/NSPerformanceManagement.yaml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml index fb3daee..837f09a 100644 --- a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml +++ b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml @@ -533,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 @@ -561,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 -- GitLab From df6c662a9725337d55f0396e8adf97083ca73168 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 16 Jul 2019 14:35:07 +0200 Subject: [PATCH 29/45] SOL005_#099 GET Method (on Thresholds) request and response updated --- .../NSPerformanceManagement.yaml | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml index 837f09a..c0c4e1a 100644 --- a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml +++ b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml @@ -621,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 @@ -632,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. @@ -645,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. -- GitLab From 88596f94952429b495af44285c9824659ab7722c Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 16 Jul 2019 14:39:44 +0200 Subject: [PATCH 30/45] SOL005_#105 GET Method (on Individual threshold) response updated --- .../NSPerformanceManagement/NSPerformanceManagement.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml index c0c4e1a..413d6ac 100644 --- a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml +++ b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml @@ -754,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: -- GitLab From f7531041776ea264f7885ee7b289ee9d709f3325 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 16 Jul 2019 14:41:29 +0200 Subject: [PATCH 31/45] SOL005_#108 DELETE Method (on Individual threshold) description and response updated --- .../NSPerformanceManagement/NSPerformanceManagement.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml index 413d6ac..02097a7 100644 --- a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml +++ b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml @@ -801,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: > @@ -814,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: -- GitLab From b111aa37ea4f4644feef843d5766fe93dcf5238b Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 16 Jul 2019 15:17:13 +0200 Subject: [PATCH 32/45] SOL005_#110 POST Method (on Subscriptions) description and response updated --- .../NSPerformanceManagement/NSPerformanceManagement.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml index 02097a7..4baed68 100644 --- a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml +++ b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml @@ -877,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 @@ -910,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 -- GitLab From 91fd5d29fcfd7a9ce5d2238395e27bcfb39717b6 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 16 Jul 2019 15:28:02 +0200 Subject: [PATCH 33/45] SOL005_#111 GET Method (on Subscriptions) request and response updated --- .../NSPerformanceManagement.yaml | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml index 4baed68..8f4d54c 100644 --- a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml +++ b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml @@ -974,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 @@ -985,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. @@ -998,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. -- GitLab From c215bacb2908b7cad56d6ab95c358bb086b79f8b Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 16 Jul 2019 15:29:36 +0200 Subject: [PATCH 34/45] SOL005_#117 GET Method (on Individual subscription) response updated --- src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml index 8f4d54c..0568217 100644 --- a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml +++ b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml @@ -1110,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: -- GitLab From 9bbd52f611ad86d3c98d5939bc69d855f1d2dde3 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 16 Jul 2019 15:32:00 +0200 Subject: [PATCH 35/45] SOL005_#120 DELETE Method (on Individual subscription) description and response updated --- .../NSPerformanceManagement.yaml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml index 0568217..b1744df 100644 --- a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml +++ b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml @@ -1159,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: > @@ -1173,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: -- GitLab From 25d08d82b5ef3173a3a82112abf833dd07997454 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 16 Jul 2019 15:39:31 +0200 Subject: [PATCH 36/45] SOL005_#121-SOL005_#121 POST and GET Methods (on Notification endpoint) updated --- .../NSPerformanceManagementNotification.yaml | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml b/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml index 4bb1943..b2dee9f 100644 --- a/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml +++ b/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml @@ -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: -- GitLab From c0d1a1db406fe0270642dcab6d1ee57eba91074d Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 16 Jul 2019 15:41:59 +0200 Subject: [PATCH 37/45] SOL005_#126 Resource "PmSubscriptionRequest" updated. --- .../definitions/SOL005NSPerformanceManagement_def.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SOL005/NSPerformanceManagement/definitions/SOL005NSPerformanceManagement_def.yaml b/src/SOL005/NSPerformanceManagement/definitions/SOL005NSPerformanceManagement_def.yaml index 6035136..454b206 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" -- GitLab From f8d29de504f99fc778d251a9fcf28990b3cf9fa2 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 16 Jul 2019 15:44:39 +0200 Subject: [PATCH 38/45] SOL005_#127 Resource "ThresholdCrossedNotification" updated --- .../SOL005NSPerformanceManagementNotification_def.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/SOL005/NSPerformanceManagementNotification/definitions/SOL005NSPerformanceManagementNotification_def.yaml b/src/SOL005/NSPerformanceManagementNotification/definitions/SOL005NSPerformanceManagementNotification_def.yaml index be28039..11bebfd 100644 --- a/src/SOL005/NSPerformanceManagementNotification/definitions/SOL005NSPerformanceManagementNotification_def.yaml +++ b/src/SOL005/NSPerformanceManagementNotification/definitions/SOL005NSPerformanceManagementNotification_def.yaml @@ -78,6 +78,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 -- GitLab From f351581c765eb52e9a8c2d36f446a6ebcab9e747 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 16 Jul 2019 15:45:22 +0200 Subject: [PATCH 39/45] SOL005_#128 Resource "PerformanceInformationAvailableNotification" updated --- .../SOL005NSPerformanceManagementNotification_def.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/SOL005/NSPerformanceManagementNotification/definitions/SOL005NSPerformanceManagementNotification_def.yaml b/src/SOL005/NSPerformanceManagementNotification/definitions/SOL005NSPerformanceManagementNotification_def.yaml index 11bebfd..cf2f10a 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 -- GitLab From 2de3cb46504b72a244277249658ce16cb87902f3 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 16 Jul 2019 15:46:46 +0200 Subject: [PATCH 40/45] SOL005_#129 Resource "PerformanceReport " updated --- .../definitions/SOL005NSPerformanceManagement_def.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SOL005/NSPerformanceManagement/definitions/SOL005NSPerformanceManagement_def.yaml b/src/SOL005/NSPerformanceManagement/definitions/SOL005NSPerformanceManagement_def.yaml index 454b206..6ad0a3e 100644 --- a/src/SOL005/NSPerformanceManagement/definitions/SOL005NSPerformanceManagement_def.yaml +++ b/src/SOL005/NSPerformanceManagement/definitions/SOL005NSPerformanceManagement_def.yaml @@ -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: > -- GitLab From 4037f3e40252a3b8b5d8f981363c6e64ef94b3df Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Wed, 17 Jul 2019 13:54:18 +0200 Subject: [PATCH 41/45] SOL005_#014/#074 "API version" updated --- .../NSDManagementNotification/NSDManagementNotification.yaml | 4 ++-- .../NSPerformanceManagement/NSPerformanceManagement.yaml | 4 ++-- .../NSPerformanceManagementNotification.yaml | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml b/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml index abbfef9..1f7c0ed 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 diff --git a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml index b1744df..7153881 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 diff --git a/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml b/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml index b2dee9f..5f7ae0e 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 -- GitLab From b670a4f3dcae71e2a286846c80c02f58dcba7acc Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Wed, 17 Jul 2019 17:33:29 +0200 Subject: [PATCH 42/45] upd --- .../NSFaultManagement/NSFaultManagement.yaml | 16 ++++++++-------- .../VNFPackageManagement.yaml | 16 ++++++++-------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/SOL005/NSFaultManagement/NSFaultManagement.yaml b/src/SOL005/NSFaultManagement/NSFaultManagement.yaml index c835424..ab6e4d7 100644 --- a/src/SOL005/NSFaultManagement/NSFaultManagement.yaml +++ b/src/SOL005/NSFaultManagement/NSFaultManagement.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 Fault Management Interface" description: > SOL005 - NS Fault 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: /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: > @@ -153,7 +153,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: > @@ -329,7 +329,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: > @@ -535,7 +535,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: > @@ -670,4 +670,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/VNFPackageManagement.yaml b/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml index e4659a0..46bcc7d 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: > @@ -231,7 +231,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: > @@ -431,7 +431,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: > @@ -540,7 +540,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: > @@ -1240,4 +1240,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" -- GitLab From 57c3ccb69e5de116e71b2a0c79988ab6cf794f55 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Wed, 17 Jul 2019 18:10:20 +0200 Subject: [PATCH 43/45] upd --- src/SOL005/NSFaultManagement/NSFaultManagement.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SOL005/NSFaultManagement/NSFaultManagement.yaml b/src/SOL005/NSFaultManagement/NSFaultManagement.yaml index ab6e4d7..49899a4 100644 --- a/src/SOL005/NSFaultManagement/NSFaultManagement.yaml +++ b/src/SOL005/NSFaultManagement/NSFaultManagement.yaml @@ -1,7 +1,7 @@ swagger: "2.0" info: - version: "1.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" + version: "1.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" title: "SOL005 - NS Fault Management Interface" description: > SOL005 - NS Fault Management Interface -- GitLab From 728f153cc4b6e873c38fd027f07feff6d5a9e87b Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Wed, 17 Jul 2019 18:51:16 +0200 Subject: [PATCH 44/45] update to SOL005 NS FM --- .../NSFaultManagement/NSFaultManagement.yaml | 78 ++++++++------- .../SOL005NSFaultManagement_def.yaml | 7 +- .../NSFaultManagementNotification.yaml | 94 +++++++++++++++++-- 3 files changed, 130 insertions(+), 49 deletions(-) diff --git a/src/SOL005/NSFaultManagement/NSFaultManagement.yaml b/src/SOL005/NSFaultManagement/NSFaultManagement.yaml index 49899a4..11159ca 100644 --- a/src/SOL005/NSFaultManagement/NSFaultManagement.yaml +++ b/src/SOL005/NSFaultManagement/NSFaultManagement.yaml @@ -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. @@ -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. @@ -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. @@ -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: diff --git a/src/SOL005/NSFaultManagement/definitions/SOL005NSFaultManagement_def.yaml b/src/SOL005/NSFaultManagement/definitions/SOL005NSFaultManagement_def.yaml index ab28ca2..af6df5d 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 a5732c7..1a314b5 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: -- GitLab From d803cf7f8a1b0af689dc158f88f22523b3235ef6 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 18 Jul 2019 12:45:40 +0200 Subject: [PATCH 45/45] updates to SOL005 VNF Pckg mgmt --- .../VNFPackageManagement.yaml | 193 ++++++++++-------- .../SOL005VNFPackageManagement_def.yaml | 12 +- .../VNFPackageManagementNotification.yaml | 78 ++++++- 3 files changed, 189 insertions(+), 94 deletions(-) diff --git a/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml index 46bcc7d..4e19c10 100644 --- a/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml @@ -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. @@ -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. @@ -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. @@ -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 diff --git a/src/SOL005/VNFPackageManagement/definitions/SOL005VNFPackageManagement_def.yaml b/src/SOL005/VNFPackageManagement/definitions/SOL005VNFPackageManagement_def.yaml index 0a55d1d..1831006 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 898bc35..5054757 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: > -- GitLab