From 07a7fa2573daa034f26920774789c26f14f1ade5 Mon Sep 17 00:00:00 2001 From: Gergely Csatari Date: Tue, 28 Nov 2017 14:43:27 +0100 Subject: [PATCH] VNF Fault Management interface Change-Id: I18b783169c4b80115f0b45e042403622494473cb Signed-off-by: Gergely Csatari --- .../VNFFaultManagement.yaml | 514 ++++++++++++ .../responses/VNFFaultManagement_resp.yaml | 26 + .../VNFFaultManagementNotification.yaml | 253 ++++++ .../VNFLifecycleManagement_def.yaml | 744 +++++++++++++++++- src/SOL003/definitions/SOL003_def.yaml | 164 ++++ .../SOL002SOL003VNFFaultManagement_def.yaml | 348 ++++++++ ...OL002SOL003VNFLifecycleManagement_def.yaml | 62 +- src/definitions/SOL002SOL003_def.yaml | 44 ++ src/responses/SOL002SOL003_resp.yaml | 26 + 9 files changed, 2118 insertions(+), 63 deletions(-) create mode 100644 src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml create mode 100644 src/SOL003/VNFFaultManagement/responses/VNFFaultManagement_resp.yaml create mode 100644 src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml create mode 100644 src/SOL003/definitions/SOL003_def.yaml create mode 100644 src/definitions/SOL002SOL003VNFFaultManagement_def.yaml diff --git a/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml new file mode 100644 index 00000000..505a320e --- /dev/null +++ b/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml @@ -0,0 +1,514 @@ +swagger: "2.0" + +info: + version: "2.3.0" + title: SOL003 + license: + name: "ETSI Forge copyright notice" + url: https://forge.etsi.org/etsi-forge-copyright-notice.txt + +basePath: "/vnffm/v1" + +schemes: + - https + +consumes: + - "application/json" +produces: + - "application/json" + +paths: +############################################################################### +# Alarms # +############################################################################### + '/alarms': + #SOL003 location: 7.4.2 + get: + description: > + The client can use this method to retrieve information about the alarm + list. + parameters: + - 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 + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: true + type: string + responses: + 200: + description: > + The request has succeeded. + The response body shall contain the list of related alarms. + headers: + Content-Type: + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231 + 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 + schema: + $ref: "../definitions/SOL003_def.yaml#/definitions/Alarm" + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400-attr-based-filtering-error" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" +############################################################################### +# Individual alarm # +############################################################################### + '/alarms/{alarmId}': + #SOL003 location: 7.4.3 + parameters: + - name: alarmId + description: > + Identifier of the alarm. + This identifier can be retrieved from the "id" attribute of the + "alarm" attribute in the AlarmNotification or + AlarmClearedNotification. It can also be retrieved from the "id" + attribute of the applicable array element in the payload body of the + response to a GET request to the "Alarms" resource. + in: path + type: string + required: true + get: + description: > + The client can use this method to read an individual alarm. + parameters: + - 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 + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: true + type: string + responses: + 200: + description: > + Information about an individual alarm was read successfully. + The response body shall contain a representation of the individual + alarm. + headers: + Content-Type: + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231 + 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 + schema: + $ref: "../definitions/SOL003_def.yaml#/definitions/Alarm" + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + patch: + description: > + This method modifies an individual alarm resource. + parameters: + - name: AlarmModifications + description: The VNF creation parameters + in: body + required: true + schema: + $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/AlarmModifications" + - 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 + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: true + type: string + responses: + 200: + description: > + The request was accepted and completed. The response body shall + contain attribute modifications for an ‘Individual alarm’ + resource. + headers: + Content-Type: + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231 + 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 + schema: + $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/AlarmModifications" + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 409: + $ref: "responses/VNFFaultManagement_resp.yaml#/responses/409-alarm-state-conflict" + 412: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/412" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" +############################################################################### +# Subscriptions # +############################################################################### + '/alarms/subscriptions': + #SOL003 location: 7.4.4 + post: + description: > + The POST method creates a new subscription. + parameters: + - name: FmSubscriptionRequest + description: The VNF creation parameters + in: body + required: true + schema: + $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscriptionRequest" + - 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 + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: true + type: string + responses: + 201: + description: > + The subscription was created successfully. The response body shall + contain a representation of the created subscription resource. + The HTTP response shall include a "Location:" HTTP header that + points to the created subscription resource. + headers: + Content-Type: + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231 + type: string + maximum: 1 + minimum: 1 + Location: + description: > + The resource URI of the created subscription resource. + type: string + format: url + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + type: string + maximum: 1 + minimum: 0 + schema: + $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscription" + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + get: + description: > + The client can use this method to retrieve the list of active + subscriptions for VNF alarms subscribed by the client. It can be used + e.g. for resynchronization after error situations. + parameters: + - 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 + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: true + type: string + responses: + 200: + description: > + The list of subscriptions was queried successfully. The response + body shall contain the representations of all active + subscriptions of the functional block that invokes the method. + headers: + Content-Type: + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231 + 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 + schema: + $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscription" + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400-attr-based-filtering-error" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 412: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/412" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" +############################################################################### +# Individual subscription # +############################################################################### + '/subscriptions/{subscriptionId}': + #SOL003 location: 7.4.5 + parameters: + - name: subscriptionId + description: > + Identifier of this subscription. + This identifier can be retrieved from the resource referenced by the + "Location" HTTP header in the response to a POST request creating a + new subscription resource. It can also be retrieved from the "id" + attribute in the payload body of that response. + in: path + type: string + required: true + get: + description: > + The client can use this method for reading an individual subscription + for VNF alarms subscribed by the client. + parameters: + - 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 + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: true + type: string + responses: + 200: + description: > + The operation has completed successfully. + The response body shall contain a representation of the + subscription resource. + headers: + Content-Type: + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231 + 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 + schema: + $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscription" + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + delete: + description: > + This method terminates an individual subscription. + parameters: + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: true + type: string + responses: + 204: + description: > + The subscription resource was deleted successfully. + The response body shall be empty. + headers: + Content-Type: + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231 + 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 + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" diff --git a/src/SOL003/VNFFaultManagement/responses/VNFFaultManagement_resp.yaml b/src/SOL003/VNFFaultManagement/responses/VNFFaultManagement_resp.yaml new file mode 100644 index 00000000..714c3491 --- /dev/null +++ b/src/SOL003/VNFFaultManagement/responses/VNFFaultManagement_resp.yaml @@ -0,0 +1,26 @@ +responses: + 409-alarm-state-conflict: + description: > + The operation cannot be executed currently, due to a conflict with the + state of the "Individual alarm" resource. + Typically, this is due to the fact that the alarm is already in the + state that is requested to be set (such as trying to acknowledge an + already-acknowledged alarm). + The response body shall contain a ProblemDetails structure, in which the + "detail" attribute should convey more information about the error. + 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 + schema: + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" diff --git a/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml b/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml new file mode 100644 index 00000000..2a14631a --- /dev/null +++ b/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml @@ -0,0 +1,253 @@ +swagger: "2.0" + +info: + version: "2.3.0" + title: SOL003 - VNF Lifecycle Management Notification interface + license: + name: "ETSI Forge copyright notice" + url: https://forge.etsi.org/etsi-forge-copyright-notice.txt + contact: + name: "NFV-SOL WG" + +basePath: "/callback/v1" + +schemes: + - https + +consumes: + - "application/json" +produces: + - "application/json" + +paths: +############################################################################### +# Notification endpoint AlarmNotification # +############################################################################### + '/URI-is-provided-by-the-client-when-creating-the-subscription-AlarmNotification': + #SOL003 location: 7.4.6 + post: + description: > + The POST method notifies a VNF alarm or that the alarm list has been + rebuilt. + parameters: + - name: AlarmNotification + description: > + Information of a VNF alarm. + in: body + required: true + schema: + $ref: "../definitions/SOL003_def.yaml#/definitions/AlarmNotification" + responses: + 204: + description: > + The notification was delivered successfully. + The response body shall be empty. + headers: + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + type: string + maximum: 1 + minimum: 0 + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + get: + description: > + The GET method allows the server to test the notification endpoint + that is provided by the client, e.g. during subscription. + responses: + 204: + description: > + The notification endpoint was tested successfully. + The response body shall be empty. + headers: + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + type: string + maximum: 1 + minimum: 0 + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" +############################################################################### +# Notification endpoint AlarmClearedNotification # +############################################################################### + '/URI-is-provided-by-the-client-when-creating-the-subscription-AlarmClearedNotification': + #SOL003 location: 7.4.6 + post: + description: > + The POST method notifies a VNF alarm or that the alarm list has been + rebuilt. + parameters: + - name: AlarmClearedNotification + description: > + Information of the clearance of a VNF alarm + in: body + required: true + schema: + $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/AlarmClearedNotification" + responses: + 204: + description: > + The notification was delivered successfully. + The response body shall be empty. + headers: + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + type: string + maximum: 1 + minimum: 0 + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + get: + description: > + The GET method allows the server to test the notification endpoint + that is provided by the client, e.g. during subscription. + responses: + 204: + description: > + The notification endpoint was tested successfully. + The response body shall be empty. + headers: + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + type: string + maximum: 1 + minimum: 0 + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" +############################################################################### +# Notification endpoint AlarmListRebuiltNotification # +############################################################################### + '/URI-is-provided-by-the-client-when-creating-the-subscription-AlarmListRebuiltNotification': + #SOL003 location: 7.4.6 + post: + description: > + The POST method notifies a VNF alarm or that the alarm list has been + rebuilt. + parameters: + - name: AlarmListRebuiltNotification + description: > + Information that the alarm list has been rebuilt by the VNFM + in: body + required: true + schema: + $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/AlarmListRebuiltNotification" + responses: + 204: + description: > + The notification was delivered successfully. + The response body shall be empty. + headers: + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + type: string + maximum: 1 + minimum: 0 + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + get: + description: > + The GET method allows the server to test the notification endpoint + that is provided by the client, e.g. during subscription. + responses: + 204: + description: > + The notification endpoint was tested successfully. + The response body shall be empty. + headers: + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + type: string + maximum: 1 + minimum: 0 + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" diff --git a/src/SOL003/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml b/src/SOL003/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml index 6fede611..3ddf7cac 100644 --- a/src/SOL003/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml +++ b/src/SOL003/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml @@ -2,6 +2,145 @@ # https://forge.etsi.org/etsi-forge-copyright-notice.txt definitions: + AffectedVirtualLink: + #SOL003 Location: 5.5.3.14 + description: > + This type provides information about added, deleted, modified and + temporary VLs. + type: object + required: + - id + - virtualLinkDescId + - changeType + - networkResource + properties: + id: + description: > + Identifier of the virtual link instance, identifying the applicable + "vnfVirtualLinkResourceInfo" entry in the "VnfInstance" data type. + $ref: "#/definitions/IdentifierInVnf" + virtualLinkDescId: + description: > + Identifier of the related VLD in the VNFD. + $ref: "#/definitions/IdentifierInVnfd" + changeType: + description: > + Signals the type of change. Permitted values: + * ADDED + * REMOVED + * MODIFIED + * TEMPORARY + * LINK_PORT_ADDED + * LINK_PORT_REMOVED + For a temporary resource, an AffectedVirtualLink structure exists as + long as the temporary resource exists. + type: string + enum: + - ADDED + - REMOVED + - MODIFIED + - TEMPORARY + - LINK_PORT_ADDED + - LINK_PORT_REMOVED + networkResource: + description: > + Reference to the VirtualNetwork resource. Detailed information is + (for new and modified resources) or has been (for removed + resources) available from the VIM. + $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" + + AffectedVirtualStorage: + #SOL003 Location: 5.5.3.15 + description: > + This type provides information about added, deleted, modified and + temporary virtual storage resources. + type: object + required: + - id + - virtualStorageDescId + - changeType + - storageResource + properties: + id: + description: > + Identifier of the storage instance, identifying the applicable + "virtualStorageResourceInfo" entry in the "VnfInstance" data type. + $ref: "#/definitions/IdentifierInVnf" + virtualStorageDescId: + description: > + Identifier of the related VirtualStorage descriptor in the VNFD. + $ref: "#/definitions/IdentifierInVnfd" + changeType: + description: > + Signals the type of change. Permitted values: + * ADDED + * REMOVED + * MODIFIED + * TEMPORARY + For a temporary resource, an AffectedVirtualStorage structure exists + as long as the temporary resource exists. + type: string + enum: + - ADDED + - REMOVED + - MODIFIED + - TEMPORARY + storageResource: + description: > + Reference to the VirtualStorage resource. Detailed information is + (for new and modified resources) or has been (for removed + resources) available from the VIM. + $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" + + AffectedVnfc: + description: > + This type provides information about added, deleted, modified and + temporary VNFCs. + type: object + required: + - id + - vduId + - changeType + - computeResource + properties: + id: + description: > + Identifier of the Vnfc instance, identifying the applicable + "vnfcResourceInfo" entry in the "VnfInstance" data type. + $ref: "#/definitions/IdentifierInVnf" + vduId: + description: > + Identifier of the related VDU in the VNFD. + $ref: "#/definitions/IdentifierInVnfd" + changeType: + description: > + Signals the type of change. Permitted values: + * ADDED + * REMOVED + * MODIFIED + * TEMPORARY + For a temporary resource, an AffectedVnfc structure exists as long + as the temporary resource exists. + type: string + enum: + - ADDED + - REMOVED + - MODIFIED + - TEMPORARY + computeResource: + description: > + Reference to the VirtualCompute resource. Detailed information is + (for new and modified resources) or has been (for removed + resources) available from the VIM. + $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" + addedStorageResourceIds: + description: > + References to VirtualStorage resources that have been added. Each + value refers to a VirtualStorageResourceInfo item in the + VnfInstance that was added to the VNFC. It shall be provided if at + least one storage resource was added to the VNFC. + $ref: "#/definitions/IdentifierInVnf" + CancelMode: description: > This type represents a parameter to select the mode of cancelling an @@ -154,7 +293,7 @@ definitions: networkResource: description: > Reference to the VirtualNetwork resource. - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ResourceHandle" + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" vnfLinkPorts: description: > Link ports of this VL. @@ -412,6 +551,194 @@ definitions: Should be formatted according to ETF RFC 3339. type: string + LccnLinks: + description: > + This type represents the links to resources that a notification can + contain. + type: object + required: + - vnfInstance + - subscription + properties: + vnfInstance: + description: > + Link to the resource representing the VNF instance to which the + notified change applies. + $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + subscription: + description: > + Link to the related subscription. + $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + vnfLcmOpOcc: + description: > + Link to the VNF lifecycle management operation occurrence that this + notification is related to. Shall be present if there is a related + lifecycle operation occurrence. + $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + + LccnSubscription: + description: > + This type represents a subscription related to notifications about VNF + lifecycle changes. + type: object + required: + - id + - callbackUri + - _links + properties: + id: + description: > + Identifier of this subscription resource. + $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + filter: + description: > + Filter settings for this subscription, to define the subset of all + notifications this subscription relates to. A particular + notification is sent to the subscriber if the filter matches, or if + there is no filter. + $ref: "#/definitions/LifecycleChangeNotificationsFilter" + callbackUri: + description: > + The URI of the endpoint to send the notification to. + $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/Uri" + _links: + description: > + Links to resources related to this resource. + type: object + required: + - self + properties: + self: + description: > + URI of this resource. + $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/Uri" + + LccnSubscriptionRequest: + description: > + This type represents a subscription request related to notifications + about VNF lifecycle changes. + type: object + required: + - callbackUri + properties: + filter: + description: > + Filter settings for this subscription, to define the subset of all + notifications this subscription relates to. A particular + notification is sent to the subscriber if the filter matches, or if + there is no filter. + $ref: "#/definitions/LifecycleChangeNotificationsFilter" + callbackUri: + description: > + The URI of the endpoint to send the notification to. + $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/Uri" + authentication: + description: > + Authentication parameters to configure the use of Authorization when + sending notifications corresponding to this subscription, as defined + in clause 4.5.3.4. + This attribute shall only be present if the subscriber requires + authorization of notifications. + $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/SubscriptionAuthentication" + + LcmOperationType: + description: > + Value | Description + ------|------------ + INSTANTIATE | Represents the "Instantiate VNF" LCM operation. + SCALE | Represents the "Scale VNF" LCM operation. + SCALE_TO_LEVEL | Represents the "Scale VNF to Level" LCM operation. + CHANGE_FLAVOUR | Represents the "Change VNF Flavour" LCM operation. + TERMINATE | Represents the "Terminate VNF" LCM operation. + HEAL | Represents the "Heal VNF" LCM operation. + OPERATE | Represents the "Operate VNF" LCM operation. + CHANGE_EXT_CONN | Represents the "Change external VNF connectivity" LCM operation. + MODIFY_INFO | Represents the "Modify VNF Information" LCM operation. + type: string + enum: + - INSTANTIATE + - SCALE + - SCALE_TO_LEVEL + - CHANGE_FLAVOUR + - TERMINATE + - HEAL + - OPERATE + - CHANGE_EXT_CONN + - MODIFY_INFO + + LcmOperationStateType: + description: > + Value | Description + ------|------------ + STARTING | The LCM operation is starting. + PROCESSING | The LCM operation is currently in execution. + COMPLETED | he LCM operation has been completed successfully. + FAILED_TEMP | The LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. + FAILED | The LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action won't succeed. + ROLLING_BACK | The LCM operation is currently being rolled back. + ROLLED_BACK | The LCM operation has been successfully rolled back, i.e. The state of the VNF prior to the original operation invocation has been restored as closely as possible. + type: string + enum: + - STARTING + - PROCESSING + - COMPLETED + - FAILED_TEMP + - FAILED + - ROLLING_BACK + - ROLLED_BACK + + LifecycleChangeNotificationsFilter: + description: > + This type represents a subscription filter related to notifications + about VNF lifecycle changes. + At a particular nesting level in the filter structure, the following + applies: All attributes shall match in order for the filter to match + (logical "and" between different filter attributes). If an attribute is + an array, the attribute shall match if at least one of the values in + the array matches (logical "or" between the values of one filter + attribute). + type: object + properties: + vnfInstanceSubscriptionFilter: + description: > + Filter criteria to select VNF instances about which to notify. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/VnfInstanceSubscriptionFilter" + notificationTypes: + description: > + Match particular notification types. + Permitted values: + * VnfLcmOperationOccurrenceNotification + * VnfIdentifierCreationNotification + * VnfIdentifierDeletionNotification + The permitted values of the "notificationTypes" attribute are + spelled exactly as the names of the notification types to + facilitate automated code generation systems. + type: string + enum: + - VnfLcmOperationOccurrenceNotification + - VnfIdentifierCreationNotification + - VnfIdentifierDeletionNotification + operationTypes: + description: > + Match particular VNF lifecycle operation types for the notification + of type VnfLcmOperationOccurrenceNotification. + May be present if the "notificationTypes" attribute contains the + value "VnfLcmOperationOccurrenceNotification", and shall be absent + otherwise. + type: array + items: + $ref: "#/definitions/LcmOperationType" + operationStates: + description: > + Match particular LCM operation state values as reported in + notifications of type VnfLcmOperationOccurrenceNotification. + May be present if the "notificationTypes" attribute contains the + value "VnfLcmOperationOccurrenceNotification", and shall be absent + otherwise. + type: array + items: + $ref: "#/definitions/LcmOperationStateType" + NetworkAddressInfo: description: > This type represents information about a network address that has been assigned. @@ -481,6 +808,101 @@ definitions: specific to the VNF of which the operation status is changed, as declared in the VNFD as part of "OperateVnfOpConfig". $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + + ScaleInfo: + required: + - aspectId + - scaleLevel + type: object + properties: + aspectId: + description: > + Identifier of the scaling aspect. + $ref: "#/definitions/IdentifierInVnfd" + scaleLevel: + description: > + Indicates the scale level. The minimum value shall be 0 and the + maximum value shall be <= maxScaleLevel as described in the VNFD. + type: integer + + ScaleVnfRequest: + type: object + required: + - type + - aspectId + properties: + type: + description: > + Indicates the type of the scale operation requested. + Permitted values: + * SCALE_OUT: adding additional VNFC instances to the VNF to increase + capacity + * SCALE_IN: removing VNFC instances from the VNF in order to release + unused capacity. + type: string + enum: + - SCALE_OUT + - SCALE_IN + aspectId: + description: > + Identifier of the scaling aspect. + $ref: "#/definitions/IdentifierInVnfd" + numberOfSteps: + description: > + Number of scaling steps to be executed as part of this Scale VNF + operation. It shall be a positive number and the default value + shall be 1. + type: integer + default: 1 + additionalParams: + description: > + Additional parameters passed by the NFVO as input to the scaling + process, specific to the VNF being scaled, as declared in the VNFD + as part of "ScaleVnfOpConfig". + $ref: "#/definitions/KeyValuePairs" + + ScaleVnfToLevelRequest: + description: > + This type represents request parameters for the "Scale VNF to Level" + operation. + type: object + properties: + instantiationLevelId: + description: > + Identifier of the target instantiation level of the current + deployment flavour to which the VNF is requested to be scaled. + Either the instantiationLevelId attribute or the scaleInfo attribute + shall be included. + $ref: "#/definitions/IdentifierInVnfd" + scaleInfo: + description: > + For each scaling aspect of the current deployment flavour, indicates + the target scale level to which the VNF is to be scaled. + Either the instantiationLevelId attribute or the scaleInfo attribute + shall be included. + type: array + items: + $ref: "#/definitions/ScaleInfo" + additionalParams: + description: > + Additional parameters passed by the NFVO as input to the scaling + process, specific to the VNF being scaled, as declared in the + VNFD as part of "ScaleVnfToLevelOpConfig". + $ref: "#/definitions/KeyValuePairs" + + StopType: + description: > + * FORCEFUL: The VNFM will stop the VNF immediately after accepting the + request. + * GRACEFUL: The VNFM will first arrange to take the VNF out of service + after accepting the request. Once that operation is successful or once + the timer value specified in the "gracefulStopTimeout" attribute + expires, the VNFM will stop the VNF. + type: string + enum: + - FORCEFUL + - GRACEFUL + TerminateVnfRequest: type: object @@ -542,7 +964,7 @@ definitions: storageResource: description: > Reference to the VirtualStorage resource. - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ResourceHandle" + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" reservationId: description: > The reservation identifier applicable to the resource. It shall be @@ -574,7 +996,7 @@ definitions: computeResource: description: > Reference to the VirtualCompute resource. - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ResourceHandle" + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" storageResourceIds: description: > References to the VirtualStorage resources. The value refers to a @@ -624,6 +1046,77 @@ definitions: Metadata about this resource. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + VnfExtCpData: + #SOL003 location: 4.4.1.10 + description: > + This type represents an external CP. + type: object + required: + - cpdId + properties: + cpdId: + description: > + The identifier of the CPD in the VNFD. + $ref: "#/definitions/IdentifierInVnfd" + fixedAddresses: + description: > + List of (fixed) network addresses that need to be configured on the + CP. This attribute shall be present if fixed addresses need to be + configured. + type: array + items: + $ref: "#/definitions/FixedNetworkAddressData" + dynamicAddresses: + description: > + List of network addresses to be assigned dynamically. This attribute + shall be present if dynamic addresses need to be configured. + type: array + items: + $ref: "#/definitions/DynamicNetworkAddressData" + + VnfIdentifierCreationNotification: + description: > + This type represents a VNF identifier creation notification, which + informs the receiver of the creation of a new VNF instance resource and + the associated VNF instance identifier. + type: object + required: + - id + - notificationType + - timeStamp + - vnfInstanceId + - _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: "../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + notificationType: + description: > + Discriminator for the different notification types. Shall be set to + "VnfIdentifierCreationNotification" for this notification type. + type: string + enum: + - VnfIdentifierCreationNotification + subscriptionId: + description: > + Identifier of the subscription that this notification relates to. + $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + timeStamp: + description: > + Date-time of the generation of the notification. + $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" + vnfInstanceId: + description: > + The created VNF instance identifier. + $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + _links: + description: > + Links to resources related to this notification. + $ref: "#/definitions/LccnLinks" + VnfIdentifierDeletionNotification: description: > This type represents a VNF identifier deletion notification, which @@ -642,7 +1135,7 @@ definitions: Identifier of this notification. If a notification is sent multiple times due to multiple subscriptions, the "id" attribute of all these notifications shall have the same value. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" notificationType: description: > Discriminator for the different notification types. Shall be set to @@ -653,19 +1146,68 @@ definitions: subscriptionId: description: > Identifier of the subscription that this notification relates to. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" timeStamp: description: > Date-time of the generation of the notification. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" + $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" vnfInstanceId: description: > The deleted VNF instance identifier. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" _links: description: > Links to resources related to this notification. - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnLinks" + $ref: "#/definitions/LccnLinks" + + VnfInfoModifications: + #SOL003 location: 5.5.2.12 + description: > + This type represents attribute modifications for an + "Individual VNF instance" resource, i.e. modifications to a resource + representation based on the "VnfInstance" data type. The attributes of + "VnfInstance" that can be modified according to the provisions in + clause 5.5.2.2 are included in the "VnfInfoModifications" data type. + type: object + properties: + vnfInstanceName: + description: > + New value of the "vnfInstanceName" attribute in "VnfInstance", or + "null" to remove the attribute. + type: string + vnfInstanceDescription: + description: > + New value of the "vnfInstanceDescription" attribute in + "VnfInstance", or "null" to remove the attribute. + type: string + onboardedVnfPkgInfoId: + description: > + New value of the "onboardedVnfPkgInfoId" attribute in "VnfInstance". + The value "null" is not permitted. + $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfConfigurableProperties: + description: > + Modifications of the "vnfConfigurableProperties" attribute in + "VnfInstance". If present, these modifications shall be applied + according to the rules of JSON Merge PATCH (see IETF RFC 7396). + $ref: "#/definitions/KeyValuePairs" + metadata: + description: > + Modifications of the "metadata" attribute in "VnfInstance". If + present, these modifications shall be applied according to the rules + of JSON Merge PATCH (see IETF RFC 7396). + $ref: "#/definitions/KeyValuePairs" + extensions: + description: > + Modifications of the "extensions" attribute in "VnfInstance". If + present, these modifications shall be applied according to the rules + of JSON Merge PATCH (see IETF RFC 7396). + $ref: "#/definitions/KeyValuePairs" + vimConnectionInfo: + description: > + New content of certain entries in the "vimConnectionInfo" attribute + array in "VnfInstance", as defined below this table. + $ref: "#/definitions/VimConnectionInfo" VnfInstance: #SOL003 location: 5.5.2.2 @@ -773,6 +1315,181 @@ definitions: type: array items: type: string + + VnfLcmOperationOccurrenceNotification: + description: > + This type represents a VNF lifecycle management operation occurrence + notification, which informs the receiver of changes in the VNF + lifecycle caused by a VNF LCM operation occurrence. The support of the + notification is mandatory. + This notification is produced when there is a change in the VNF + lifecycle caused by a VNF LCM operation occurrence, including: + * Instantiation of the VNF + * Scaling of the VNF instance (including auto-scaling) + * Healing of the VNF instance (including auto-healing) + * Change of the state of the VNF instance (i.e. Operate VNF) + * Change of the deployment flavour of the VNF instance + * Change of the external virtual links of the VNF instance + * Termination of the VNF instance + * Modification of VNF instance information and/or VNF configurable + properties through the "PATCH" method on the "Individual VNF instance" + resource + If this is the initial notification about the start of a VNF LCM + operation occurrence, it is assumed that the notification is sent by the + VNFM before any action (including sending the grant request) is taken, + however, after acknowledging the LCM operation request to the consumer. + Due to possible race conditions, this does not guarantee that the + notification will also arrive at the NFVO before the grant request, and + after the acknowledgement of the operation. It is not an error if the + "start" notification, the grant request and the LCM operation + acknowledgment arrive out of order at the NFVO, and the NFVO shall be + able to handle such a situation. + If this is a notification about a final or intermediate result state of + a VNF LCM operation occurrence, the notification shall be sent after + all related actions of the LCM operation that led to this state have + been executed. The new state shall be set in the VnfLcmOpOcc resource + before the notification about the state change is sent. + type: object + required: + - id + - notificationType + - timeStamp + - notificationStatus + - operationState + - vnfInstanceId + - operation + - isAutomaticInvocation + - vnfLcmOpOccId + - _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: "../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + notificationType: + description: > + Discriminator for the different notification types. Shall be set to + "VnfLcmOperationOccurrenceNotification" for this notification type. + type: string + enum: + - VnfLcmOperationOccurrenceNotification + subscriptionId: + description: > + Identifier of the subscription that this notification relates to. + $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + timeStamp: + description: > + Date-time of the generation of the notification. + $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" + notificationStatus: + description: > + Indicates whether this notification reports about the start of a + lifecycle operation or the result of a lifecycle operation. + Permitted values: + * START: Informs about the start of the VNF LCM operation + occurrence. + * RESULT: Informs about the final or intermediate result of the VNF + LCM operation occurrence. + type: string + enum: + - START + - RESULT + operationState: + description: > + The state of the VNF LCM operation occurrence. + $ref: "#/definitions/LcmOperationStateType" + vnfInstanceId: + description: > + The identifier of the VNF instance affected. + $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + operation: + description: > + The lifecycle management operation. + $ref: "#/definitions/LcmOperationType" + isAutomaticInvocation: + description: > + Set to true if this VNF LCM operation occurrence has been triggered + by an automated procedure inside the VNFM + (i.e. ScaleVnf / ScaleVnfToLevel triggered by auto-scale, or HealVnf + triggered by auto-heal). + Set to false otherwise. + type: boolean + vnfLcmOpOccId: + description: > + The identifier of the VNF lifecycle management operation occurrence + associated to the notification. + $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + affectedVnfcs: + description: > + Information about VNFC instances that were affected during the + lifecycle operation. + Shall be present if the "notificationStatus" is set to "RESULT" and + the operation has performed any resource modification. Shall be + absent otherwise. This attribute contains information about the + cumulative changes to virtualised resources that were performed so + far by the VNF LCM operation occurrence and by any of the error + handling procedures for that operation occurrence. + type: array + items: + $ref: "#/definitions/AffectedVnfc" + affectedVirtualLinks: + description: > + Information about VL instances that were affected during the + lifecycle operation. + Shall be present if the "notificationStatus" is set to "RESULT" and + the operation has performed any resource modification. Shall be + absent otherwise. This attribute contains information about the + cumulative changes to virtualised resources that were performed so + far by the VNF LCM operation occurrence and by any of the error + handling procedures for that operation occurrence. + type: array + items: + $ref: "#/definitions/AffectedVirtualLink" + affectedVirtualStorages: + description: > + Information about virtualised storage instances that were affected + during the lifecycle operation. + Shall be present if the "notificationStatus" is set to "RESULT" and + the operation has performed any resource modification. Shall be + absent otherwise. This attribute contains information about the + cumulative changes to virtualised resources that were performed so + far by the VNF LCM operation occurrence and by any of the error + handling procedures for that operation occurrence. + type: array + items: + $ref: "#/definitions/AffectedVirtualStorage" + changedInfo: + description: > + Information about the changed VNF instance information, including + changed VNF configurable properties. + Shall be present if the "notificationStatus" is set to "RESULT" and + the operation has performed any changes to VNF instance information, + including VNF configurable properties. + Shall be absent otherwise. + $ref: "#/definitions/VnfInfoModifications" + changedExtConnectivity: + description: > + Information about changed external connectivity, if this + notification represents the result of a lifecycle operation + occurrence. Shall be present if the "notificationStatus" is set to + "RESULT" and the "operation" is set to "CHANGE_EXT_CONN". + Shall be absent otherwise. + type: array + items: + $ref: "#/definitions/ExtVirtualLinkInfo" + error: + description: > + Details of the latest error, if one has occurred during executing + the LCM operation. Shall be present if the "operationState" + attribute is "FAILED_TEMP" or "FAILED", and shall be absent + otherwise. + $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + _links: + description: > + Links to resources related to this notification. + $ref: "#/definitions/LccnLinks" VnfLcmOpOcc: description: > @@ -976,7 +1693,7 @@ definitions: description: > Reference to the virtualised network resource realizing this link port. - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ResourceHandle" + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" cpInstanceId: description: > Identifier of the external CP of the VNF to be connected to this link @@ -991,6 +1708,13 @@ definitions: "vnfcCpInfo" item of a "vnfcResouceInfo" item in the VnfInstance. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + VnfOperationalStateType: + type: string + enum: + - STARTED + - STOPPED + - ERROR + VnfVirtualLinkResourceInfo: description: > This type represents the information that allows addressing a virtualised @@ -1012,7 +1736,7 @@ definitions: networkResource: description: > Reference to the VirtualNetwork resource. - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ResourceHandle" + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" reservationId: description: > The reservation identifier applicable to the resource. It shall be diff --git a/src/SOL003/definitions/SOL003_def.yaml b/src/SOL003/definitions/SOL003_def.yaml new file mode 100644 index 00000000..02b27db1 --- /dev/null +++ b/src/SOL003/definitions/SOL003_def.yaml @@ -0,0 +1,164 @@ +# Copyright (c) ETSI 2017. +# https://forge.etsi.org/etsi-forge-copyright-notice.txt + +definitions: + Alarm: + description: > + The alarm data type encapsulates information about an alarm. + type: object + required: + - id + - managedObjectId + - rootCauseFaultyResource + - alarmRaisedTime + - ackState + - perceivedSeverity + - eventTime + - eventType + - probableCause + - isRootCause + - _links + properties: + id: + description: > + Identifier of this Alarm information element. + $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + managedObjectId: + description: > + Identifier of the affected VNF instance. + $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + rootCauseFaultyResource: + description: > + The virtualised resources that are causing the VNF fault. + $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FaultyResourceInfo" + alarmRaisedTime: + description: > + Time stamp indicating when the alarm is raised by the managed + object. + $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" + alarmChangedTime: + description: > + Time stamp indicating when the alarm was last changed. It shall be + present if the alarm has been updated. + $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" + alarmClearedTime: + description: > + Time stamp indicating when the alarm was cleared. It shall be + present if the alarm has been cleared. + $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" + ackState: + description: > + Acknowledgement state of the alarm. + Permitted values: + * UNACKNOWLEDGED + * ACKNOWLEDGED. + type: string + enum: + - UNACKNOWLEDGED + - ACKNOWLEDGED + perceivedSeverity: + description: > + Perceived severity of the managed object failure. + $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/PerceivedSeverityType" + eventTime: + description: > + Time stamp indicating when the fault was observed. + $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" + eventType: + description: > + Type of event. + $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/EventType" + faultType: + description: > + Additional information to clarify the type of the fault. + type: string + probableCause: + description: > + Information about the probable cause of the fault. + type: string + isRootCause: + description: > + Attribute indicating if this fault is the root for other correlated + alarms. If TRUE, then the alarms listed in the attribute + CorrelatedAlarmId are caused by this fault. + type: boolean + correlatedAlarmIds: + description: > + List of identifiers of other alarms correlated to this fault. + type: array + items: + $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + faultDetails: + description: > + Provides additional information about the fault. + type: array + items: + type: string + _links: + description: > + Links for this resource. + type: object + required: + - self + properties: + self: + description: > + URI of this resource. + $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + objectInstance: + description: > + Link to the resource representing the VNF instance to which the + notified alarm is correlated. Shall be present if the VNF + instance information is accessible as a resource. + $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + + AlarmNotification: + description: > + This type represents an alarm notification about VNF 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: "../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + notificationType: + description: > + Discriminator for the different notification types. Shall be set to + "AlarmNotification" for this notification type. + type: string + enum: + - AlarmNotification + subscriptionId: + description: > + Identifier of the subscription that this notification relates to. + $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + timeStamp: + description: > + Date-time of the generation of the notification. + $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" + alarm: + description: > + Information about an alarm including AlarmId, affected VNF + identifier, and FaultDetails. + $ref: "#/definitions/Alarm" + _links: + description: > + Links to resources related to this notification. + type: object + required: + - subscription + properties: + subscription: + description: > + Link to the related subscription. + $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + \ No newline at end of file diff --git a/src/definitions/SOL002SOL003VNFFaultManagement_def.yaml b/src/definitions/SOL002SOL003VNFFaultManagement_def.yaml new file mode 100644 index 00000000..3f02ce6d --- /dev/null +++ b/src/definitions/SOL002SOL003VNFFaultManagement_def.yaml @@ -0,0 +1,348 @@ +# Copyright (c) ETSI 2017. +# https://forge.etsi.org/etsi-forge-copyright-notice.txt + +definitions: + AlarmClearedNotification: + description: > + This type represents an alarm cleared notification about VNF faults. + 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: "SOL002SOL003_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: "SOL002SOL003_def.yaml#/definitions/Identifier" + timeStamp: + description: > + Date-time of the generation of the notification. + $ref: "SOL002SOL003_def.yaml#/definitions/DateTime" + alarmId: + description: > + Alarm identifier. + $ref: "SOL002SOL003_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: "SOL002SOL003_def.yaml#/definitions/Link" + alarm: + description: > + Link to the resource that represents the related alarm. + $ref: "SOL002SOL003_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. + 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: "SOL002SOL003_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: "SOL002SOL003_def.yaml#/definitions/Identifier" + timeStamp: + description: > + Date-time of the generation of the notification. + $ref: "SOL002SOL003_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: "SOL002SOL003_def.yaml#/definitions/Link" + alarms: + description: > + Link to the alarm list, i.e. the "Alarms" resource. + $ref: "SOL002SOL003_def.yaml#/definitions/Link" + + AlarmModifications: + description: > + This type represents attribute modifications for an "Individual alarm" + resource, i.e. modifications to a resource representation based on the + "Alarm" data type. The attributes of "Alarm" that can be modified + are included in the "AlarmModifications" data type. + type: object + required: + - ackState + properties: + ackState: + description: > + New value of the "ackState" attribute in "Alarm". + Permitted values: + * ACKNOWLEDGED + type: string + enum: + - ACKNOWLEDGED + + EventType: + description: > + The enumeration EventType represents those types of events that trigger + an alarm. + * COMMUNICATIONS_ALARM: An alarm of this type is associated with the + procedure and/or process required conveying information from one point + to another (ITU-T Recommendation X.733). + * PROCESSING_ERROR_ALARM: An alarm of this type is associated with a + software or processing fault (ITU-T Recommendation X.733). + * ENVIRONMENTAL_ALARM: An alarm of this type is associated with a + condition related to an enclosure in which the equipment resides + (ITU-T Recommendation X.733). + * QOS_ALARM: An alarm of this type is associated with degradation in the + quality of a service (ITU-T Recommendation X.733). + * EQUIPMENT_ALARM: An alarm of this type is associated with an equipment + fault (ITU-T Recommendation X.733). + type: string + enum: + - COMMUNICATIONS_ALARM + - PROCESSING_ERROR_ALARM + - ENVIRONMENTAL_ALARM + - QOS_ALARM + - EQUIPMENT_ALARM + + FaultyResourceInfo: + description: > + This type represents the faulty virtual resources that have a negative + impact on a VNF. + type: object + required: + - faultyResource + - faultyResourceType + properties: + faultyResource: + description: > + Information that identifies the faulty resource instance and its + managing entity. + $ref: "SOL002SOL003_def.yaml#/definitions/ResourceHandle" + faultyResourceType: + description: > + Type of the faulty resource. + $ref: "#/definitions/FaultyResourceType" + + FaultyResourceType: + description: > + The enumeration FaultyResourceType represents those types of faulty + resource. + type: string + enum: + - COMPUTE + - STORAGE + - NETWORK + + FmNotificationsFilter: + description: > + This type represents a subscription filter related to notifications + about VNF faults. + At a particular nesting level in the filter structure, the following + applies: All attributes shall match in order for the filter to match + (logical "and" between different filter attributes). If an attribute is + an array, the attribute shall match if at least one of the values in the + array matches (logical "or" between the values of one filter attribute). + type: object + properties: + vnfInstanceSubscriptionFilter: + description: > + Filter criteria to select VNF instances about which to notify. + $ref: "SOL002SOL003_def.yaml#/definitions/VnfInstanceSubscriptionFilter" + notificationTypes: + description: > + Match particular notification types. + Permitted values: + * AlarmNotification + * AlarmClearedNotification + * AlarmListRebuiltNotification + The permitted values of the "notificationTypes" attribute are + spelled exactly as the names of the notification types to + facilitate automated code generation systems. + type: array + items: + type: string + enum: + - AlarmNotification + - AlarmClearedNotification + - AlarmListRebuiltNotification + faultyResourceTypes: + description: > + Match VNF alarms with a faulty resource type listed in this + attribute. + type: array + items: + $ref: "SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FaultyResourceType" + perceivedSeverities: + description: > + Match VNF alarms with a perceived severity listed in this attribute. + type: array + items: + $ref: "SOL002SOL003VNFFaultManagement_def.yaml#/definitions/PerceivedSeverityType" + eventTypes: + description: > + Match VNF alarms with an event type listed in this attribute. + type: array + items: + $ref: "SOL002SOL003VNFFaultManagement_def.yaml#/definitions/EventType" + probableCauses: + description: > + Match VNF alarms with a probable cause listed in this attribute. + type: array + items: + type: string + + FmSubscription: + description: > + This type represents a subscription related to notifications about VNF + faults. + type: object + required: + - id + - callbackUri + - _links + properties: + id: + description: > + Identifier of this subscription resource. + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" + filter: + description: > + Filter settings for this subscription, to define the subset of all + notifications this subscription relates to. A particular + notification is sent to the subscriber if the filter matches, or if + there is no filter. + $ref: "#/definitions/FmNotificationsFilter" + callbackUri: + description: > + The URI of the endpoint to send the notification to. + type: string + format: url + _links: + description: > + Links for this resource. + type: object + required: + - self + properties: + self: + description: > + URI of this resource. + $ref: "SOL002SOL003_def.yaml#/definitions/Link" + + FmSubscriptionRequest: + description: > + This type represents a subscription request related to notifications + about VNF faults. + type: object + required: + - callbackUri + properties: + filter: + description: > + Filter settings for this subscription, to define the subset of all + notifications this subscription relates to. A particular + notification is sent to the subscriber if the filter matches, or if + there is no filter. + $ref: "#/definitions/FmNotificationsFilter" + callbackUri: + description: > + The URI of the endpoint to send the notification to. + type: string + format: url + authentication: + description: > + Authentication parameters to configure the use of Authorization when + sending notifications corresponding to this subscription. + This attribute shall only be present if the subscriber requires + authorization of notifications. + $ref: "SOL002SOL003_def.yaml#/definitions/SubscriptionAuthentication" + + PerceivedSeverityType: + description: > + Indicates the relative level of urgency for operator attention. + * CRITICAL: The Critical severity level indicates that a service + affecting condition has occurred and an immediate corrective action + is required. Such a severity can be reported, for example, when a + managed object becomes totally out of service and its capability needs + to be restored (ITU-T Recommendation X.733). + * MAJOR: The Major severity level indicates that a service affecting + condition has developed and an urgent corrective action is required. + Such a severity can be reported, for example, when there is a severe + degradation in the capability of the managed object and its full + capability needs to be restored (ITU-T Recommendation X.733). + * MINOR: The Minor severity level indicates the existence of a + non-service affecting fault condition and that corrective action + should be taken in order to prevent a more serious (for example, + service affecting) fault. Such a severity can be reported, for + example, when the detected alarm condition is not currently degrading + the capacity of the managed object (ITU-T Recommendation X.733). + * WARNING: The Warning severity level indicates the detection of a + potential or impending service affecting fault, before any significant + effects have been felt. Action should be taken to further diagnose (if + necessary) and correct the problem in order to prevent it from + becoming a more serious service affecting fault (ITU-T Recommendation + X.733). + * INDETERMINATE: The Indeterminate severity level indicates that the + severity level cannot be determined (ITU-T Recommendation X.733). + * CLEARED: The Cleared severity level indicates the clearing of one or + more previously reported alarms. This alarm clears all alarms for this + managed object that have the same Alarm type, Probable cause and + Specific problems (if given) (ITU-T Recommendation X.733). + type: string + enum: + - CRITICAL + - MAJOR + - MINOR + - WARNING + - INDETERMINATE + - CLEARED diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index f1878db6..a4abc7d1 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -47,7 +47,7 @@ definitions: Reference to the VirtualNetwork resource. Detailed information is (for new and modified resources) or has been (for removed resources) available from the VIM. - $ref: "#/definitions/ResourceHandle" + $ref: "SOL002SOL003_def.yaml#/definitions/ResourceHandle" AffectedVirtualStorage: #SOL003 Location: 5.5.3.15 @@ -90,7 +90,7 @@ definitions: Reference to the VirtualStorage resource. Detailed information is (for new and modified resources) or has been (for removed resources) available from the VIM. - $ref: "#/definitions/ResourceHandle" + $ref: "SOL002SOL003_def.yaml#/definitions/ResourceHandle" AffectedVnfc: description: > @@ -132,7 +132,7 @@ definitions: Reference to the VirtualCompute resource. Detailed information is (for new and modified resources) or has been (for removed resources) available from the VIM. - $ref: "#/definitions/ResourceHandle" + $ref: "SOL002SOL003_def.yaml#/definitions/ResourceHandle" addedStorageResourceIds: description: > References to VirtualStorage resources that have been added. Each @@ -187,7 +187,7 @@ definitions: will be assigned; otherwise, IP addresses not bound to a subnet will be assigned. At most one of "subnetId" and "subnetIpRanges" shall be present. - $ref: "SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/IdentifierInVim" + $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVim" subnetIpRanges: description: > Subnet defined as one or more IP address ranges. In case this @@ -228,7 +228,7 @@ definitions: description: > Reference to the virtualised network resource realizing this link port. - $ref: "SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ResourceHandle" + $ref: "SOL002SOL003_def.yaml#/definitions/ResourceHandle" cpInstanceId: description: > Identifier of the external CP of the VNF to be connected to this link @@ -270,7 +270,7 @@ definitions: description: > The identifier of the resource in the scope of the VIM or the resource provider. - $ref: "#/definitions/IdentifierInVim" + $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVim" ExtVirtualLinkInfo: type: object @@ -286,7 +286,7 @@ definitions: resourceHandle: description: > Reference to the resource realizing this VL. - $ref: "SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ResourceHandle" + $ref: "SOL002SOL003_def.yaml#/definitions/ResourceHandle" linkPorts: description: > Link ports of this VL. @@ -326,7 +326,7 @@ definitions: description: > The identifier of the resource in the scope of the VIM or the resource provider. - $ref: "#/definitions/IdentifierInVim" + $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVim" extCps: description: > External CPs of the VNF to be connected to this external VL. @@ -357,13 +357,7 @@ definitions: Identifier of the subnet in the VIM. This attribute may be present if the "ipAddress" attribute is present, and shall be absent otherwise. - $ref: "#/definitions/IdentifierInVim" - - IdentifierInVim: - description: > - An identifier maintained by the VIM or other resource provider. It is - expected to be unique within the VIM instance. - type: string + $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVim" LccnLinks: description: > @@ -553,44 +547,6 @@ definitions: items: $ref: "#/definitions/LcmOperationStateType" - ResourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows addressing a virtualised - resource that is used by a VNF instance. Information about the resource - is available from the VIM. - properties: - vimConnectionId: - description: > - Identifier of the VIM connection to manage the resource. This - attribute shall only be supported and present if VNF-related resource - management in direct mode is applicable. The applicable - "VimConnectionInfo" structure, which is referenced by - vimConnectionId, can be obtained from the "vimConnectionInfo" - attribute of the "VnfInstance" structure. - $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" - resourceProviderId: - description: > - Identifier of the entity responsible for the management of the - resource. This attribute shall only be supported and present when - VNF-related resource management in indirect mode is applicable. The - identification scheme is outside the scope of the present document. - $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" - resourceId: - description: > - Identifier of the resource in the scope of the VIM or the resource - provider. - $ref: "#/definitions/IdentifierInVim" - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or the resource - provider. - type: string - #TODO: Note of Table 4.4.1.7-1 - ScaleInfo: required: - aspectId diff --git a/src/definitions/SOL002SOL003_def.yaml b/src/definitions/SOL002SOL003_def.yaml index 8eda33a3..72f085ef 100644 --- a/src/definitions/SOL002SOL003_def.yaml +++ b/src/definitions/SOL002SOL003_def.yaml @@ -47,6 +47,12 @@ definitions: An identifier with the intention of being globally unique. type: string + IdentifierInVim: + description: > + An identifier maintained by the VIM or other resource provider. It is + expected to be unique within the VIM instance. + type: string + IdentifierInVnf: description: > An identifier that is unique for the respective type within a VNF @@ -137,6 +143,44 @@ definitions: format: URI #TODO: How to express "any additional attributes"? + ResourceHandle: + required: + - vimConnectionId + - resourceId + type: object + description: > + This type represents the information that allows addressing a virtualised + resource that is used by a VNF instance. Information about the resource + is available from the VIM. + properties: + vimConnectionId: + description: > + Identifier of the VIM connection to manage the resource. This + attribute shall only be supported and present if VNF-related resource + management in direct mode is applicable. The applicable + "VimConnectionInfo" structure, which is referenced by + vimConnectionId, can be obtained from the "vimConnectionInfo" + attribute of the "VnfInstance" structure. + $ref: "#/definitions/Identifier" + resourceProviderId: + description: > + Identifier of the entity responsible for the management of the + resource. This attribute shall only be supported and present when + VNF-related resource management in indirect mode is applicable. The + identification scheme is outside the scope of the present document. + $ref: "#/definitions/Identifier" + resourceId: + description: > + Identifier of the resource in the scope of the VIM or the resource + provider. + $ref: "#/definitions/IdentifierInVim" + vimLevelResourceType: + description: > + Type of the resource in the scope of the VIM or the resource + provider. + type: string + #TODO: Note of Table 4.4.1.7-1 + SubscriptionAuthentication: type: object required: diff --git a/src/responses/SOL002SOL003_resp.yaml b/src/responses/SOL002SOL003_resp.yaml index 92a3b3cb..9dcfdf78 100644 --- a/src/responses/SOL002SOL003_resp.yaml +++ b/src/responses/SOL002SOL003_resp.yaml @@ -22,6 +22,32 @@ responses: type: string maximum: 1 minimum: 0 + 202-with-Location: + description: > + The request was accepted for processing, but the processing has not + been completed. On success, the HTTP response shall include a + "Location" HTTP header that contains the URI of the newly-created + "VNF LCM operation occurrence" resource corresponding to the + operation. + headers: + #TODO: Add headers defined in 4.3.4.3 + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Location: + description: The resource URI of the created VNF instance + type: string + format: url + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + type: string + maximum: 1 + minimum: 0 400: description: > It fhe request is malformed or syntactically incorrect (e.g. if the -- GitLab