diff --git a/src/SOL005/NSDManagement/definitions/SOL005_def.yaml b/src/SOL005/NSDManagement/definitions/SOL005_def.yaml index efc9b178e478beae91f2daf7f2368408eccb56b2..e86673bb066a34cf94b5170e4e15fa0fe06d892e 100644 --- a/src/SOL005/NSDManagement/definitions/SOL005_def.yaml +++ b/src/SOL005/NSDManagement/definitions/SOL005_def.yaml @@ -24,7 +24,8 @@ Uri: description: > String formatted according to IETF RFC 3986. - type: string + type: string + Link: description: > This type represents a link to a resource. @@ -36,7 +37,8 @@ description: > URI of the referenced resource. type: string - format: url + format: url + DateTime: description: > Date-time stamp. diff --git a/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml b/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml new file mode 100644 index 0000000000000000000000000000000000000000..007cc6be7b08ad7b35344b02bc745f1640d01424 --- /dev/null +++ b/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml @@ -0,0 +1,1065 @@ +swagger: "2.0" + +info: + version: "1.0.0" + title: SOL005 - NSD Management Notification interface + description: > + SOL005 - NSD Management Notification interface + + + IMPORTANT: Please note that this file might be not aligned to the current + version of the ETSI Group Specification it refers to. In case of + discrepancies the published ETSI Group Specification takes precedence. + + + In clause 4.3.2 of ETSI GS NFV-SOL 002 v2.4.1, an attribute-based + filtering mechanism is defined. This mechanism is currently not + included in the corresponding OpenAPI design for this GS version. Changes + to the attribute-based filtering mechanism are being considered in v2.5.1 + of this GS for inclusion in the corresponding future ETSI NFV OpenAPI + design. + + Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + license: + name: "ETSI Forge copyright notice" + url: https://forge.etsi.org/etsi-forge-copyright-notice.txt + +externalDocs: + description: ETSI GS NFV-SOL 005 V2.4.1 + url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.04.01_60/gs_NFV-SOL005v020401p.pdf + +basePath: /callback/v1 + +schemes: + - http + - https + +consumes: + - application/json +produces: + - application/json + +paths: + ############################################################################### + # Notification endpoint NSDManagement # + ############################################################################### + '/URI_is_provided_by_the_client_when_creating_the_subscription-NsdOnBoardingNotification': + parameters: + - 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 + + post: + summary: Notify about NSD and PNFD changes + description: > + This resource represents a notification endpoint. The server can use + this resource to send notifications to a subscribed + client, which has provided the URI of this resource during the subscription process. + + The POST method delivers a notification from the server to the client. + This method shall support the URI query parameters, request and + response data structures, and response codes, as + specified in the Table 5.4.10.3.1-2. + parameters: + - name: NsdOnBoardingNotification + description: > + A notification about the successful on-boarding of an NSD. + in: body + required: true + schema: + $ref: "definitions/SOL005NSDescriptorManagementNotification_def.yaml#/definitions/NsdOnBoardingNotification" + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231. + in: header + required: true + type: string + - name: Content-Type + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231. + in: header + required: true + type: string + responses: + 204: + description: > + 204 NO CONTENT + + The notification was 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: "../NSDManagement/responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/406" + 500: + $ref: "../NSDManagement//responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/503" + + get: + summary: Test the notification endpoint + description: > + This resource represents a notification endpoint. The server can use + this resource to send notifications to a subscribed + client, which has provided the URI of this resource during the subscription process. + + 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 Table 5.4.10.3.2-2 for URI query parameters, + request and response data structures, and response codes. + parameters: + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231. + in: header + required: true + type: string + responses: + 204: + description: > + 204 NO CONTENT + + The notification endpoint was 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: "../NSDManagement/responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/406" + 500: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/503" + + '/URI_is_provided_by_the_client_when_creating_the_subscription-NsdOnBoardingFailureNotification': + #ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.10 + parameters: + - 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 + + post: + summary: Notify about NSD and PNFD changes + description: > + This resource represents a notification endpoint. The server can use + this resource to send notifications to a subscribed + client, which has provided the URI of this resource during the subscription process. + + The POST method delivers a notification from the server to the client. + This method shall support the URI query parameters, request and + response data structures, and response codes, as + specified in the Table 5.4.10.3.1-2. + parameters: + - name: NsdOnBoardingFailureNotification + description: > + A notification about the failure of on-boarding an NSD. + in: body + required: true + schema: + $ref: "definitions/SOL005NSDescriptorManagementNotification_def.yaml#/definitions/NsdOnBoardingFailureNotification" + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231. + in: header + required: true + type: string + - name: Content-Type + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231. + in: header + required: true + type: string + responses: + 204: + description: > + 204 NO CONTENT + + The notification was 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: "../NSDManagement/responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/406" + 500: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/503" + + get: + summary: Test the notification endpoint + description: > + This resource represents a notification endpoint. The server can use + this resource to send notifications to a subscribed + client, which has provided the URI of this resource during the subscription process. + + 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 Table 5.4.10.3.2-2 for URI query parameters, + request and response data structures, and response codes. + parameters: + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231. + in: header + required: true + type: string + responses: + 204: + description: > + 204 NO CONTENT + + The notification endpoint was 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: "../NSDManagement/responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/406" + 500: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/503" + + '/URI_is_provided_by_the_client_when_creating_the_subscription-NsdChangeNotification': + #ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.10 + parameters: + - 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 + + post: + summary: Notify about NSD and PNFD changes + description: > + This resource represents a notification endpoint. The server can use + this resource to send notifications to a subscribed + client, which has provided the URI of this resource during the subscription process. + + The POST method delivers a notification from the server to the client. + This method shall support the URI query parameters, request and + response data structures, and response codes, as + specified in the Table 5.4.10.3.1-2. + parameters: + - name: NsdChangeNotification + description: > + A notification about the state change of an on-boarded NSD. + in: body + required: true + schema: + $ref: "definitions/SOL005NSDescriptorManagementNotification_def.yaml#/definitions/NsdChangeNotification" + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231. + in: header + required: true + type: string + - name: Content-Type + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231. + in: header + required: true + type: string + responses: + 204: + description: > + 204 NO CONTENT + + The notification was 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: "../NSDManagement/responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/406" + 500: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/503" + + get: + summary: Test the notification endpoint + description: > + This resource represents a notification endpoint. The server can use + this resource to send notifications to a subscribed + client, which has provided the URI of this resource during the subscription process. + + 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 Table 5.4.10.3.2-2 for URI query parameters, + request and response data structures, and response codes. + parameters: + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231. + in: header + required: true + type: string + responses: + 204: + description: > + 204 NO CONTENT + + The notification endpoint was 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: "../NSDManagement/responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/406" + 500: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/503" + + '/URI_is_provided_by_the_client_when_creating_the_subscription-NsdDeletionNotification': + #ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.10 + parameters: + - 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 + + post: + summary: Notify about NSD and PNFD changes + description: > + This resource represents a notification endpoint. The server can use + this resource to send notifications to a subscribed + client, which has provided the URI of this resource during the subscription process. + + The POST method delivers a notification from the server to the client. + This method shall support the URI query parameters, request and + response data structures, and response codes, as + specified in the Table 5.4.10.3.1-2. + parameters: + - name: NsdDeletionNotification + description: > + A notification about the deletion of an on-boarded NSD. + in: body + required: true + schema: + $ref: "definitions/SOL005NSDescriptorManagementNotification_def.yaml#/definitions/NsdDeletionNotification" + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231. + in: header + required: true + type: string + - name: Content-Type + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231. + in: header + required: true + type: string + responses: + 204: + description: > + 204 NO CONTENT + + The notification was 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: "../NSDManagement/responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/406" + 500: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/503" + + get: + summary: Test the notification endpoint + description: > + This resource represents a notification endpoint. The server can use + this resource to send notifications to a subscribed + client, which has provided the URI of this resource during the subscription process. + + 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 Table 5.4.10.3.2-2 for URI query parameters, + request and response data structures, and response codes. + parameters: + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231. + in: header + required: true + type: string + responses: + 204: + description: > + 204 NO CONTENT + + The notification endpoint was 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: "../NSDManagement/responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/406" + 500: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/503" + + '/URI_is_provided_by_the_client_when_creating_the_subscription-PnfdOnBoardingNotification': + #ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.10 + parameters: + - 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 + + post: + summary: Notify about NSD and PNFD changes + description: > + This resource represents a notification endpoint. The server can use + this resource to send notifications to a subscribed + client, which has provided the URI of this resource during the subscription process. + + The POST method delivers a notification from the server to the client. + This method shall support the URI query parameters, request and + response data structures, and response codes, as + specified in the Table 5.4.10.3.1-2. + parameters: + - name: PnfdOnBoardingNotification + description: > + A notification about the successful on-boarding of a PNFD. + in: body + required: true + schema: + $ref: "definitions/SOL005NSDescriptorManagementNotification_def.yaml#/definitions/PnfdOnBoardingNotification" + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231. + in: header + required: true + type: string + - name: Content-Type + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231. + in: header + required: true + type: string + responses: + 204: + description: > + 204 No Content + + The notification was 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: "../NSDManagement/responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/406" + 500: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/503" + + get: + summary: Test the notification endpoint + description: > + This resource represents a notification endpoint. The server can use + this resource to send notifications to a subscribed + client, which has provided the URI of this resource during the subscription process. + + 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 Table 5.4.10.3.2-2 for URI query parameters, + request and response data structures, and response codes. + parameters: + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231. + in: header + required: true + type: string + responses: + 204: + description: > + 204 NO CONTENT + + The notification endpoint was 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: "../NSDManagement/responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/406" + 500: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/503" + + '/URI_is_provided_by_the_client_when_creating_the_subscription-PnfdOnBoardingFailureNotification': + #ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.10 + parameters: + - 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 + + post: + summary: Notify about NSD and PNFD changes + description: > + This resource represents a notification endpoint. The server can use + this resource to send notifications to a subscribed + client, which has provided the URI of this resource during the subscription process. + + The POST method delivers a notification from the server to the client. + This method shall support the URI query parameters, request and + response data structures, and response codes, as + specified in the Table 5.4.10.3.1-2. + parameters: + - name: PnfdOnBoardingFailureNotification + description: > + A notification about the failure of on-boarding a PNFD. + in: body + required: true + schema: + $ref: "definitions/SOL005NSDescriptorManagementNotification_def.yaml#/definitions/PnfdOnBoardingFailureNotification" + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231. + in: header + required: true + type: string + - name: Content-Type + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231. + in: header + required: true + type: string + responses: + 204: + description: > + 204 NO CONTENT + + The notification was 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: "../NSDManagement/responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../NSDManagement//responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/406" + 500: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/503" + + get: + summary: Test the notification endpoint + description: > + This resource represents a notification endpoint. The server can use + this resource to send notifications to a subscribed + client, which has provided the URI of this resource during the subscription process. + + 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 Table 5.4.10.3.2-2 for URI query parameters, + request and response data structures, and response codes. + parameters: + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231. + in: header + required: true + type: string + responses: + 204: + description: > + 204 NO CONTENT + + The notification endpoint was 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: "../NSDManagement/responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/406" + 500: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/503" + + '/URI_is_provided_by_the_client_when_creating_the_subscription-PnfdDeletionNotification': + #ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.10 + parameters: + - 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 + + post: + summary: Notify about NSD and PNFD changes + description: > + This resource represents a notification endpoint. The server can use + this resource to send notifications to a subscribed + client, which has provided the URI of this resource during the subscription process. + + The POST method delivers a notification from the server to the client. + This method shall support the URI query parameters, request and + response data structures, and response codes, as + specified in the Table 5.4.10.3.1-2. + parameters: + - name: PnfdDeletionNotification + description: > + A notification about the deletion of an on-boarded PNFD. + in: body + required: true + schema: + $ref: "definitions/SOL005NSDescriptorManagementNotification_def.yaml#/definitions/PnfdDeletionNotification" + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231. + in: header + required: true + type: string + - name: Content-Type + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231. + in: header + required: true + type: string + responses: + 204: + description: > + 204 No Content + + The notification was 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: "../NSDManagement/responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/406" + 500: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/503" + + get: + summary: Test the notification endpoint + description: > + This resource represents a notification endpoint. The server can use + this resource to send notifications to a subscribed + client, which has provided the URI of this resource during the subscription process. + + 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 Table 5.4.10.3.2-2 for URI query parameters, + request and response data structures, and response codes. + parameters: + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231. + in: header + required: true + type: string + responses: + 204: + description: > + 204 NO CONTENT + + The notification endpoint was 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: "../NSDManagement/responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/406" + 500: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/503" diff --git a/src/SOL005/NSDManagementNotification/definitions/SOL005NSDescriptorManagementNotification_def.yaml b/src/SOL005/NSDManagementNotification/definitions/SOL005NSDescriptorManagementNotification_def.yaml new file mode 100644 index 0000000000000000000000000000000000000000..cb5ce1f2c31d992f0c59f036d1eb58e71061b1d2 --- /dev/null +++ b/src/SOL005/NSDManagementNotification/definitions/SOL005NSDescriptorManagementNotification_def.yaml @@ -0,0 +1,302 @@ +# Copyright (c) ETSI 2017. +# https://forge.etsi.org/etsi-forge-copyright-notice.txt +definitions: + NsdOnBoardingNotification: + type: object + required: + - _links + - id + - notificationType + - subscriptionId + - nsdId + - nsdInfoId + - timeStamp + properties: + id: + $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + notificationType: + type: string + description: > + Discriminator for the different notification types. Shall be + set to "NsdOnboardingNotification" for this notification type. + subscriptionId: + $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + timeStamp: + description: > + Date-time of the generation of the notification. + $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/DateTime" + nsdInfoId: + $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + nsdId: + $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + _links: + $ref: "#/definitions/NsdmLinks" + description: > + This type represents an NSD management notification, which informs + the receiver of the successful on-boarding of an NSD. It shall comply with + the provisions defined in Table 5.5.2.9-1. The support of this notification + is mandatory. The notification shall be triggered by the NFVO when the " + nsdOnboardingState" attribute of a new NSD has changed to "ONBOARDED". + + NsdOnBoardingFailureNotification: + type: object + required: + - _links + - id + - notificationType + - subscriptionId + - nsdInfoId + - onboardingFailureDetails + - timeStamp + properties: + id: + $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + notificationType: + type: string + description: > + Discriminator for the different notification types. Shall be + set to "NsdOnboardingFailureNotification" for this notification type. + subscriptionId: + $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + timeStamp: + description: > + Date-time of the generation of the notification. + $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/DateTime" + nsdInfoId: + $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + nsdId: + $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + onboardingFailureDetails: + $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/ProblemDetails" + _links: + $ref: "#/definitions/NsdmLinks" + description: > + This type represents an NSD management notification, which informs + the receiver of the failure of on-boarding an NSD. It shall comply with the + provisions defined in Table 5.5.2.10-1. The support of this notification is + mandatory. The notification shall be triggered by the NFVO when the on-boarding + of an NSD has failed. + + NsdChangeNotification: + type: object + required: + - _links + - id + - notificationType + - subscriptionId + - nsdId + - nsdInfoId + - nsdOperationalState + - timeStamp + properties: + id: + $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + notificationType: + type: string + description: > + Discriminator for the different notification types. Shall be + set to "NsdChangeNotification" for this notification type. + subscriptionId: + $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + timeStamp: + description: > + Date-time of the generation of the notification. + $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/DateTime" + nsdInfoId: + $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + nsdId: + $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + nsdOperationalState: + $ref: "../../NSDManagement/definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdOperationalStateType" + _links: + $ref: "#/definitions/NsdmLinks" + description: > + This type represents an NSD management notification, which informs + the receiver of a change of the "nsdOperationalState" attribute of an on-boarded + NSD. Changes in the value of the "nsdUsageState" and "nsdOnboardingState" + attributes are not reported. The notification shall comply with the provisions + defined in Table 5.5.2.11-1. The support of this notification is mandatory. + The notification shall be triggered by the NFVO when the value of the "nsdOperationalState" + attribute has changed, and the "nsdOperationalState" attribute has the value + "ONBOARDED". + + NsdDeletionNotification: + type: object + required: + - _links + - id + - notificationType + - subscriptionId + - nsdId + - nsdInfoId + - timeStamp + properties: + id: + $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + notificationType: + type: string + description: > + Discriminator for the different notification types. Shall be + set to "NsdDeletionNotification " for this notification type. + subscriptionId: + $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + timeStamp: + description: > + Date-time of the generation of the notification. + $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/DateTime" + nsdInfoId: + $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + nsdId: + $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + _links: + $ref: "#/definitions/NsdmLinks" + description: > + This type represents an NSD management notification, which informs + the receiver of the deletion of an on-boarded NSD. The notification shall + comply with the provisions defined in Table 5.5.2.12-1. The support of this + notification is mandatory. The notification shall be triggered by the NFVO + when it has deleted an on-boarded NSD. + + PnfdOnBoardingNotification: + type: object + required: + - _links + - id + - notificationType + - subscriptionId + - pnfdId + - pnfdInfoId + - timeStamp + properties: + id: + $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + notificationType: + type: string + description: > + Discriminator for the different notification types. Shall be + set to "PnfdOnboardingNotification" for this notification type. + subscriptionId: + $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + timeStamp: + description: > + Date-time of the generation of the notification. + $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/DateTime" + pnfdInfoId: + $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + pnfdId: + $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + _links: + $ref: "#/definitions/PnfdmLinks" + description: > + This type represents a PNFD management notification, which informs + the receiver of the successful on-boarding of aPNFD. It shall comply with + the provisions defined in Table 5.5.2.13-1. The support of this notification + is mandatory. The notification is triggered when a new PNFD is on-boarded. + + PnfdOnBoardingFailureNotification: + type: object + required: + - _links + - id + - notificationType + - subscriptionId + - onboardingFailureDetails + - pnfdInfoId + - timeStamp + properties: + id: + $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + notificationType: + type: string + description: > + Discriminator for the different notification types. Shall be + set to "PnfdOnboardingFailureNotification" for this notification type. + subscriptionId: + $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + timeStamp: + description: > + Date-time of the generation of the notification. + $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/DateTime" + pnfdInfoId: + $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + pnfdId: + $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + onboardingFailureDetails: + $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/ProblemDetails" + _links: + $ref: "#/definitions/PnfdmLinks" + description: > + This type represents a PNFD management notification, which informs + the receiver of the failure of on-boarding a PNFD. It shall comply with + the provisions defined in Table 5.5.2.14-1. The support of this notification + is mandatory. The notification is triggered when the on-boarding of a PNFD + fails. + + PnfdDeletionNotification: + type: object + required: + - _links + - id + - notificationType + - subscriptionId + - pnfdId + - pnfdInfoId + - timeStamp + properties: + id: + type: string + description: > + Identifier of this notification. If a notification is sent multiple + times due to multiple subscriptions, the "id" attribute of all these + notifications shall have the same value. + notificationType: + type: string + description: > + Discriminator for the different notification types. Shall be + set to "PnfdDeletionNotification " for this notification type. + subscriptionId: + $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + timeStamp: + description: > + Date-time of the generation of the notification. + $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/DateTime" + pnfdInfoId: + $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + pnfdId: + $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + _links: + $ref: "#/definitions/PnfdmLinks" + description: > + This type represents a PNFD management notification, which informs + the receiver of the deletion of an on-boarded PNFD. The notification shall + comply with the provisions defined in Table 5.5.2.15-1. The support of this + notification is mandatory. The notification is triggered when an on-boarded + PNFD is deleted. + + NsdmLinks: + type: object + required: + - nsdInfo + - subscription + properties: + nsdInfo: + $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Link" + subscription: + $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Link" + description: > + This type represents the links to resources that an NSD management + notification can contain. + + PnfdmLinks: + type: object + required: + - pnfdInfo + - subscription + properties: + pnfdInfo: + $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Link" + subscription: + $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Link" + description: > + This type represents the links to resources that a PNFD management + notification can contain. diff --git a/src/SOL005/NSFaultManagementNotification/NSFaultManagementNotification.yaml b/src/SOL005/NSFaultManagementNotification/NSFaultManagementNotification.yaml new file mode 100644 index 0000000000000000000000000000000000000000..2370c8a0a5a0b5e4b532ab65e891a86a8e28d6a6 --- /dev/null +++ b/src/SOL005/NSFaultManagementNotification/NSFaultManagementNotification.yaml @@ -0,0 +1,323 @@ +swagger: "2.0" + +info: + version: "1.0.0" + title: "SOL005 - NS Fault Management Notification interface" + description: > + SOL005 - NS Fault Management Notification interface + + + IMPORTANT: Please note that this file might be not aligned to the current + version of the ETSI Group Specification it refers to. In case of + discrepancies the published ETSI Group Specification takes precedence. + + + In clause 4.3.2 of ETSI GS NFV-SOL 002 v2.4.1, an attribute-based + filtering mechanism is defined. This mechanism is currently not + included in the corresponding OpenAPI design for this GS version. Changes + to the attribute-based filtering mechanism are being considered in v2.5.1 + of this GS for inclusion in the corresponding future ETSI NFV OpenAPI + design. + + Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + license: + name: "ETSI Forge copyright notice" + url: https://forge.etsi.org/etsi-forge-copyright-notice.txt + +externalDocs: + description: ETSI GS NFV-SOL 005 V2.4.1 + url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.04.01_60/gs_NFV-SOL005v020401p.pdf + +basePath: /callback/v1 + +schemes: + - http + - https + +consumes: + - application/json +produces: + - application/json +paths: + ################################################################################## + # Notification endpoint NS Fault Management # + ################################################################################## + '/URI_is_provided_by_the_client_when_creating_the_subscription-AlarmNotification': + post: + summary: Notify about NS alarms + description: > + The POST method notifies an alarm related to a NS or that the alarm list has been rebuilt. + + parameters: + - name: alarmNotification + description: > + Information of a NS alarm. + in: body + required: true + schema: + properties: + AlarmNotification: + $ref: "definitions/SOL005NSFaultManagementNotification_def.yaml#/definitions/AlarmNotification" + - 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: Content-Type + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231 + in: header + required: true + 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 + + The notification was delivered 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: "../NSFaultManagement/responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../NSFaultManagement/responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../NSFaultManagement/responses/SOL005_resp.yaml#/responses/403" + 500: + $ref: "../NSFaultManagement/responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../NSFaultManagement/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 + post: + summary: Notify about NS alarms + description: > + The POST method notifies an alarm related to a NS or that the alarm list has been rebuilt. + parameters: + - name: alarmClearedNotification + description: > + Information of the clearance of a NS alarm. + in: body + required: true + schema: + properties: + AlarmClearedNotification: + $ref: "definitions/SOL005NSFaultManagementNotification_def.yaml#/definitions/AlarmClearedNotification" + - 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: Content-Type + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231 + in: header + required: true + 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 + + The notification was delivered 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: "../NSFaultManagement/responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../NSFaultManagement/responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../NSFaultManagement/responses/SOL005_resp.yaml#/responses/403" + 500: + $ref: "../NSFaultManagement/responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../NSFaultManagement/responses/SOL005_resp.yaml#/responses/503" + + '/URI_is_provided_by_the_client_when_creating_the_subscription-AlarmListRebuiltNotification': + post: + summary: Notify about NS alarms + description: > + The POST method notifies an alarm related to a NS or that the alarm list has been rebuilt. + parameters: + - name: AlarmListRebuiltNotification + description: > + Information that the alarm list has been rebuilt by the NFVO. + in: body + required: true + schema: + properties: + AlarmListRebuiltNotification: + $ref: "definitions/SOL005NSFaultManagementNotification_def.yaml#/definitions/AlarmListRebuiltNotification" + - 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: Content-Type + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231 + in: header + required: true + 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 + + The notification was delivered 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: "../NSFaultManagement/responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../NSFaultManagement/responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../NSFaultManagement/responses/SOL005_resp.yaml#/responses/403" + 500: + $ref: "../NSFaultManagement/responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../NSFaultManagement/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 + + The notification endpoint was 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 + 400: + $ref: "../NSFaultManagement/responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../NSFaultManagement/responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../NSFaultManagement/responses/SOL005_resp.yaml#/responses/403" + 500: + $ref: "../NSFaultManagement/responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../NSFaultManagement/responses/SOL005_resp.yaml#/responses/503" \ No newline at end of file diff --git a/src/SOL005/NSFaultManagementNotification/definitions/SOL005NSFaultManagementNotification_def.yaml b/src/SOL005/NSFaultManagementNotification/definitions/SOL005NSFaultManagementNotification_def.yaml new file mode 100644 index 0000000000000000000000000000000000000000..a02ecdb6e5a0949f7a8e432b2eb1f1b2cd0de7ac --- /dev/null +++ b/src/SOL005/NSFaultManagementNotification/definitions/SOL005NSFaultManagementNotification_def.yaml @@ -0,0 +1,173 @@ +# Copyright (c) ETSI 2017. +# https://forge.etsi.org/etsi-forge-copyright-notice.txt +definitions: + AlarmNotification: + description: > + This type represents an alarm notification about NS faults. + type: object + required: + - id + - notificationType + - subscriptionId + - timeStamp + - alarm + - _links + properties: + id: + description: > + Identifier of this notification. If a notification is sent + multiple times due to multiple subscriptions, the "id" + attribute of all these notifications shall have the same value. + $ref: "../../NSFaultManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + notificationType: + description: > + Discriminator for the different notification types. + Shall be set to "AlarmNotification" for this notification type. + type: string + enum: + - AlarmClearedNotification + subscriptionId: + description: > + Identifier of the subscription that this notification relates to. + $ref: "../../NSFaultManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + timeStamp: + description: > + Date-time of the generation of the notification. + $ref: "../../NSFaultManagement/definitions/SOL005_def.yaml#/definitions/DateTime" + alarm: + description: > + Information about an alarm including AlarmId, affected + NS identifier, and FaultDetails. + $ref: "../../NSFaultManagement/definitions/SOL005NSFaultManagement_def.yaml#/definitions/Alarm" + alarmClearedTime: + description: > + The time stamp indicating when the alarm was cleared. + _links: + description: > + Links to resources related to this notification. + type: object + required: + - subscription + - alarm + properties: + subscription: + description: > + Link to the related subscription. + $ref: "../../NSFaultManagement/definitions/SOL005_def.yaml#/definitions/Link" + alarm: + description: > + Link to the resource that represents the related alarm. + $ref: "../../NSFaultManagement/definitions/SOL005_def.yaml#/definitions/Link" + + AlarmClearedNotification: + description: > + This type represents an alarm cleared notification about VNF faults. + The notification shall be triggered by the VNFM when an alarm has been + cleared. + type: object + required: + - id + - notificationType + - subscriptionId + - timeStamp + - alarmId + - alarmClearedTime + - _links + properties: + id: + description: > + Identifier of this notification. If a notification is sent multiple + times due to multiple subscriptions, the "id" attribute of all these + notifications shall have the same value. + $ref: "../../NSFaultManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + notificationType: + description: > + Discriminator for the different notification types. Shall be set to + "AlarmClearedNotification" for this notification type. + type: string + enum: + - AlarmClearedNotification + subscriptionId: + description: > + Identifier of the subscription that this notification relates to. + $ref: "../../NSFaultManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + timeStamp: + description: > + Date-time of the generation of the notification. + $ref: "../../NSFaultManagement/definitions/SOL005_def.yaml#/definitions/DateTime" + alarmId: + description: > + Alarm identifier. + $ref: "../../NSFaultManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + alarmClearedTime: + description: > + The time stamp indicating when the alarm was cleared. + _links: + description: > + Links to resources related to this notification. + type: object + required: + - subscription + - alarm + properties: + subscription: + description: > + Link to the related subscription. + $ref: "../../NSFaultManagement/definitions/SOL005_def.yaml#/definitions/Link" + alarm: + description: > + Link to the resource that represents the related alarm. + $ref: "../../NSFaultManagement/definitions/SOL005_def.yaml#/definitions/Link" + + AlarmListRebuiltNotification: + description: > + This type represents a notification that the alarm list has been + rebuilt, e.g. if the VNFM detects its storage holding the alarm + list is corrupted. + The notification shall be triggered by the VNFM when the alarm list has + been rebuilt. + type: object + required: + - id + - notificationType + - subscriptionId + - timeStamp + - _links + properties: + id: + description: > + Identifier of this notification. If a notification is sent multiple + times due to multiple subscriptions, the "id" attribute of all these + notifications shall have the same value. + $ref: "../../NSFaultManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + notificationType: + description: > + Discriminator for the different notification types. Shall be set to + "AlarmListRebuiltNotification" for this notification type. + type: string + enum: + - AlarmListRebuiltNotification + subscriptionId: + description: > + Identifier of the subscription that this notification relates to. + $ref: "../../NSFaultManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + timeStamp: + description: > + Date-time of the generation of the notification. + $ref: "../../NSFaultManagement/definitions/SOL005_def.yaml#/definitions/DateTime" + _links: + description: > + Links to resources related to this notification. + type: object + required: + - subscription + - alarms + properties: + subscription: + description: > + Link to the related subscription. + $ref: "../../NSFaultManagement/definitions/SOL005_def.yaml#/definitions/Link" + alarms: + description: > + Link to the alarm list, i.e. the "Alarms" resource. + $ref: "../../NSFaultManagement/definitions/SOL005_def.yaml#/definitions/Link" \ No newline at end of file diff --git a/src/SOL005/NSLifecycleManagement/responses/SOL005_resp.yaml b/src/SOL005/NSLifecycleManagement/responses/SOL005_resp.yaml index cbcd81ac476facc7ee94d2fb7cd99befbe1a6dd0..ed2d9c21966b79b22bbd709a2ffe5e0267bebbc7 100644 --- a/src/SOL005/NSLifecycleManagement/responses/SOL005_resp.yaml +++ b/src/SOL005/NSLifecycleManagement/responses/SOL005_resp.yaml @@ -332,6 +332,33 @@ minimum: 1 schema: $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + + 409: + description: > + 409 CONFLICT + headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + 412: description: > Precondition Failed diff --git a/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml b/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml new file mode 100644 index 0000000000000000000000000000000000000000..805df4f07a6023271ca185e6fa71ce0b1625c5ef --- /dev/null +++ b/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml @@ -0,0 +1,379 @@ +swagger: "2.0" + +info: + version: "1.0.0" + title: "SOL005 - NS Lifecycle Management Notification interface" + description: > + SOL005 - NS Lifecycle Management Notification interface + + + IMPORTANT: Please note that this file might be not aligned to the current + version of the ETSI Group Specification it refers to. In case of + discrepancies the published ETSI Group Specification takes precedence. + + + In clause 4.3.2 of ETSI GS NFV-SOL 002 v2.4.1, an attribute-based + filtering mechanism is defined. This mechanism is currently not + included in the corresponding OpenAPI design for this GS version. Changes + to the attribute-based filtering mechanism are being considered in v2.5.1 + of this GS for inclusion in the corresponding future ETSI NFV OpenAPI + design. + + Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + license: + name: "ETSI Forge copyright notice" + url: https://forge.etsi.org/etsi-forge-copyright-notice.txt + +externalDocs: + description: ETSI GS NFV-SOL 005 V2.4.1 + url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.04.01_60/gs_NFV-SOL005v020401p.pdf + +basePath: /callback/v1 + +schemes: + - http + - https + +consumes: + - application/json +produces: + - application/json +paths: + ################################################################################## + # Notification endpoint NS Lifecycle Management # + ################################################################################## + '/URI_is_provided_by_the_client_when_creating_the_subscription-NsLcmOperationOccurrenceNotification': + post: + summary: Notify about NS lifecycle change + description: > + The POST method delivers a notification from the server to the client. + This method shall support the URI query parameters, request and response data structures, and response codes, as + specified in the Tables 6.4.18.3.1-1 and 6.4.18.3.1-2. + + parameters: + - name: NsLcmOperationOccurrenceNotification + description: > + A notification about lifecycle changes triggered by a NS LCM. + operation occurrence. + in: body + required: true + schema: + properties: + NsLcmOperationOccurrenceNotification: + $ref: "definitions/SOL005NSLifecycleManagementNotification_def.yaml#/definitions/NsLcmOperationOccurrenceNotification" + - 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: Content-Type + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231 + in: header + required: true + 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 + + The notification was 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: "../NSLifecycleManagement/responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../NSLifecycleManagement/responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../NSLifecycleManagement/responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../NSLifecycleManagement/responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../NSLifecycleManagement/responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../NSLifecycleManagement/responses/SOL005_resp.yaml#/responses/406" + 409: + $ref: "../NSLifecycleManagement/responses/SOL005_resp.yaml#/responses/409" + 416: + $ref: "../NSLifecycleManagement/responses/SOL005_resp.yaml#/responses/416" + 500: + $ref: "../NSLifecycleManagement/responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../NSLifecycleManagement/responses/SOL005_resp.yaml#/responses/503" + + '/URI_is_provided_by_the_client_when_creating_the_subscription-NsIdentifierCreationNotification': + post: + summary: Notify about NS lifecycle change + description: > + The POST method delivers a notification from the server to the client. + This method shall support the URI query parameters, request and response data structures, and response codes, as + specified in the Tables 6.4.18.3.1-1 and 6.4.18.3.1-2. + + parameters: + - name: NsIdentifierCreationNotification + description: > + A notification about the creation of a NS identifier and the related + NS instance resource. + in: body + required: true + schema: + properties: + NsIdentifierCreationNotification: + $ref: "definitions/SOL005NSLifecycleManagementNotification_def.yaml#/definitions/NsIdentifierCreationNotification" + - 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: Content-Type + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231 + in: header + required: true + 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 + + The notification was 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: "../NSLifecycleManagement/responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../NSLifecycleManagement/responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../NSLifecycleManagement/responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../NSLifecycleManagement/responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../NSLifecycleManagement/responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../NSLifecycleManagement/responses/SOL005_resp.yaml#/responses/406" + 409: + $ref: "../NSLifecycleManagement/responses/SOL005_resp.yaml#/responses/409" + 416: + $ref: "../NSLifecycleManagement/responses/SOL005_resp.yaml#/responses/416" + 500: + $ref: "../NSLifecycleManagement/responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../NSLifecycleManagement/responses/SOL005_resp.yaml#/responses/503" + + '/URI_is_provided_by_the_client_when_creating_the_subscription-NsIdentifierDeletionNotification': + post: + summary: Notify about NS lifecycle change + description: > + The POST method delivers a notification from the server to the client. + This method shall support the URI query parameters, request and response data structures, and response codes, as + specified in the Tables 6.4.18.3.1-1 and 6.4.18.3.1-2. + + parameters: + - name: NsIdentifierDeletionNotification + description: > + A notification about the deletion of a NS identifier and the related + NS instance resource. + in: body + required: true + schema: + properties: + NsIdentifierDeletionNotification: + $ref: "definitions/SOL005NSLifecycleManagementNotification_def.yaml#/definitions/NsIdentifierDeletionNotification" + - 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: Content-Type + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231 + in: header + required: true + 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 + + The notification was 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: "../NSLifecycleManagement/responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../NSLifecycleManagement/responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../NSLifecycleManagement/responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../NSLifecycleManagement/responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../NSLifecycleManagement/responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../NSLifecycleManagement/responses/SOL005_resp.yaml#/responses/406" + 409: + $ref: "../NSLifecycleManagement/responses/SOL005_resp.yaml#/responses/409" + 416: + $ref: "../NSLifecycleManagement/responses/SOL005_resp.yaml#/responses/416" + 500: + $ref: "../NSLifecycleManagement/responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../NSLifecycleManagement/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 + + The notification endpoint was 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: "../NSLifecycleManagement/responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../NSLifecycleManagement/responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../NSLifecycleManagement/responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../NSLifecycleManagement/responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../NSLifecycleManagement/responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../NSLifecycleManagement/responses/SOL005_resp.yaml#/responses/406" + 409: + $ref: "../NSLifecycleManagement/responses/SOL005_resp.yaml#/responses/409" + 416: + $ref: "../NSLifecycleManagement/responses/SOL005_resp.yaml#/responses/416" + 500: + $ref: "../NSLifecycleManagement/responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../NSLifecycleManagement/responses/SOL005_resp.yaml#/responses/503" \ No newline at end of file diff --git a/src/SOL005/NSLifecycleManagementNotification/definitions/SOL005NSLifecycleManagementNotification_def.yaml b/src/SOL005/NSLifecycleManagementNotification/definitions/SOL005NSLifecycleManagementNotification_def.yaml new file mode 100644 index 0000000000000000000000000000000000000000..8f538dd276659a2cd3d3749fd5e6e307a8e2a5f9 --- /dev/null +++ b/src/SOL005/NSLifecycleManagementNotification/definitions/SOL005NSLifecycleManagementNotification_def.yaml @@ -0,0 +1,174 @@ +# Copyright (c) ETSI 2017. +# https://forge.etsi.org/etsi-forge-copyright-notice.txt +definitions: + NsLcmOperationOccurrenceNotification: + type: object + required: + - id + - nsInstanceId + - nsLcmOpOccId + - subscriptionId + properties: + id: + description: > + Identifier of this notification. If a notification is sent + multiple times due to multiple subscriptions, the "id" + attribute of all these notifications shall have the same value. + $ref: "../../NSLifecycleManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + nsInstanceId: + description: > + The identifier of the NS instance affected. + $ref: "../../NSLifecycleManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + nsLcmOpOccId: + description: > + The identifier of the NS lifecycle operation occurrence + associated to the notification. + $ref: "../../NSLifecycleManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + operation: + description: > + The lifecycle operation. + $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsLcmOpType" + notificationType: + description: > + Discriminator for the different notification types. Shall be + set to "NsLcmOperationOccurrenceNotification" for this + notification type. + type: string + subscriptionId: + description: > + Identifier of the subscription that this notification relates to. + $ref: "../../NSLifecycleManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + timestamp: + description: > + Date-time of the generation of the notification. + $ref: "../../NSLifecycleManagement/definitions/SOL005_def.yaml#/definitions/DateTime" + notificationStatus: + description: > + Indicates whether this notification reports about the start + of a NS lifecycle operation or the result of a NS lifecycle + operation. + Permitted values: + - START: Informs about the start of the NS LCM + operation occurrence. + - RESULT: Informs about the final or intermediate + result of the NS LCM operation occurrence. + type: string + enum: + - START + - RESULT + operationState: + description: > + The state of the NS lifecycle operation occurrence. + $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsLcmOperationStateType" + isAutomaticInvocation: + description: > + Set to true if this NS LCM operation occurrence has + been automatically triggered by the NFVO. This occurs + in case of auto-scaling, auto-healing and when a nested + NS is modified as a result of an operation on its + composite NS. Set to false otherwise. + type: boolean + affectedVnf: + description: > + Information about the VNF instances that were affected + during the lifecycle operation. + $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedVnf" + affectedPnf: + description: > + Information about the PNF instances that were affected + during the lifecycle operation. + $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedPnf" + affectedVl: + description: > + Information about the VL instances that were affected + during the lifecycle operation. + type: array + items: + $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedVirtualLink" + affectedVnffg: + description: > + Information about the VNFFG instances that were + affected during the lifecycle operation. + type: array + items: + $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedVnffg" + affectedNs: + description: > + Information about the SAP instances that were affected + during the lifecycle operation. See note. + type: array + items: + $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedSap" + affectedSap: + description: > + The lifecycle operation. + $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsLcmOpType" + 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 + "FAILED", and shall be absent otherwise. + $ref: "../../NSLifecycleManagement/definitions/SOL005_def.yaml#/definitions/ProblemDetails" + _links: + description: > + Links to resources related to this notification. + $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/LccnLinks" + + NsIdentifierCreationNotification: + type: object + required: + - subscriptionId + - nsInstanceId + properties: + notificationType: + description: > + Discriminator for the different notification types. + Shall be set to "NsIdentifierDeletionNotification" for this + notification type. + type: string + subscriptionId: + description: > + Identifier of the subscription that this notification relates to. + $ref: "../../NSLifecycleManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + timestamp: + description: > + Date-time of the generation of the notification. + $ref: "../../NSLifecycleManagement/definitions/SOL005_def.yaml#/definitions/DateTime" + nsInstanceId: + description: > + The created NS instance identifier + $ref: "../../NSLifecycleManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + _links: + description: > + Links to resources related to this notification. + $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/LccnLinks" + + NsIdentifierDeletionNotification: + type: object + required: + - subscriptionId + - nsInstanceId + properties: + notificationType: + description: > + Discriminator for the different notification types. + Shall be set to "NsIdentifierDeletionNotification" for this + notification type. + type: string + subscriptionId: + description: > + Identifier of the subscription that this notification relates to. + $ref: "../../NSLifecycleManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + timestamp: + description: > + Date-time of the generation of the notification. + $ref: "../../NSLifecycleManagement/definitions/SOL005_def.yaml#/definitions/DateTime" + nsInstanceId: + description: > + The created NS instance identifier + $ref: "../../NSLifecycleManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + _links: + description: > + Links to resources related to this notification. + $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/LccnLinks" \ No newline at end of file diff --git a/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml b/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml new file mode 100644 index 0000000000000000000000000000000000000000..e731a1ceab6046006121039bcb7572cf020e6aae --- /dev/null +++ b/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml @@ -0,0 +1,319 @@ +swagger: "2.0" + +info: + version: "1.2.0" + title: "SOL005 - NS Performance Management Notification interface" + description: > + SOL005 - NS Performance Management Notification interface + + + IMPORTANT: Please note that this file might be not aligned to the current + version of the ETSI Group Specification it refers to. In case of + discrepancies the published ETSI Group Specification takes precedence. + + + In clause 4.3.2 of ETSI GS NFV-SOL 002 v2.4.1, an attribute-based + filtering mechanism is defined. This mechanism is currently not + included in the corresponding OpenAPI design for this GS version. Changes + to the attribute-based filtering mechanism are being considered in v2.5.1 + of this GS for inclusion in the corresponding future ETSI NFV OpenAPI + design. + + Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + license: + name: "ETSI Forge copyright notice" + 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 + +basePath: /callback/v1 + +schemes: + - http + - https + +consumes: + - application/json +produces: + - application/json +paths: + ################################################################################## + # Notification endpoint NS Performance Management # + ################################################################################## + '/URI_is_provided_by_the_client_when_creating_the_subscription-PerformanceInformationAvailableNotification': + parameters: + - 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 + + 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. + 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, + + parameters: + - name: PerformanceInformationAvailableNotification + description: > + Notification about performance information availability. + in: body + required: true + schema: + $ref: "definitions/SOL005NSPerformanceManagementNotification_def.yaml#/definitions/PerformanceInformationAvailableNotification" + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Content-Type + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231 + in: header + required: true + type: string + responses: + 204: + description: > + 204 NO CONTENT + + The notification was 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: "../NSDManagement/responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/406" + 500: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../NSDManagement/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. + This method shall follow the provisions specified in the + Tables 7.4.9.3.2-1 and 7.4.9.3.2-2 for URI query parameters, + request and response data structures, and response codes. + parameters: + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231. + in: header + required: true + type: string + responses: + 204: + description: > + 204 No Content + + The notification endpoint was 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: "../NSDManagement/responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/406" + 500: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/503" + + '/URI_is_provided_by_the_client_when_creating_the_subscription-ThresholdCrossedNotification': + parameters: + - 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 + + 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. + 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, + + parameters: + - name: ThresholdCrossedNotification + description: > + Notification about threshold crossing. + in: body + required: true + schema: + $ref: "definitions/SOL005NSPerformanceManagementNotification_def.yaml#/definitions/ThresholdCrossedNotification" + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Content-Type + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231. + in: header + required: true + type: string + responses: + 204: + description: > + 204 NO CONTENT + + The notification was 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: "../NSDManagement/responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/406" + 500: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../NSDManagement/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. + This method shall follow the provisions specified in the + Tables 7.4.9.3.2-1 and 7.4.9.3.2-2 for URI query parameters, + request and response data structures, and response codes. + parameters: + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231. + in: header + required: true + type: string + responses: + 204: + description: > + 204 No Content + + The notification endpoint was 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: "../NSDManagement/responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/406" + 500: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../NSDManagement/responses/SOL005_resp.yaml#/responses/503" \ No newline at end of file diff --git a/src/SOL005/NSPerformanceManagementNotification/definitions/SOL005NSPerformanceManagementNotification_def.yaml b/src/SOL005/NSPerformanceManagementNotification/definitions/SOL005NSPerformanceManagementNotification_def.yaml new file mode 100644 index 0000000000000000000000000000000000000000..9c5064fb27f6047cbe24861fd6e4bfd86ffd523a --- /dev/null +++ b/src/SOL005/NSPerformanceManagementNotification/definitions/SOL005NSPerformanceManagementNotification_def.yaml @@ -0,0 +1,173 @@ +# Copyright (c) ETSI 2017. +# https://forge.etsi.org/etsi-forge-copyright-notice.txt +definitions: + PerformanceInformationAvailableNotification: + description: > + This notification informs the receiver that performance information is available. + type: object + required: + - id + - notificationType + - subscriptionId + - timeStamp + - objectInstanceId + - _links + properties: + id: + description: > + Identifier of this notification. If a notification is + sent multiple times due to multiple + subscriptions, the "id" attribute of all these + notifications shall have the same value. + $ref: "../../NSPerformanceManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + notificationType: + description: > + Discriminator for the different notification types. + Shall be set to + "PerformanceInformationAvailableNotification" + for this notification type. + type: string + subscriptionId: + description: > + Identifier of the subscription that this notification relates to. + $ref: "../../NSPerformanceManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + timeStamp: + description: > + Date and time of the generation of the notification. + $ref: "../../NSPerformanceManagement/definitions/SOL005_def.yaml#/definitions/DateTime" + objectInstanceId: + description: > + Identifier that identifies a NS instance. + $ref: "../../NSPerformanceManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + _links: + description: > + Links to resources related to this notification. + type: object + required: + - subscription + - pmJob + - performanceReport + properties: + subscription: + description: > + Link to the related subscription. + $ref: "../../NSPerformanceManagement/definitions/SOL005_def.yaml#/definitions/Link" + objectInstance: + description: > + Link to the resource representing the NS + instance to which the notified change applies. + Shall be present if the NS instance information + is accessible as a resource. + $ref: "../../NSPerformanceManagement/definitions/SOL005_def.yaml#/definitions/Link" + pmJob: + description: > + Link to the resource that represents the PM job + for which performance information is available. + $ref: "../../NSPerformanceManagement/definitions/SOL005_def.yaml#/definitions/Link" + performanceReport: + description: > + Link from which the available performance + information of data type "PerformanceReport" + (see clause 7.5.2.10) can be obtained. + This link should point to an "Individual + performance report" resource as defined in + clause 6.4.3a. + $ref: "../../NSPerformanceManagement/definitions/SOL005_def.yaml#/definitions/Link" + + ThresholdCrossedNotification: + description: > + This type represents a notification that is sent when a threshold has been crossed. + type: object + required: + - id + - notificationType + - subscriptionId + - timeStamp + - thresholdId + - crossingDirection + - objectInstanceId + - performanceMetric + - performanceValue + - _links + properties: + id: + description: > + Identifier of this notification. If a notification is + sent multiple times due to multiple + subscriptions, the "id" attribute of all these + notifications shall have the same value.. + $ref: "../../NSPerformanceManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + notificationType: + description: > + Discriminator for the different notification types. + Shall be set to "ThresholdCrossedNotification " + for this notification type. + type: string + subscriptionId: + description: > + Identifier of the subscription that this notification relates to. + $ref: "../../NSPerformanceManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + timeStamp: + description: > + Date and time of the generation of the notification. + $ref: "../../NSPerformanceManagement/definitions/SOL005_def.yaml#/definitions/DateTime" + thresholdId: + description: > + Identifier of the threshold which has been crossed. + $ref: "../../NSPerformanceManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + crossingDirection: + description: > + An indication of whether the threshold was crossed in upward or downward direction. + $ref: "#/definitions/CrossingDirectionType" + objectInstanceId: + description: > + Identifier that identifies a NS instance. + $ref: "../../NSPerformanceManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + performanceMetric: + description: > + Performance metric associated with the threshold. + This attribute shall contain the related "Measurement Name" value + as defined in clause 7.2 of ETSI GS NFV-IFA 027. + type: string + performanceValue: + description: > + Value of the metric that resulted in threshold crossing. + The type of this attribute shall correspond to the related + "Measurement Unit" as defined in clause 7.2 of ETSI GS NFV-IFA 027. + type: object + _links: + description: > + Links to resources related to this notification. + type: object + required: + - subscription + - objectInstance + - threshold + properties: + subscription: + description: > + Link to the related subscription. + $ref: "../../NSPerformanceManagement/definitions/SOL005_def.yaml#/definitions/Link" + objectInstance: + description: > + Link to the resource representing the NS + instance to which the notified change applies. + Shall be present if the NS instance information + is accessible as a resource.. + $ref: "../../NSPerformanceManagement/definitions/SOL005_def.yaml#/definitions/Link" + threshold: + description: > + Link to the resource that represents the + threshold that was crossed. + $ref: "../../NSPerformanceManagement/definitions/SOL005_def.yaml#/definitions/Link" + + CrossingDirectionType: + description: > + The enumeration CrossingDirectionType shall comply with the provisions. + Acceptable Values are: + UP - The threshold was crossed in upward direction. + DOWN - The threshold was crossed in downward direction. + type: string + enum: + - UP + - DOWN \ No newline at end of file diff --git a/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml index 3b0a479427e45d00da8f947cd3db629169db16c1..b3e80075caeb4b5a7d86de795f8dec09b571fd02 100644 --- a/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml @@ -124,7 +124,7 @@ paths: items: properties: VnfPkgInfo: - $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/VnfPkgInfo" + $ref: "definitions/SOL005VNFPackageManagement_def.yaml#/definitions/VnfPkgInfo" 400: $ref: "responses/SOL005_resp.yaml#/responses/400" 401: @@ -179,7 +179,7 @@ paths: - "CreateVnfPkgInfoRequest" properties: CreateVnfPkgInfoRequest: - $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/CreateVnfPkgInfoRequest" + $ref: "definitions/SOL005VNFPackageManagement_def.yaml#/definitions/CreateVnfPkgInfoRequest" description: > IndividualVNF package resource creation parameters, as defined in clause 9.5.2.2 @@ -198,7 +198,7 @@ paths: schema: properties: VnfPkgInfo: - $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/VnfPkgInfo" + $ref: "definitions/SOL005VNFPackageManagement_def.yaml#/definitions/VnfPkgInfo" headers: Content-Type: type: "string" @@ -257,7 +257,7 @@ paths: type: "object" properties: VnfPkgInfo: - $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/VnfPkgInfo" + $ref: "definitions/SOL005VNFPackageManagement_def.yaml#/definitions/VnfPkgInfo" headers: Content-Type: type: "string" @@ -347,7 +347,7 @@ paths: - "VnfPkgInfoModifications" properties: VnfPkgInfoModifications: - $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/VnfPkgInfoModifications" + $ref: "definitions/SOL005VNFPackageManagement_def.yaml#/definitions/VnfPkgInfoModifications" description: > Parameters for VNF package information modifications. - name: Authorization @@ -390,7 +390,7 @@ paths: schema: properties: VnfPkgInfoModifications: - $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/VnfPkgInfoModifications" + $ref: "definitions/SOL005VNFPackageManagement_def.yaml#/definitions/VnfPkgInfoModifications" 409: $ref: "responses/VNFPackageManagement_resp.yaml#/responses/409" 400: @@ -723,7 +723,7 @@ paths: - "UploadVnfPkgFromUriRequest" properties: UploadVnfPkgFromUriRequest: - $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/UploadVnfPkgFromUriRequest" + $ref: "definitions/SOL005VNFPackageManagement_def.yaml#/definitions/UploadVnfPkgFromUriRequest" description: > The payload body contains the address information based on which the NFVO can obtain the content of the VNF package. @@ -935,7 +935,7 @@ paths: - "PkgmSubscriptionRequest" properties: PkgmSubscriptionRequest: - $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/PkgmSubscriptionRequest" + $ref: "definitions/SOL005VNFPackageManagement_def.yaml#/definitions/PkgmSubscriptionRequest" description: > Representation of the created subscription resource. The HTTP response shall include a "Location" HTTP header that @@ -968,7 +968,7 @@ paths: items: properties: PkgmSubscription: - $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/PkgmSubscription" + $ref: "definitions/SOL005VNFPackageManagement_def.yaml#/definitions/PkgmSubscription" 303: $ref: "responses/SOL005_resp.yaml#/responses/303" 400: @@ -1047,7 +1047,7 @@ paths: items: properties: PkgmSubscription: - $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/PkgmSubscription" + $ref: "definitions/SOL005VNFPackageManagement_def.yaml#/definitions/PkgmSubscription" 400: $ref: "responses/SOL005_resp.yaml#/responses/400" 401: @@ -1126,7 +1126,7 @@ paths: schema: properties: PkgmSubscription: - $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/PkgmSubscription" + $ref: "definitions/SOL005VNFPackageManagement_def.yaml#/definitions/PkgmSubscription" 400: $ref: "responses/SOL005_resp.yaml#/responses/400" 401: @@ -1188,182 +1188,5 @@ paths: $ref: "responses/SOL005_resp.yaml#/responses/416" 500: $ref: "responses/SOL005_resp.yaml#/responses/500" - 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" - -################################################################################## -# Notification endpoint # -# Dummy URI is used for testing. # -# In real, resource URI is provided by the client when creating the subscription.# -################################################################################## - '/URI_is_provided_by_the_client_when_creating_the_subscription-VnfPackageOnboardingNotification': - #ETSI GS NFV-SOL 005 V2.4.1 location: 9.4.10 - 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. - parameters: - - name: VnfPackageOnboardingNotification - description: > - A notification about on-boarding of a VNF package. - in: body - required: true - schema: - properties: - VnfPackageOnboardingNotification: - $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/VnfPackageOnboardingNotification" - - 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: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - responses: - 204: - description: > - 204 No Content - - The notification was 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 - 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" - 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" - 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" - 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': - #ETSI GS NFV-SOL 005 V2.4.1 location: 9.4.10 - 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. - parameters: - - name: VnfPackageChangeNotification - description: > - A notification about changes of status in a VNF package. - in: body - required: true - schema: - properties: - VnfPackageChangeNotification: - $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/VnfPackageChangeNotification" - - 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: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - responses: - 204: - description: > - 204 No Content - - The notification was 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 - 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" - 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" - 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" - 500: - $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. - 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: > - 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 - responses: - 204: - description: > - 204 No Content - - The notification endpoint was tested successfully. - The response body shall be empty. - 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" - 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" - 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" - 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" 503: $ref: "responses/SOL005_resp.yaml#/responses/503" \ No newline at end of file diff --git a/src/SOL005/VNFPackageManagement/definitions/SOL005VNFPMManagement_def.yaml b/src/SOL005/VNFPackageManagement/definitions/SOL005VNFPackageManagement_def.yaml similarity index 100% rename from src/SOL005/VNFPackageManagement/definitions/SOL005VNFPMManagement_def.yaml rename to src/SOL005/VNFPackageManagement/definitions/SOL005VNFPackageManagement_def.yaml diff --git a/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml b/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml new file mode 100644 index 0000000000000000000000000000000000000000..0d5111edc8043515b3605f3a008ae9c68309c869 --- /dev/null +++ b/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml @@ -0,0 +1,243 @@ +swagger: "2.0" + +info: + version: "1.0.0" + title: "SOL005 - VNF Package Management Notification interface" + description: > + SOL005 - VNF Package Management Notification interface + + + IMPORTANT: Please note that this file might be not aligned to the current + version of the ETSI Group Specification it refers to. In case of + discrepancies the published ETSI Group Specification takes precedence. + + + In clause 4.3.2 of ETSI GS NFV-SOL 002 v2.4.1, an attribute-based + filtering mechanism is defined. This mechanism is currently not + included in the corresponding OpenAPI design for this GS version. Changes + to the attribute-based filtering mechanism are being considered in v2.5.1 + of this GS for inclusion in the corresponding future ETSI NFV OpenAPI + design. + + Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + license: + name: "ETSI Forge copyright notice" + url: https://forge.etsi.org/etsi-forge-copyright-notice.txt + +externalDocs: + description: ETSI GS NFV-SOL 005 V2.4.1 + url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.04.01_60/gs_NFV-SOL005v020401p.pdf + +basePath: /callback/v1 + +schemes: + - http + - https + +consumes: + - application/json +produces: + - application/json +paths: + ################################################################################## + # Notification endpoint NS Performance Management # + ################################################################################## + '/URI_is_provided_by_the_client_when_creating_the_subscription-VnfPackageOnboardingNotification': + 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. + parameters: + - name: VnfPackageOnboardingNotification + description: > + A notification about on-boarding of a VNF package. + in: body + required: true + schema: + properties: + VnfPackageOnboardingNotification: + $ref: "definitions/SOL005VNFPackageManagementNotification_def.yaml#/definitions/VnfPackageOnboardingNotification" + - 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: Content-Type + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231 + in: header + required: true + 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 + + The notification was 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: "../VNFPackageManagement/responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../VNFPackageManagement/responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../VNFPackageManagement/responses/SOL005_resp.yaml#/responses/403" + 500: + $ref: "../VNFPackageManagement/responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../VNFPackageManagement/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 + 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. + parameters: + - name: VnfPackageChangeNotification + description: > + A notification about changes of status in a VNF package. + in: body + required: true + schema: + properties: + VnfPackageChangeNotification: + $ref: "definitions/SOL005VNFPackageManagementNotification_def.yaml#/definitions/VnfPackageChangeNotification" + - 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: Content-Type + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231 + in: header + required: true + 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 + + The notification was 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: "../VNFPackageManagement/responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../VNFPackageManagement/responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../VNFPackageManagement/responses/SOL005_resp.yaml#/responses/403" + 500: + $ref: "../VNFPackageManagement/responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../VNFPackageManagement/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. + 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: > + 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 + + The notification endpoint was tested successfully. + The response body shall be empty. + 400: + $ref: "../VNFPackageManagement/responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../VNFPackageManagement/responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../VNFPackageManagement/responses/SOL005_resp.yaml#/responses/403" + 500: + $ref: "../VNFPackageManagement/responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../VNFPackageManagement/responses/SOL005_resp.yaml#/responses/503" diff --git a/src/SOL005/VNFPackageManagementNotification/definitions/SOL005VNFPackageManagementNotification_def.yaml b/src/SOL005/VNFPackageManagementNotification/definitions/SOL005VNFPackageManagementNotification_def.yaml new file mode 100644 index 0000000000000000000000000000000000000000..ba26c3888b4aa89180e7af600584283f733f6835 --- /dev/null +++ b/src/SOL005/VNFPackageManagementNotification/definitions/SOL005VNFPackageManagementNotification_def.yaml @@ -0,0 +1,127 @@ +# Copyright (c) ETSI 2017. +# https://forge.etsi.org/etsi-forge-copyright-notice.txt +definitions: + VnfPackageOnboardingNotification: + description: > + This type represents a VNF package management notification, which informs the receiver that the on boarding + process of a VNF package incomplete and the package is ready for use. A change of the on-boarding state before + the VNF package is on-boarded is not reported. It shall comply with the provisions defined in Table 9.5.2.8-1. + The support of this notification is mandatory. The notification shall be triggered by the NFVO when the value + of the "onboardingState" attribute of a new VNF package has changed to "ONBOARDED". + type: object + required: + - id + - notificationType + - subscriptionId + - timeStamp + - vnfPkgId + - vnfdId + - _links + properties: + id: + description: > + Identifier of this notification. If a notification is sent + multiple times due to multiple subscriptions, the "id" + attribute of all these notifications shall have the same value. + $ref: "../../VNFPackageManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + notificationType: + description: > + Discriminator for the different notification types. + Shall be set to "VnfPackageOnboardingNotification" for + this notification type. + type: string + subscriptionId: + description: > + Identifier of the subscription that this notification relates to. + $ref: "../../VNFPackageManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + timeStamp: + description: > + Date and time of the generation of the notification. + $ref: "../../VNFPackageManagement/definitions/SOL005_def.yaml#/definitions/DateTime" + vnfPkgId: + description: > + Identifier of the VNF package. This identifier + is allocated by the NFVO. + Its value is the same as the value of the "id" attribute of + the related "Individual VNF package" resource. + $ref: "../../VNFPackageManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + vnfdId: + description: > + This identifier, which is managed by the VNF provider, + identifies the VNF package and the VNFD in a globally + unique way. + It is copied from the VNFD of the on-boarded VNF package. + $ref: "../../VNFPackageManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + _links: + description: > + Links to resources related to this notification. + $ref: "../../VNFPackageManagement/definitions/SOL005VNFPackageManagement_def.yaml#/definitions/PkgmLinks" + + VnfPackageChangeNotification: + description: > + This type represents a VNF package management notification, which informs the receiver of a change of + the status in an on-boarded VNF package. Only changes in the "operationalState" attribute of an on-boarded + VNF package and the deletion of the VNF package will be reported. Change in the "usageState" and "onboardingState" + attributes are not reported. The notification shall comply with the provisions defined in Table 9.5.2.9-1. + The support of this notification is mandatory. The notification shall be triggered by the NFVO when there is + a change in the status of an onboarded VNF package, as follows. + - The "operationalState" attribute of a VNF package has changed, and the "onboardingState" attribute of the + package has the value "ONBOARDED". + - The on-boarded VNF package has been deleted. + type: object + required: + - id + - notificationType + - subscriptionId + - timeStamp + - vnfPkgId + - vnfdId + - changeType + - _links + properties: + id: + description: > + Identifier of this notification. If a notification is sent + multiple times due to multiple subscriptions, the "id" + attribute of all these notifications shall have the same value. + $ref: "../../VNFPackageManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + notificationType: + description: > + Discriminator for the different notification types. + Shall be set to "VnfPackageChangeNotification" for this + notification type. + type: string + subscriptionId: + description: > + Identifier of the subscription that this notification relates to. + $ref: "../../VNFPackageManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + timeStamp: + description: > + Date and time of the generation of the notification. + $ref: "../../VNFPackageManagement/definitions/SOL005_def.yaml#/definitions/DateTime" + vnfPkgId: + description: > + Identifier of the on-boarded VNF package. This identifier + is allocated by the NFVO. + Its value is the same as the value of the "id" attribute of + the related "Individual VNF package" resource. + $ref: "../../VNFPackageManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + vnfdId: + description: > + Identifier of the VNFD contained in the VNF package, + which also identifies the VNF package. This identifier is + allocated by the VNF provider and copied from the VNFD. + $ref: "../../VNFPackageManagement/definitions/SOL005_def.yaml#/definitions/Identifier" + changeType: + description: > + The type of change of the VNF package. + $ref: "../../VNFPackageManagement/definitions/SOL005VNFPackageManagement_def.yaml#/definitions/PackageChangeType" + operationalState: + description: > + New operational state of the VNF package. + Only present when changeType is OP_STATE_CHANGE. + $ref: "../../VNFPackageManagement/definitions/SOL005VNFPackageManagement_def.yaml#/definitions/PackageOperationalStateType" + _links: + description: > + Links to resources related to this notification. + $ref: "../../VNFPackageManagement/definitions/SOL005VNFPackageManagement_def.yaml#/definitions/PkgmLinks" \ No newline at end of file