From ca387e7df9b4e2483d9b6f3690c8afe4f557d8a6 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Tue, 8 Oct 2019 18:22:43 +0200 Subject: [PATCH 01/55] Added SOL009 NFV-MANO FM openapis --- src/SOL009/APIVersion/APIVersion.yaml | 31 + .../NFVManoFaultManagement.yaml | 759 ++++++++++++++++++ .../SOL009NFVManoFaultManagement_def.yaml | 472 +++++++++++ .../NFVManoFaultManagementNotification.yaml | 430 ++++++++++ src/SOL009/definitions/SOL009_def.yaml | 328 ++++++++ src/SOL009/endpoints/SOL009_endpoints.yaml | 52 ++ src/SOL009/responses/SOL009_resp.yaml | 571 +++++++++++++ 7 files changed, 2643 insertions(+) create mode 100644 src/SOL009/APIVersion/APIVersion.yaml create mode 100644 src/SOL009/NFVManoFaultManagement/NFVManoFaultManagement.yaml create mode 100644 src/SOL009/NFVManoFaultManagement/definitions/SOL009NFVManoFaultManagement_def.yaml create mode 100644 src/SOL009/NFVManoFaultManagementNotification/NFVManoFaultManagementNotification.yaml create mode 100644 src/SOL009/definitions/SOL009_def.yaml create mode 100644 src/SOL009/endpoints/SOL009_endpoints.yaml create mode 100644 src/SOL009/responses/SOL009_resp.yaml diff --git a/src/SOL009/APIVersion/APIVersion.yaml b/src/SOL009/APIVersion/APIVersion.yaml new file mode 100644 index 0000000..57b3c5e --- /dev/null +++ b/src/SOL009/APIVersion/APIVersion.yaml @@ -0,0 +1,31 @@ +openapi: 3.0.2 + +info: + version: 1.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + + title: SOL009 - API version interface + + description: > + SOL009 - API version Interface + + IMPORTANT: Please note that this file might + be not aligned to the current version of the ETSI Group Specification it + refers to and has not been approved by the ETSI NFV ISG. In case of + discrepancies the published ETSI Group Specification takes precedence. + Please report bugs to + https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + + license: + name: ETSI Forge copyright notice + url: https://forge.etsi.org/etsi-forge-copyright-notice.txt + + contact: + name: NFV-SOL WG + +externalDocs: + description: ETSI GS NFV-SOL 009 V0.8.0 + url: https://docbox.etsi.org/ISG/NFV/Open/Drafts/SOL009ed331_MANO_mgmt_stage_3/NFV-SOL009ed331v080.zip + +paths: + /nfvmanofm/api_versions: + $ref: ../endpoints/SOL009_endpoints.yaml#/endpoints/api_versions diff --git a/src/SOL009/NFVManoFaultManagement/NFVManoFaultManagement.yaml b/src/SOL009/NFVManoFaultManagement/NFVManoFaultManagement.yaml new file mode 100644 index 0000000..aa54929 --- /dev/null +++ b/src/SOL009/NFVManoFaultManagement/NFVManoFaultManagement.yaml @@ -0,0 +1,759 @@ +openapi: 3.0.2 +info: + version: 1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + title: SOL009 - NFV-MANO Fault Management interface + description: > + SOL009 - NFV-MANO Fault Management 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. + + 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 009 V0.8.0 + url: https://docbox.etsi.org/ISG/NFV/Open/Drafts/SOL009ed331_MANO_mgmt_stage_3/NFV-SOL009ed331v080.zip + +servers: + - url: http://127.0.0.1/nfvmanofm/v1 + - url: https://127.0.0.1/nfvmanofm/v1 + +paths: + /api_versions: + $ref: ../endpoints/SOL009_endpoints.yaml#/endpoints/api_versions + /alarms: + get: + description: > + Get Alarm List. The client can use this method to retrieve information + about the alarm list. This method shall follow the provisions specified + in the tables 7.5.3.3.2-1 and 7.5.3.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 + schema: + type: string + - name: Authorization + description: | + The authorization token for the request. Reference: IETF RFC 7235 + in: header + required: false + schema: + type: string + - name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of ETSI + GS NFV-SOL 013. The NFV-MANO functional entity shall support + receiving this parameter as part of the URI query string. The API + consumer may supply this parameter. The following attribute names + shall be supported by the NFV-MANO functional entity in the + attribute-based filtering expression: id, managedObjectId, + eventType, perceivedSeverity, probableCause. + in: query + required: false + schema: + type: string + - name: nextpage_opaque_marker + description: > + Marker to obtain the next page of a paged resource. Shall be + supported by the NFV-MANO functional entity if the entity supports + alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS + NFV-SOL 013 for this resource. + in: query + required: false + schema: + type: string + - name: Version + description: | + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + responses: + "200": + description: > + 200 OK + + Shall be returned when information about zero or more alarms has been queried successfully. + The response body shall contain in an array the representations of zero or more alarms as defined + in clause 7.6.2.4. If the "filter" URI parameter was supplied in the request, the data in the response + body shall have been transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. + If the NFV-MANO functional entity supports alternative 2 (paging) according to clause 5.4.2.1 of + ETSI GS NFV-SOL 013 for this resource, inclusion of the Link HTTP header in this response shall + follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. + headers: + Content-Type: + description: > + The MIME type of the body of the request. Reference: IETF RFC + 7231 + schema: + type: string + minimum: 1 + maximum: 1 + Version: + description: | + Version of the API used in the response. + schema: + type: string + minimum: 1 + maximum: 1 + Link: + description: > + Reference to other resources. Used for paging in the present + document. + schema: + type: string + minimum: 0 + maximum: 1 + content: + application/json: + schema: + type: array + items: + $ref: definitions/SOL009NFVManoFaultManagement_def.yaml#/definitions/Alarm + "400": + $ref: ../responses/SOL009_resp.yaml#/responses/400 + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "422": + $ref: ../responses/SOL009_resp.yaml#/responses/422 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + "/alarms/{alarmId}": + 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 + required: true + schema: + type: string + get: + description: > + The client can use this method to read an individual alarm. This method + shall follow the provisions specified in the tables 7.5.4.3.2-1 and + 7.5.4.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 + schema: + type: string + - name: Content-Type + description: | + The MIME type of the body of the request. Reference: IETF RFC 7231 + in: header + required: true + schema: + type: string + - name: Authorization + description: | + The authorization token for the request. Reference: IETF RFC 7235 + in: header + required: false + schema: + type: string + - name: Version + description: | + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + responses: + "200": + description: > + 200 OK + + Shall be returned when information about an individual alarm has been read successfully. The response body + shall contain a representation of the individual alarm + headers: + Content-Type: + description: > + The MIME type of the body of the request. Reference: IETF RFC + 7231 + schema: + type: string + minimum: 1 + maximum: 1 + content: + application/json: + schema: + $ref: definitions/SOL009NFVManoFaultManagement_def.yaml#/definitions/Alarm + "400": + $ref: ../responses/SOL009_resp.yaml#/responses/400 + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "422": + $ref: ../responses/SOL009_resp.yaml#/responses/422 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + patch: + description: > + This method modifies an "Individual alarm" resource. This method shall + follow the provisions specified in the tables 7.5.4.3.4-1 and + 7.5.4.3.4-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 + schema: + type: string + - name: Authorization + description: | + The authorization token for the request. Reference: IETF RFC 7235 + in: header + required: false + schema: + type: string + - name: Content-Type + description: > + The Content-Type header shall be set to + "application/merge-patch+json" according to IETF RFC 7396. + in: header + required: true + schema: + type: string + enum: + - application/merge-patch+json + - name: Version + description: | + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: definitions/SOL009NFVManoFaultManagement_def.yaml#/definitions/AlarmModifications + description: > + The parameter for the alarm modification, as defined in clause + 7.6.2.8. The Content-Type header shall be set to + "application/merge-patch+json" according to IETF RFC 7396. + required: true + responses: + "200": + description: > + 200 OK + + Shall be returned when the request has been accepted and completed. ì The response body shall contain + attribute modifications for an "Individual alarm" resource (see clause 7.6.2.4). + headers: + Content-Type: + description: > + The MIME type of the body of the request. Reference: IETF RFC + 7231 + schema: + type: string + minimum: 1 + maximum: 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. + schema: + type: string + minimum: 0 + maximum: 1 + content: + application/json: + schema: + $ref: definitions/SOL009NFVManoFaultManagement_def.yaml#/definitions/AlarmModifications + "400": + $ref: ../responses/SOL009_resp.yaml#/responses/400 + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "409": + $ref: ../responses/SOL009_resp.yaml#/responses/409 + "412": + $ref: ../responses/SOL009_resp.yaml#/responses/412 + "422": + $ref: ../responses/SOL009_resp.yaml#/responses/422 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + /subscriptions: + post: + description: > + Subscribe. The POST method creates a new subscription. This method shall + follow the provisions specified in the tables 7.5.5.3.1-1 and + 7.5.5.3.1-2 for URI query parameters, request and response data + structures, and response codes. As the result of successfully executing + this method, a new "Individual subscription" resource as defined in + clause 7.5.6 shall have been created. This method shall not trigger any + notification. Creation of two "Individual subscription" resources with + the same callbackURI and the same filter can result in performance + degradation and will provide duplicates of notifications to the API + consumer, and might make sense only in very rare use cases. + Consequently, the NFV-MANO functional entity may either allow creating a + new "Individual subscription" resource if another "Individual + subscription" resource with the same filter and callbackUri already + exists (in which case it shall return the "201 Created" response code), + or may decide to not create a duplicate "Individual subscription" + resource (in which case it shall return a "303 See Other" response code + referencing the existing "Individual subscription" resource with the + same filter and callbackUri). + parameters: + - name: Accept + description: > + Content-Types that are acceptable for the response. Reference: IETF + RFC 7231 + in: header + required: true + schema: + type: string + - name: Authorization + description: | + The authorization token for the request. Reference: IETF RFC 7235 + in: header + required: false + schema: + type: string + - name: Content-Type + description: | + The MIME type of the body of the request. Reference: IETF RFC 7231 + in: header + required: true + schema: + type: string + - name: Version + description: | + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: definitions/SOL009NFVManoFaultManagement_def.yaml#/definitions/FmSubscriptionRequest + description: > + Details of the subscription to be created, as defined in clause + 7.6.2.2. + required: true + responses: + "201": + description: > + 201 CREATED + + Shall be returned when the subscription has been created successfully. The response body shall contain a + representation of the created "Individual subscription" resource. The HTTP response shall include a + "Location:"" HTTP header that points to the created "Individual subscription" resource. + headers: + Content-Type: + description: > + The MIME type of the body of the request. Reference: IETF RFC + 7231 + schema: + type: string + minimum: 1 + maximum: 1 + Location: + description: | + The resource URI of the created subscription resource. + schema: + type: string + format: url + minimum: 1 + maximum: 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. + schema: + type: string + minimum: 0 + maximum: 1 + content: + application/json: + schema: + $ref: definitions/SOL009NFVManoFaultManagement_def.yaml#/definitions/FmSubscription + "303": + $ref: ../responses/SOL009_resp.yaml#/responses/303 + "400": + $ref: ../responses/SOL009_resp.yaml#/responses/400 + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "422": + $ref: ../responses/SOL009_resp.yaml#/responses/422 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + get: + description: > + Query Subscription Information + + The client can use this method to retrieve the list of active subscriptions for NFV-MANO functional entity + alarms subscribed by the client. It can be used e.g. for resynchronization after error situations. This method + shall follow the provisions specified in the tables 7.5.5.3.2-1 and 7.5.5.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 + schema: + type: string + - name: Authorization + description: | + The authorization token for the request. Reference: IETF RFC 7235 + in: header + required: false + schema: + type: string + - name: Content-Type + description: | + The MIME type of the body of the request. Reference: IETF RFC 7231 + in: header + required: true + schema: + type: string + - name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of ETSI + GS NFV-SOL 013. The NFV-MANO functional entity shall support + receiving this parameter as part of the URI query string. The API + consumer may supply this parameter. All attribute names that appear + in the FmSubscription and in data types referenced from it shall be + supported by the NFV-MANO functional entity in the filter + expression. + in: query + required: false + schema: + type: string + - name: nextpage_opaque_marker + description: > + Marker to obtain the next page of a paged response. Shall be + supported by the NFV-MANO functional entity if the entity supports + alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS + NFV-SOL 013 for this resource. + in: query + required: false + schema: + type: string + - name: Version + description: | + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + responses: + "200": + description: > + 200 OK + + Shall be returned when the list of subscriptions has been queried successfully. The response body shall + contain in an array the representations of all active subscriptions of the functional block that invokes + the method, i.e. zero or more representations of FM subscriptions as defined in clause 7.6.2.3. If the + "filter" URI parameter was supplied in the request, the data in the response body shall have been + transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. If the NFV-MANO + functional entity supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 + for this resource, inclusion of the Link HTTP header in this response shall follow the provisions in + clause 5.4.2.3 of ETSI GS NFV-SOL 013. + headers: + Content-Type: + description: > + The MIME type of the body of the request. Reference: IETF RFC + 7231 + schema: + type: string + minimum: 1 + maximum: 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. + schema: + type: string + minimum: 0 + maximum: 1 + Version: + description: | + Version of the API used in the response. + schema: + type: string + minimum: 1 + maximum: 1 + Link: + description: > + Reference to other resources. Used for paging in the present + document, see clause 4.7.2.1. + schema: + type: string + minimum: 0 + maximum: 1 + content: + application/json: + schema: + $ref: definitions/SOL009NFVManoFaultManagement_def.yaml#/definitions/FmSubscription + "400": + $ref: ../responses/SOL009_resp.yaml#/responses/400 + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "422": + $ref: ../responses/SOL009_resp.yaml#/responses/422 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + "/subscriptions/{subscriptionId}": + 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 "Individual subscription" resource. + It can also be retrieved from the "id" attribute in the payload body + of that response. + in: path + required: true + schema: + type: string + get: + description: > + Query Subscription Information. The client can use this method for + reading an individual subscription for NFV-MANO functional entity alarms + subscribed by the client. This method shall follow the provisions + specified in the tables 7.5.6.3.2-1 and 7.5.6.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 + schema: + type: string + - name: Authorization + description: | + The authorization token for the request. Reference: IETF RFC 7235 + in: header + required: false + schema: + type: string + - name: Content-Type + description: | + The MIME type of the body of the request. Reference: IETF RFC 7231 + in: header + required: true + schema: + type: string + - name: Version + description: | + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + responses: + "200": + description: > + 200 OK + + 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 + schema: + type: string + minimum: 1 + maximum: 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. + schema: + type: string + minimum: 0 + maximum: 1 + Version: + description: | + Version of the API used in the response. + schema: + type: string + minimum: 1 + maximum: 1 + content: + application/json: + schema: + $ref: definitions/SOL009NFVManoFaultManagement_def.yaml#/definitions/FmSubscription + "400": + $ref: ../responses/SOL009_resp.yaml#/responses/400 + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "422": + $ref: ../responses/SOL009_resp.yaml#/responses/422 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + delete: + description: > + Terminate Subscription. This method terminates an individual + subscription. This method shall follow the provisions specified in the + tables 7.5.6.3.5-1 and 7.5.6.3.5-2 for URI query parameters, request and + response data structures, and response codes. As the result of + successfully executing this method, the "Individual subscription" + resource shall not exist any longer. This means that no notifications + for that subscription shall be sent to the formerly-subscribed API + consumer. NOTE: Due to race conditions, some notifications might still + be received by the formerly-subscribed API consumer for a certain time + period after the deletion. + parameters: + - name: Authorization + description: | + The authorization token for the request. Reference: IETF RFC 7235 + in: header + required: false + schema: + type: string + - name: Version + description: | + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + responses: + "204": + description: > + 204 NO CONTENT + + Shall be returned when the "Individual subscription" resource has been deleted 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. + schema: + type: string + minimum: 0 + maximum: 1 + Version: + description: | + Version of the API used in the response. + schema: + type: string + minimum: 1 + maximum: 1 + "400": + $ref: ../responses/SOL009_resp.yaml#/responses/400 + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "422": + $ref: ../responses/SOL009_resp.yaml#/responses/422 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + diff --git a/src/SOL009/NFVManoFaultManagement/definitions/SOL009NFVManoFaultManagement_def.yaml b/src/SOL009/NFVManoFaultManagement/definitions/SOL009NFVManoFaultManagement_def.yaml new file mode 100644 index 0000000..b3a1ea1 --- /dev/null +++ b/src/SOL009/NFVManoFaultManagement/definitions/SOL009NFVManoFaultManagement_def.yaml @@ -0,0 +1,472 @@ +# Copyright (c) ETSI 2019. +# https://forge.etsi.org/etsi-forge-copyright-notice.txt + +definitions: + FmSubscriptionRequest: + description: > + This type represents a subscription request related to notifications + about NFV-MANO 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. + $ref: "../../definitions/SOL009_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 8.3.4 of ETSI GS NFV-SOL 013. + This attribute shall only be present if the subscriber requires authorization of notifications. + $ref: "../../definitions/SOL009_def.yaml#/definitions/SubscriptionAuthentication" + + 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 "Individual subscription" resource. + $ref: "../../definitions/SOL009_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. + $ref: "../../definitions/SOL009_def.yaml#/definitions/Uri" + _links: + description: > + Links for this resource. + type: object + required: + - self + properties: + self: + description: > + URI of this resource. + $ref: "../../definitions/SOL009_def.yaml#/definitions/Link" + + Alarm: + description: > + The alarm data type encapsulates information about an alarm. + type: object + required: + - id + - managedObjectId + - alarmRaisedTime + - ackState + - perceivedSeverity + - eventTime + - eventType + - probableCause + - isRootCause + - _links + properties: + id: + description: > + Identifier of this Alarm information element. + $ref: "../../definitions/SOL009_def.yaml#/definitions/Identifier" + managedObjectId: + description: > + Identifier of the affected NFV-MANO instance. + $ref: "../../definitions/SOL009_def.yaml#/definitions/Identifier" + associatedFaultyInstanceId: + description: > + The resources that are causing the fault. + $ref: "../../definitions/SOL009_def.yaml#/definitions/ManoManagedObjectReference" + alarmRaisedTime: + description: > + Time stamp indicating when the alarm is raised by the managed + object. + $ref: "../../definitions/SOL009_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/SOL009_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/SOL009_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/PerceivedSeverityType" + eventTime: + description: > + Time stamp indicating when the fault was observed. + $ref: "../../definitions/SOL009_def.yaml#/definitions/DateTime" + eventType: + description: > + Type of event. + $ref: "#/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/SOL009_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/SOL009_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/SOL009_def.yaml#/definitions/Link" + + AlarmNotification: + description: > + This type represents an alarm notification about NFV-MANO functional entity faults. + It shall comply with the provisions defined in table 7.6.2.5-1. + This notification shall be triggered by the NFV-MANO functional entity when: + - An alarm has been created. + - An alarm has been updated, e.g. if the severity of the alarm has changed. + + 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/SOL009_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/SOL009_def.yaml#/definitions/Identifier" + timeStamp: + description: > + Date-time of the generation of the notification. + $ref: "../../definitions/SOL009_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/SOL009_def.yaml#/definitions/NotificationLink" + + 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: "../../definitions/SOL009_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: "../../definitions/SOL009_def.yaml#/definitions/Identifier" + timeStamp: + description: > + Date-time of the generation of the notification. + $ref: "../../definitions/SOL009_def.yaml#/definitions/DateTime" + alarmId: + description: > + Alarm identifier. + $ref: "../../definitions/SOL009_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: "../../definitions/SOL009_def.yaml#/definitions/NotificationLink" + alarm: + description: > + Link to the resource that represents the related alarm. + $ref: "../../definitions/SOL009_def.yaml#/definitions/NotificationLink" + + 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: "../../definitions/SOL009_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: "../../definitions/SOL009_def.yaml#/definitions/Identifier" + timeStamp: + description: > + Date-time of the generation of the notification. + $ref: "../../definitions/SOL009_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: "../../definitions/SOL009_def.yaml#/definitions/NotificationLink" + alarms: + description: > + Link to the alarm list, i.e. the "Alarms" resource. + $ref: "../../definitions/SOL009_def.yaml#/definitions/NotificationLink" + + 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 + + FmNotificationsFilter: + description: > + This type represents a subscription filter related to notifications about NFV-MANO functional entity faults. + It shall comply with the provisions defined in table 7.6.3.2-1. 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: + 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 + perceivedSeverities: + description: > + Match VNF alarms with a perceived severity listed in this attribute. + type: array + items: + $ref: "#/definitions/PerceivedSeverityType" + eventTypes: + description: > + Match VNF alarms with an event type listed in this attribute. + type: array + items: + $ref: "#/definitions/EventType" + probableCauses: + description: > + Match VNF alarms with a probable cause listed in this attribute. + type: array + items: + type: string + + 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/SOL009/NFVManoFaultManagementNotification/NFVManoFaultManagementNotification.yaml b/src/SOL009/NFVManoFaultManagementNotification/NFVManoFaultManagementNotification.yaml new file mode 100644 index 0000000..62ca60f --- /dev/null +++ b/src/SOL009/NFVManoFaultManagementNotification/NFVManoFaultManagementNotification.yaml @@ -0,0 +1,430 @@ +openapi: 3.0.0 +info: + version: 1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + title: SOL009 - NFV-MANO Fault Management Notification interface + description: > + SOL009 - NFV-MANO 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. + + 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 009 V0.8.0 + url: https://docbox.etsi.org/ISG/NFV/Open/Drafts/SOL009ed331_MANO_mgmt_stage_3/NFV-SOL009ed331v080.zip +paths: + /URI-is-provided-by-the-client-when-creating-the-subscription-AlarmNotification: + post: + description: > + The POST method notifies an NFV-MANO functional entity alarm or that the + alarm list has been rebuilt. The API consumer shall have previously + created an "Individual subscription" resource with a matching filter. + This method shall follow the provisions specified in the tables + 7.5.7.3.1-1 and 7.5.7.3.1-2 for URI query parameters, request and + response data structures, and response codes. + parameters: + - name: Authorization + description: | + The authorization token for the request. Reference: IETF RFC 7235 + in: header + required: false + schema: + type: string + - name: Content-Type + description: > + The Content-Type header shall be set to + "application/merge-patch+json" according to IETF RFC 7396. + in: header + required: true + schema: + type: string + - name: Version + description: | + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: ../NFVManoFaultManagement/definitions/SOL009NFVManoFaultManagement_def.yaml#/definitions/AlarmNotification + description: | + Information of a NFV-MANO functional entity alarm. + required: true + responses: + "204": + description: > + 204 NO CONTENT + + Shall be returned when the notification has been 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. + schema: + type: string + minimum: 0 + maximum: 1 + Version: + description: | + Version of the API used in the response. + schema: + type: string + minimum: 1 + maximum: 1 + "400": + $ref: ../responses/SOL009_resp.yaml#/responses/400 + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_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. This method shall + follow the provisions specified in the tables 7.5.7.3.2-1 and + 7.5.7.3.2-2 for URI query parameters, request and response data + structures, and response codes. + parameters: + - name: Authorization + description: | + The authorization token for the request. Reference: IETF RFC 7235 + in: header + required: false + schema: + type: string + - name: Version + description: | + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + responses: + "204": + description: > + 204 NO CONTENT + + Shall be returned to indicate that the notification endpoint has been tested successfully. + The response body shall be empty. + headers: + WWW-Authenticate: + 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. + schema: + type: string + minimum: 0 + maximum: 1 + Version: + description: | + Version of the API used in the response. + schema: + type: string + minimum: 1 + maximum: 1 + "400": + $ref: ../responses/SOL009_resp.yaml#/responses/400 + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + /URI-is-provided-by-the-client-when-creating-the-subscription-AlarmClearedNotification: + post: + description: > + The POST method notifies an NFV-MANO functional entity alarm or that the + alarm list has been rebuilt. The API consumer shall have previously + created an "Individual subscription" resource with a matching filter. + This method shall follow the provisions specified in the tables + 7.5.7.3.1-1 and 7.5.7.3.1-2 for URI query parameters, request and + response data structures, and response codes. + parameters: + - name: Authorization + description: | + The authorization token for the request. Reference: IETF RFC 7235 + in: header + required: false + schema: + type: string + - name: Content-Type + description: > + The Content-Type header shall be set to + "application/merge-patch+json" according to IETF RFC 7396. + in: header + required: true + schema: + type: string + - name: Version + description: | + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: ../NFVManoFaultManagement/definitions/SOL009NFVManoFaultManagement_def.yaml#/definitions/AlarmClearedNotification + description: | + Information of the clearance of an NFV-MANO functional entity alarm. + required: true + responses: + "204": + description: > + 204 NO CONTENT + + Shall be returned when the notification has been 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. + schema: + type: string + minimum: 0 + maximum: 1 + Version: + description: | + Version of the API used in the response. + schema: + type: string + minimum: 1 + maximum: 1 + "400": + $ref: ../responses/SOL009_resp.yaml#/responses/400 + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_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. This method shall + follow the provisions specified in the tables 7.5.7.3.2-1 and + 7.5.7.3.2-2 for URI query parameters, request and response data + structures, and response codes. + parameters: + - name: Authorization + description: | + The authorization token for the request. Reference: IETF RFC 7235 + in: header + required: false + schema: + type: string + - name: Version + description: | + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + responses: + "204": + description: > + 204 NO CONTENT + + Shall be returned to indicate that the notification endpoint has been tested successfully. + The response body shall be empty. + headers: + WWW-Authenticate: + 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. + schema: + type: string + minimum: 0 + maximum: 1 + Version: + description: | + Version of the API used in the response. + schema: + type: string + minimum: 1 + maximum: 1 + "400": + $ref: ../responses/SOL009_resp.yaml#/responses/400 + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + /URI-is-provided-by-the-client-when-creating-the-subscription-AlarmListRebuiltNotification: + post: + description: > + The POST method notifies an NFV-MANO functional entity alarm or that the + alarm list has been rebuilt. The API consumer shall have previously + created an "Individual subscription" resource with a matching filter. + This method shall follow the provisions specified in the tables + 7.5.7.3.1-1 and 7.5.7.3.1-2 for URI query parameters, request and + response data structures, and response codes. + parameters: + - name: Authorization + description: | + The authorization token for the request. Reference: IETF RFC 7235 + in: header + required: false + schema: + type: string + - name: Content-Type + description: > + The Content-Type header shall be set to + "application/merge-patch+json" according to IETF RFC 7396. + in: header + required: true + schema: + type: string + - name: Version + description: | + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: ../NFVManoFaultManagement/definitions/SOL009NFVManoFaultManagement_def.yaml#/definitions/AlarmListRebuiltNotification + description: > + Information that the alarm list has been rebuilt by the NFV-MANO + functional entity. + required: true + responses: + "204": + description: > + 204 NO CONTENT + + Shall be returned when the notification has been 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. + schema: + type: string + minimum: 0 + maximum: 1 + Version: + description: | + Version of the API used in the response. + schema: + type: string + minimum: 1 + maximum: 1 + "400": + $ref: ../responses/SOL009_resp.yaml#/responses/400 + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_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. This method shall + follow the provisions specified in the tables 7.5.7.3.2-1 and + 7.5.7.3.2-2 for URI query parameters, request and response data + structures, and response codes. + parameters: + - name: Authorization + description: | + The authorization token for the request. Reference: IETF RFC 7235 + in: header + required: false + schema: + type: string + - name: Version + description: | + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + responses: + "204": + description: > + 204 NO CONTENT + + Shall be returned to indicate that the notification endpoint has been tested successfully. The response body shall be empty. + headers: + WWW-Authenticate: + 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. + schema: + type: string + minimum: 0 + maximum: 1 + Version: + description: | + Version of the API used in the response. + schema: + type: string + minimum: 1 + maximum: 1 + "400": + $ref: ../responses/SOL009_resp.yaml#/responses/400 + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 +servers: + - url: /callback/v1 diff --git a/src/SOL009/definitions/SOL009_def.yaml b/src/SOL009/definitions/SOL009_def.yaml new file mode 100644 index 0000000..7666913 --- /dev/null +++ b/src/SOL009/definitions/SOL009_def.yaml @@ -0,0 +1,328 @@ +# Copyright (c) ETSI 2019. +# https://forge.etsi.org/etsi-forge-copyright-notice.txt +definitions: + Link: + description: > + This type represents a link to a resource using an absolute URI. + type: object + required: + - href + properties: + href: + description: > + URI of another resource referenced from a resource. + Shall be an absolute URI (i.e. a UTI that contains {apiRoot}). + $ref: "#/definitions/Uri" + + NotificationLink: + description: > + This type represents a link to a resource in a notification, using an absolute or relative URI. + type: object + required: + - href + properties: + href: + description: > + URI of a resource referenced from a notification. + Should be an absolute URI (i.e. a URI that contains + {apiRoot}), however, may be a relative URI (i.e. a URI + where the {apiRoot} part is omitted) if the {apiRoot} + information is not available. + $ref: "#/definitions/Uri" + + KeyValuePairs: + description: > + This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, + a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 + of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", + "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of + different type. + type: object + + ApiVersionInformation: + description: > + This type represents API version information. + type: object + required: + - uriPrefix + - apiVersions + properties: + uriPrefix: + description: > + Specifies the URI prefix for the API, in the following + form {apiRoot}/{apiName}/{apiMajorVersion}/. + type: string + apiVersions: + description: > + Version(s) supported for the API signaled by the + uriPrefix attribute. + type: array + items: + type: object + required: + - version + properties: + version: + description: > + Identifies a supported version. The value of the + version attribute shall be a version identifier as + specified in clause 9.1 (SOL013). + type: string + isDeprecated: + description: > + If such information is available, this attribute indicates + whether use of the version signaled by the version + attribute is deprecated (true) or not (false). + + A deprecated version is still supported by the API producer but is recommended + not to be used any longer. + When a version is no longer supported, it does not appear in the response body. + type: boolean + retirementDate: + description: > + The date and time after which the API version will no + longer be supported. + This attribute may be included if the value of the + isDeprecated attribute is set to true and shall be + absent otherwise. + $ref: "#/definitions/DateTime" + + Identifier: + description: > + An identifier with the intention of being globally unique. + type: string + + IdentifierInManoEntity: + description: > + An identifier that is unique for the respective type within a NFV-MANO functional entity, + but that need not be globally unique. Representation: string of variable length.. + type: string + + IdentifierLocal: + description: > + An identifier that is unique within a limited local scope other than above listed identifiers, + such as within a complex data structure or within a request-response pair. + Representation: string of variable length. + type: string + + DateTime: + description: > + Date-time stamp. + Representation: String formatted according to IETF RFC 3339. + type: string + format: date-time + + Uri: + description: > + String formatted according to IETF RFC 3986. + type: string + + Boolean: + description: > + The Boolean is a data type having two values (true and false). + type: boolean + + Version: + description: > + A version. + type: string + + String: + description: > + A string defined in IETF RFC 8259. + type: string + + Number: + description: > + A number defined in IETF RFC 8259. + type: number + + ProblemDetails: + description: > + The definition of the general "ProblemDetails" data structure from + IETF RFC 7807 [19] is reproduced inthis structure. Compared to the + general framework defined in IETF RFC 7807 [19], the "status" and + "detail" attributes are mandated to be included by the present document, + to ensure that the response contains additional textual information about + an error. IETF RFC 7807 [19] foresees extensibility of the + "ProblemDetails" type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to define + additional attributes that provide more information about the error. + The description column only provides some explanation of the meaning to + Facilitate understanding of the design. For a full description, see + IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that identifies the + problem type. It is encouraged that the URI provides human-readable + documentation for the problem (e.g. using HTML) when dereferenced. + When this member is not present, its value is assumed to be + "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It should not + change from occurrence to occurrence of the problem, except for + purposes of localization. If type is given and other than + "about:blank", this attribute shall also be provided. + A short, human-readable summary of the problem + type. It SHOULD NOT change from occurrence to occurrence of the + problem, except for purposes of localization (e.g., using + proactive content negotiation; see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by the origin + server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence of the + problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of the + problem. It may yield further information if dereferenced. + type: string + format: URI + #TODO: How to express "any additional attributes"? + + SubscriptionAuthentication: + type: object + required: + - authType + properties: + authType: + description: > + Defines the types of Authentication / Authorization which the API + consumer is willing to accept when receiving a notification. + Permitted values: + * BASIC: In every HTTP request to the notification endpoint, use + HTTP Basic authentication with the client credentials. + * OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the + notification endpoint, use an OAuth 2.0 Bearer token, obtained + using the client credentials grant type. + * TLS_CERT: Every HTTP request to the notification endpoint is sent + over a mutually authenticated TLS session, i.e. not only the + server is authenticated, but also the client is authenticated + during the TLS tunnel setup. + type: array + items: + type: string + enum: + - BASIC + - OAUTH2_CLIENT_CREDENTIALS + - TLS_CERT + paramsBasic: + description: > + Parameters for authentication/authorization using BASIC. + Shall be present if authType is "BASIC" and the contained + information has not been provisioned out of band. + Shall be absent otherwise. + type: object + properties: + userName: + description: > + Username to be used in HTTP Basic authentication. Shall be + present if it has not been provisioned out of band. + type: string + password: + description: > + Password to be used in HTTP Basic authentication. Shall be + present if it has not been provisioned out of band. + type: string + paramsOauth2ClientCredentials: + description: > + Parameters for authentication/authorization using + OAUTH2_CLIENT_CREDENTIALS. + Shall be present if authType is "OAUTH2_CLIENT_CREDENTIALS" and the + contained information has not been provisioned out of band. + Shall be absent otherwise. + type: object + properties: + clientId: + description: > + Client identifier to be used in the access token request of the + OAuth 2.0 client credentials grant type. + Shall be present if it has not been provisioned out of band. + The clientId and clientPassword passed in a subscription shall + not be the same as the clientId and clientPassword that are used + to obtain authorization for API requests. Client credentials may + differ between subscriptions. The value of clientPassword should + be generated by a random process. + type: string + clientPassword: + description: > + Client password to be used in the access token request of the + OAuth 2.0 client credentials grant type. + Shall be present if it has not been provisioned out of band. + The clientId and clientPassword passed in a subscription shall + not be the same as the clientId and clientPassword that are used + to obtain authorization for API requests. Client credentials may + differ between subscriptions. The value of clientPassword should + be generated by a random process. + type: string + tokenEndpoint: + description: > + The token endpoint from which the access token can be obtained. + Shall be present if it has not been provisioned out of band. + $ref: "#/definitions/Uri" + + ManoManagedObjectReference: + description: > + This type represents the identifier to reference a managed object of a particular type. + It shall comply with the provisions defined in Table 4.3.2.3-1. + type: object + required: + - type + - objectId + properties: + type: + description: > + Indicates the type of managed object. + type: string + enum: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + objectId: + description: > + Identifier of the managed object. + - If type="MANO_ENTITY", it corresponds to the value of the attribute "id" of the "ManoEntity" + representing an NFV-MANO functional entity. + - If type="MANO_SERVICE", it corresponds to the value of the attribute "id" of the "ManoEntity" + representing the NFV-MANO functional entity that contains the "ManoService" sub-object. + - If type="MANO_SERVICE_IF", it corresponds to the value of the attribute "id" of the + "ManoServiceInterface" representing the NFV-MANO functional entity that contains the + "ManoServiceInterface" sub-object. + - If type="CONSUMED_MANO_IF", the value corresponds to the value of the attribute "id" of the + "ConsumedManoInterfaceInfo" representing a consumed NFV-MANO service interface from a peer + functional entity. + - If type="MANO_ENTITY_COMPONENT", the value corresponds to the value of the attribute "id" of the + "ManoEntity" representing the NFV-MANO functional entity that contains the "ManoEntityComponent" sub-object. + $ref: "#/definitions/Identifier" + subObjectId: + description: > + Identifier of the managed sub-object. It shall be present if type equals to "MANO_SERVICE" or + "MANO_SERVICE_IF" or "MANO_ENTITY_COMPONENT". + + - If type="MANO_SERVICE", it corresponds to the value of the attribute "id" of the "ManoService" + representing an individual NFV-MANO service. + - If type="MANO_SERVICE_IF", it corresponds to the value of the attribute "id" of the + "ManoServiceInterface" representing an individual NFV-MANO service interface. + - If type="MANO_ENTITY_COMPONENT", it corresponds to the value of the attribute "id" of the + "ManoEntityComponent" representing an NFV-MANO functional entity component. + $ref: "#/definitions/IdentifierInManoEntity" + + + diff --git a/src/SOL009/endpoints/SOL009_endpoints.yaml b/src/SOL009/endpoints/SOL009_endpoints.yaml new file mode 100644 index 0000000..e547fc2 --- /dev/null +++ b/src/SOL009/endpoints/SOL009_endpoints.yaml @@ -0,0 +1,52 @@ +# Copyright (c) ETSI 2019. +# https://forge.etsi.org/etsi-forge-copyright-notice.txt +endpoints: + api_versions: + parameters: + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: false + type: string + get: + summary: Retrieve API version information + description: > + The GET method reads API version information. This method shall follow the provisions specified in + table 4.6.3.3.3.2-1 for request and response data structures, and response codes. URI query parameters are not + supported. + responses: + 200: + description: > + 200 OK + + API version information was read successfully. + The response body shall contain 4.4 API version + information, as defined in clause 4.4.1.13. + schema: + $ref: '../definitions/SOL009_def.yaml#/definitions/ApiVersionInformation' + headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 + 400: { $ref: '../responses/SOL009_resp.yaml#/responses/400' } + 401: { $ref: '../responses/SOL009_resp.yaml#/responses/401' } + 403: { $ref: '../responses/SOL009_resp.yaml#/responses/403' } + 404: { $ref: '../responses/SOL009_resp.yaml#/responses/404' } + 405: { $ref: '../responses/SOL009_resp.yaml#/responses/405' } + 406: { $ref: '../responses/SOL009_resp.yaml#/responses/406' } + 413: { $ref: '../responses/SOL009_resp.yaml#/responses/413' } + 414: { $ref: '../responses/SOL009_resp.yaml#/responses/414' } + 416: { $ref: '../responses/SOL009_resp.yaml#/responses/416' } + 422: { $ref: '../responses/SOL009_resp.yaml#/responses/422' } + 429: { $ref: '../responses/SOL009_resp.yaml#/responses/429' } + 500: { $ref: '../responses/SOL009_resp.yaml#/responses/500' } + 503: { $ref: '../responses/SOL009_resp.yaml#/responses/503' } + 504: { $ref: '../responses/SOL009_resp.yaml#/responses/504' } \ No newline at end of file diff --git a/src/SOL009/responses/SOL009_resp.yaml b/src/SOL009/responses/SOL009_resp.yaml new file mode 100644 index 0000000..060f4ff --- /dev/null +++ b/src/SOL009/responses/SOL009_resp.yaml @@ -0,0 +1,571 @@ +# Copyright (c) ETSI 2017. +# https://forge.etsi.org/etsi-forge-copyright-notice.txt + +responses: + 206: + description: > + 206 PARTIAL CONTENT + headers: + Content-Type: + description: > + The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Content-Range: + description: > + The Content-Range response HTTP header indicates where in a full body message a partial message belongs. + 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/SOL009_def.yaml#/definitions/ProblemDetails" + + 303: + description: > + 303 See Other + 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 + + 400: + description: > + 400 BAD REQUEST + + 400 code can be returned in the following specified cases, the specific cause has to be proper specified in the + "ProblemDetails" structure to be returned. + + If the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect + query parameters or the payload body contains a syntactically incorrect data structure), + the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided, + and should include in the "detail" attribute more information about the source of the problem. + + If the response to a GET request which queries a container resource would be so big that the performance + of the API producer is adversely affected, and the API producer does not support paging for the affected resource, + it shall respond with this response code. The "ProblemDetails" structure shall be provided, and should include + in the "detail" attribute more information about the source of the problem. + + If there is an application error related to the client's input that cannot be easily mapped to any other + HTTP response code ("catch all error"), the API producer shall respond with this response code. + The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information + about the source of the problem. + + If the request contains a malformed access token, the API producer should respond with this response. + The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 + and IETF RFC 7235. The ProblemDetails structure may be provided. + + The use of this HTTP error response code described above is applicable to the use of the OAuth 2.0 + for the authorization of API requests and notifications, as defined in clauses 4.5.3.3 and 4.5.3.4. + 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/SOL009_def.yaml#/definitions/ProblemDetails" + + 401: + description: > + 401 UNAUTHORIZED + + If the request contains no access token even though one is required, or if the request contains an authorization + token that is invalid (e.g. expired or revoked), the API producer should respond with this response. + The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 + and IETF RFC 7235. The ProblemDetails structure may be provided. + 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/SOL009_def.yaml#/definitions/ProblemDetails" + + 403: + description: > + 403 FORBIDDEN + + If the API consumer is not allowed to perform a particular request to a particular resource, + the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided. + It should include in the "detail" attribute information about the source of the problem, + and may indicate how to solve it. + 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/SOL009_def.yaml#/definitions/ProblemDetails" + + 404: + description: > + 404 NOT FOUND + + If the API producer did not find a current representation for the resource addressed by the URI passed + in the request or is not willing to disclose that one exists, it shall respond with this response code. + The "ProblemDetails" structure may be provided, including in the "detail" attribute information about + the source of the problem, e.g. a wrong resource URI variable. + + This response code is not appropriate in case the resource addressed by the URI is a container resource + which is designed to contain child resources, but does not contain any child resource at the time + the request is received. For a GET request to an existing empty container resource, a typical response + contains a 200 OK response code and a payload body with an empty array. + 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/SOL009_def.yaml#/definitions/ProblemDetails" + + 405: + description: > + 405 METHOD NOT ALLOWED + + If a particular HTTP method is not supported for a particular resource, the API producer shall respond + with this response code. The "ProblemDetails" structure may be omitted. + 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/SOL009_def.yaml#/definitions/ProblemDetails" + + 406: + description: > + 406 NOT ACCEPTABLE + + If the "Accept" HTTP header does not contain at least one name of a content type + that is acceptable to the API producer, the API producer shall respond with this + response code. The "ProblemDetails" structure may be omitted. + 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/SOL009_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/SOL009_def.yaml#/definitions/ProblemDetails" + + 412: + description: > + 412 PRECONDITION FAILED + + Error: A precondition given in an HTTP request header is not fulfilled. + Typically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. + The response body should 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 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + schema: + $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + + 413: + description: > + 413 PAYLOAD TOO LARGE + + If the payload body of a request is larger than the amount of data the API producer is willing or able to process, + it shall respond with this response code, following the provisions in IETF RFC 7231 for the use + of the "Retry-After" HTTP header and for closing the connection. The "ProblemDetails" structure may be omitted. + 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/SOL009_def.yaml#/definitions/ProblemDetails" + + 414: + description: > + 414 URI TOO LONG + + If the request URI of a request is longer than the API producer is willing or able to process, + it shall respond with this response code. This condition can e.g. be caused by passing long queries + in the request URI of a GET request. The "ProblemDetails" structure may be omitted. + 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/SOL009_def.yaml#/definitions/ProblemDetails" + + 416: + description: > + 416 Range Not Satisfiable + 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/SOL009_def.yaml#/definitions/ProblemDetails" + + 422: + description: > + 422 UNPROCESSABLE ENTITY + + If the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data + cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond + with this response code. The "ProblemDetails" structure shall be provided, and should include in the "detail" + attribute more information about the source of the problem. + + This error response code is only applicable for methods that have a request body. + 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/SOL009_def.yaml#/definitions/ProblemDetails" + + 429: + description: > + 429 TOO MANY REQUESTS + + If the API consumer has sent too many requests in a defined period of time and the API producer is able + to detect that condition ("rate limiting"), the API producer shall respond with this response code, + following the provisions in IETF RFC 6585 [17] for the use of the "Retry-After" HTTP header. + The "ProblemDetails" structure shall be provided and shall include in the "detail" attribute more information + about the source of the problem. + + The period of time and allowed number of requests are configured within the API producer by means + outside the scope of the present document. + 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/SOL009_def.yaml#/definitions/ProblemDetails" + + 500: + description: > + 500 INTERNAL SERVER ERROR + + If there is an application error not related to the client's input that cannot be easily mapped to any other + HTTP response code ("catch all error"), the API producer shall respond with this response code. + The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information + about the source of the problem. + 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/SOL009_def.yaml#/definitions/ProblemDetails" + + 503: + description: > + 503 SERVICE UNAVAILABLE + + If the API producer encounters an internal overload situation of itself or of a system it relies on, + it should respond with this response code, following the provisions in IETF RFC 7231 for the use of + the "Retry-After" HTTP header and for the alternative to refuse the connection. The "ProblemDetails" + structure may be omitted. + 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/SOL009_def.yaml#/definitions/ProblemDetails" + + 504: + description: > + 504 GATEWAY TIMEOUT + + If the API producer encounters a timeout while waiting for a response from an upstream server + (i.e. a server that the API producer communicates with when fulfilling a request), it should respond + with this response code. + 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/SOL009_def.yaml#/definitions/ProblemDetails" \ No newline at end of file -- GitLab From 5bdb768a05fb28f715fb0b6358838c182cf0bf03 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Sun, 10 Nov 2019 19:52:20 +0100 Subject: [PATCH 02/55] first version of Log management --- .../NFVManoFaultManagementNotification.yaml | 19 +- .../NFVManoLogManagement.yaml | 1263 +++++++++++++++++ src/SOL009/definitions/SOL009_def.yaml | 7 + 3 files changed, 1281 insertions(+), 8 deletions(-) create mode 100644 src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml diff --git a/src/SOL009/NFVManoFaultManagementNotification/NFVManoFaultManagementNotification.yaml b/src/SOL009/NFVManoFaultManagementNotification/NFVManoFaultManagementNotification.yaml index 62ca60f..a90eb89 100644 --- a/src/SOL009/NFVManoFaultManagementNotification/NFVManoFaultManagementNotification.yaml +++ b/src/SOL009/NFVManoFaultManagementNotification/NFVManoFaultManagementNotification.yaml @@ -1,4 +1,4 @@ -openapi: 3.0.0 +openapi: 3.0.2 info: version: 1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 title: SOL009 - NFV-MANO Fault Management Notification interface @@ -14,6 +14,10 @@ info: externalDocs: description: ETSI GS NFV-SOL 009 V0.8.0 url: https://docbox.etsi.org/ISG/NFV/Open/Drafts/SOL009ed331_MANO_mgmt_stage_3/NFV-SOL009ed331v080.zip + +servers: + - url: /callback/v1 + paths: /URI-is-provided-by-the-client-when-creating-the-subscription-AlarmNotification: post: @@ -26,7 +30,7 @@ paths: response data structures, and response codes. parameters: - name: Authorization - description: | + description: > The authorization token for the request. Reference: IETF RFC 7235 in: header required: false @@ -41,7 +45,7 @@ paths: schema: type: string - name: Version - description: | + description: > Version of the API requested to use when responding to this request. in: header required: true @@ -52,7 +56,7 @@ paths: application/json: schema: $ref: ../NFVManoFaultManagement/definitions/SOL009NFVManoFaultManagement_def.yaml#/definitions/AlarmNotification - description: | + description: > Information of a NFV-MANO functional entity alarm. required: true responses: @@ -395,8 +399,8 @@ paths: 204 NO CONTENT Shall be returned to indicate that the notification endpoint has been tested successfully. The response body shall be empty. - headers: - WWW-Authenticate: + headers: + WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP @@ -426,5 +430,4 @@ paths: $ref: ../responses/SOL009_resp.yaml#/responses/500 "503": $ref: ../responses/SOL009_resp.yaml#/responses/503 -servers: - - url: /callback/v1 + diff --git a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml new file mode 100644 index 0000000..14f868f --- /dev/null +++ b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml @@ -0,0 +1,1263 @@ +openapi: 3.0.2 +info: + version: 1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + title: SOL009 - NFV-MANO Log Management interface + description: > + SOL009 - NFV-MANO Log Management 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. + + 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 009 V0.8.0 + url: https://docbox.etsi.org/ISG/NFV/Open/Drafts/SOL009ed331_MANO_mgmt_stage_3/NFV-SOL009ed331v080.zip + +security: + - OauthSecurity: + - all +servers: + - url: http://127.0.0.1/nfvmanologm/v1 + - url: https://127.0.0.1/nfvmanologm/v1 + + +paths: + "/api_versions": + $ref: ../endpoints/SOL009_endpoints.yaml#/endpoints/api_versions + "/log_jobs": + description: >- + This resource represents logging jobs. The API consumer can use this resource to create and query logging jobs. + post: + description: >- + The POST method creates a logging job. + This method shall follow the provisions specified in the tables 8.5.3.3.1-1 and 8.5.3.3.1-2 for URI query + parameters, request and response data structures, and response codes. + As the result of successfully executing this method, a new "Individual logging job" resource as defined in + clause 9.5.4 shall have been created. + parameters: + - $ref: "#/components/parameters/Version" + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Authorization" + requestBody: + $ref: "#/components/requestBodies/CreateLoggingJobRequest" + responses: + "201": + $ref: '#/components/responses/LoggingJob.Post' + "400": + $ref: ../responses/SOL009_resp.yaml#/responses/400 + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "422": + $ref: ../responses/SOL009_resp.yaml#/responses/422 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + get: + description: >- + The API consumer can use this method to retrieve information about logging jobs. + This method shall follow the provisions specified in the tables 8.5.3.3.2-1 and 8.5.3.3.2-2 for + URI query parameters, request and response data structures, and response codes. + parameters: + - $ref: "#/components/parameters/filter" + - $ref: "#/components/parameters/all_fields" + - $ref: "#/components/parameters/fields" + - $ref: "#/components/parameters/exclude_fields" + - $ref: "#/components/parameters/exclude_default" + - $ref: "#/components/parameters/nextpage_opaque_marker" + - $ref: "#/components/parameters/Version" + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Authorization" + responses: + "200": + $ref: '#/components/responses/LoggingJobs.Get' + "400": + $ref: ../responses/SOL009_resp.yaml#/responses/400 + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "422": + $ref: ../responses/SOL009_resp.yaml#/responses/422 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + + "/log_jobs/{logJobId}": + description: >- + This resource represents an individual logging job. The API consumer can use this resource to delete + and read the underlying logging job. + get: + description: >- + The API consumer can use this method for reading an individual logging job. + This method shall follow the provisions specified in the tables 8.5.4.3.2-1 and 8.5.4.3.2-2 for + URI query parameters, request and response data structures, and response codes. + parameters: + - $ref: "#/components/parameters/logJobId" + - $ref: "#/components/parameters/Version" + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Authorization" + + responses: + "200": + $ref: '#/components/responses/LoggingJob.Get' + "400": + $ref: ../responses/SOL009_resp.yaml#/responses/400 + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "422": + $ref: ../responses/SOL009_resp.yaml#/responses/422 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + + delete: + description: >- + This method terminates an individual logging job. + This method shall follow the provisions specified in the tables 8.5.4.3.5-1 and 8.5.4.3.5-2 for URI + query parameters, request and response data structures, and response codes. + As the result of successfully executing this method, the "Individual logging job" resource shall not + exist any longer + parameters: + - $ref: "#/components/parameters/Version" + - $ref: "#/components/parameters/Authorization" + responses: + "204": + $ref: '#/components/responses/LoggingJob.Delete' + "400": + $ref: ../responses/SOL009_resp.yaml#/responses/400 + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "422": + $ref: ../responses/SOL009_resp.yaml#/responses/422 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + + "/log_jobs/{logJobId}/log_reports/{logReportId}": + description: >- + This resource represents an individual log report. The API consumer can use this resource to read + information about a log report. + The log report provides metadata information about a log and location information of the log file + from where it can be obtained. + NOTE: The present document does not specify the mechanism how to retrieve the log files. + get: + description: >- + The API consumer can use this method for reading an individual log report. + This method shall follow the provisions specified in the tables 8.5.5.3.2-1 and + 8.5.5.3.2-2 for URI query parameters, request and response data structures, and response codes. + parameters: + - $ref: "#/components/parameters/logJobId" + - $ref: "#/components/parameters/logJobReportId" + - $ref: "#/components/parameters/Version" + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Authorization" + responses: + "200": + $ref: '#/components/responses/LogReport.Get' + "202": + $ref: '#/components/responses/LogReport.Get.202' + "400": + $ref: ../responses/SOL009_resp.yaml#/responses/400 + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "422": + $ref: ../responses/SOL009_resp.yaml#/responses/422 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + + "/log_jobs/{logJobId}/compile_log": + description: >- + This resource represents the "Compile log" operation. The API consumer can use this resource to request + compiling the logged data, collected via a logging job, into a file and creating the associated log report. + As the result of successfully processing this request, a new "Individual log report" resource shall be created. + Two modes of operation, synchronous or asynchronous, can take place depending on whether the NFV-MANO functional + entity can compile the log data and create the log report immediately. In the synchronous case, which is + indicated by responding with "201 Created", the resource shall be created before the "201 Created" response + is returned. In the asynchronous case, which is indicated by responding with "202 Accepted", the resource may + be created after the response is returned. + post: + description: >- + The POST method requests to compile the logged data into a file and create an associated log report. + This method shall follow the provisions specified in the tables 8.5.6.3.1-1 and 8.5.6.3.1-2 for URI + query parameters, request and response data structures, and response codes. + parameters: + - $ref: "#/components/parameters/logJobId" + - $ref: "#/components/parameters/Version" + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Authorization" + requestBody: + $ref: "#/components/requestBodies/CompileLogRequest" + responses: + "200": + $ref: '#/components/responses/LogReportCompiled' + "202": + $ref: '#/components/responses/LogReportCompiled.202' + "303": + $ref: '#/components/responses/LogReportCompiled.303' + "422": + $ref: '#/components/responses/LogReportCompiled.422' + "400": + $ref: ../responses/SOL009_resp.yaml#/responses/400 + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + + "/subscriptions": + + "/subscriptions/{subscriptionId}": + + +components: + parameters: + Version: + name: Version + description: >- + Version of the API requested to use when responding to this request + in: header + required: true + schema: + type: string + Accept: + name: Accept + description: >- + Content-Types that are acceptable for the response. Reference: IETF RFC 7231 + in: header + required: true + schema: + type: string + Authorization: + name: Authorization + description: >- + The authorization token for the request. Reference: IETF RFC 7235 + in: header + required: false + schema: + type: string + logJobId: + name: logJobId + in: path + description: >- + Identifier of the logging job. + required: true + schema: + type: string + filter: + name: filter + in: query + description: >- + Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013. + The NFV-MANO functional entity shall support receiving this parameter as part of the URI query string. + The API consumer may supply this parameter. + All attribute names that appear in the LoggingJob and in data types referenced from it shall be supported by + the NFV-MANO functional entity in the filter expression + required: false + schema: + type: string + all_fields: + name: all_fields + in: query + description: >- + Include all complex attributes in the response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. + The NFV-MANO functional entity shall support this parameter. + required: false + schema: + type: string + fields: + name: fields + in: query + description: >- + Complex attributes to be included into the response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. + The NFV-MANO functional entity should support this parameter. + required: false + schema: + type: string + exclude_fields: + name: exclude_fields + in: query + description: >- + Complex attributes to be excluded from the response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. + The NFV-MANO functional entity should support this parameter. + required: false + schema: + type: string + exclude_default: + name: exclude_default + in: query + description: >- + Indicates to exclude the following complex attributes from the response. See clause 5.3 of ETSI GS NFV-SOL 013 + for details. The NFV-MANO functional entity shall support this parameter. + The following attributes shall be excluded from the LoggingJob structure in the response body if this parameter + is provided, or none of the parameters "all_fields," "fields", "exclude_fields", "exclude_default" are provided + -logReports + required: false + schema: + type: string + nextpage_opaque_marker: + name: nextpage_opaque_marker + in: query + description: >- + Marker to obtain the next page of a paged response. Shall be supported by the NFV-MANO functional entity if + the NFV-MANO functional entity supports alternative 2 (paging) according to clause 5.4.2.1 of + ETSI GS NFV-SOL 013 for this resource. + required: false + schema: + type: string + + requestBodies: + CreateLoggingJobRequest: + description: >- + This type represents a request to create a logging job. It shall comply with the provisions + defined in table 8.6.2.5-1. + content: + application/json: + schema: + $ref: "#/components/schemas/CreateLoggingJobRequest" + required: true + CompileLogRequest: + description: >- + Log compilation request. + content: + application/json: + schema: + $ref: "#/components/schemas/CompileLogRequest" + required: true + + responses: + LogReportCompiled: + description: >- + Shall be returned for a successful compilation of the log data and creation of the associated log report + (synchronous mode). + The response body shall contain a representation of the log report resource, as defined in clause 8.6.2.7. + The HTTP response shall include a "Location" HTTP header that indicate the URI of the + "Individual log report" resource just created + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + Location: + description: > + URI of the "Individual log report" resource just created + schema: + type: string + content: + application/json: + schema: + $ref: "#/components/schemas/LogReport" + + LogReportCompiled.202: + description: >- + Shall be returned when the request has been accepted for processing, and it is expected to take some + time to compile the log file and create the associated log report (asynchronous mode). + The response body shall be empty. + The HTTP response shall include a "Location" HTTP header that indicates the URI of the + "Individual log report" resource that will be created once the log file compilation is completed. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + Location: + description: > + The URI of the "Individual log report" resource that will be created once the log file + compilation is completed. + schema: + type: string + + LogReportCompiled.303: + description: >- + Shall be returned when a log data compilation and report creation is already ongoing, or a log report has just been + created, for the specified logging job at the time of processing the request. + The response body shall be empty. + The HTTP response shall include a "Location" HTTP header that contains the resource URI of the log report + resource just created, or to be created by the ongoing compilation and report creation. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + Location: + description: > + The URI of the log report resource just created, or to be created by the ongoing compilation + and report creation + schema: + type: string + + LogReportCompiled.422: + description: >- + The general cause for this error and its handling is specified in clause 6.4 of ETSI GS NFV-SOL 013, + including rules for the presence of the response body. + Specifically, in case of this task resource, the response code 422 shall also be returned if the + "objectInstanceId" value provided in the payload body of the request does not correspond to an object + instance for which log data is being collected by the logging job represented by this resource. + 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. + schema: + type: string + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + $ref: '../definitions/SOL009_def.yaml#/definitions/ProblemDetails' + + LogReport.Get: + description: >- + Shall be returned when information of an individual log report has been read successfully. + The response body shall contain a representation of the "Individual log report" resource, as + defined in clause 8.6.2.7. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + $ref: "#/components/schemas/LogReport" + + LogReport.Get.202: + description: >- + Shall be returned if the creation of the log report is ongoing and no log report is available yet + (applicable in asynchronous mode of the "Compile log task" resource). + The response body shall be empty. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + + LoggingJob.Get: + description: >- + Shall be returned when information about an individual logging job has been read successfully. + The response body shall contain a representation of the "Individual logging job" resource, + as defined in clause 8.6.2.6. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + $ref: "#/components/schemas/LoggingJob" + + LoggingJob.Delete: + description: >- + Shall be returned when the logging job has been deleted 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. + schema: + type: string + Version: + description: >- + Version of the API used in the response. + schema: + type: string + + LoggingJob.Post: + description: >- + The response body contains the Application Context as it was created + by the MEC system + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + $ref: "#/components/schemas/LoggingJob" + LoggingJobs.Get: + description: >- + Shall be returned when information about zero or more logging jobs has been queried successfully. + + The response body shall contain in an array the representations of zero or more logging jobs, as + defined in clause 8.6.2.6. + + If the "filter" URI parameter or one of the "all_fields", "fields" (if supported), "exclude_fields" + (if supported) or "exclude_default" URI parameters was supplied in the request, the data in the response + body shall have been transformed according to the rules specified in clauses 5.2.2 and 5.3.2 of + ETSI GS NFV-SOL 013, respectively. + + If the NFV-MANO functional entity supports alternative 2 (paging) according to clause 5.4.2.1 of + ETSI GS NFV-SOL 013 for this resource, inclusion of the Link HTTP header in this response shall + follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/LoggingJob" + schemas: + CompileLogRequest: + description: > + This type represents a request to compile the logged data associated to an object instance. + It shall comply with the provisions defined in table 8.6.2.8-1. + type: object + properties: + objectInstanceId: + description: > + Identifier of the object instance for which logging information is requested to be compiled. The provided + value shall correspond to an object instance for which log data is being collected as specified in the + corresponding "LoggingJob". If not present, the compile log request is requested for all managed object + instances associated to the logging job. + $ref: "#/components/schemas/ManoManagedObjectReference" + LogReport: + description: > + This type represents a log report, which provides information about a compiled log and how to obtain it. + It shall comply with the provisions defined in table 8.6.2.7-1. + type: object + required: + - id + - objectInstanceId + - compilationTrigger + - readyTime + - fileFormat + - fileLocationInfo + - securityAndIntegrityInfo + - _links + properties: + id: + description: >- + Identifier of this log report. + $ref: '../definitions/SOL009_def.yaml#/definitions/Identifier' + objectInstanceId: + description: >- + Identifiers of the object instance for which logging information is collected. + This attribute shall contain the identifier of the instance of the object that is + logged according to their type. + $ref: '#/components/schemas/ManoManagedObjectReference' + compilationTrigger: + description: >- + The trigger for the compilation of the log file. + + Permitted values: + - ON_DEMAND: created based on explicit request by a client. + - AUTOMATIC: created according to the logging job compilation configuration. + type: string + enum: [ON_DEMAND, AUTOMATIC] + readyTime: + description: >- + The time when the report and log file was made available. + $ref: '../definitions/SOL009_def.yaml#/definitions/DateTime' + expiryTime: + description: >- + The time when the report and log file will expire. + $ref: '../definitions/SOL009_def.yaml#/definitions/DateTime' + fileSize: + description: >- + The size of the compiled log file in bytes, if known. + type: integer + format: int32 + fileFormat: + description: >- + The encoding used by the file. + type: string + fileLocationInfo: + description: >- + Location and address information of the compiled log file. The consumer can use this information + to obtain the compiled log file. + type: object + required: + - protocol + - fileEndpoint + properties: + protocol: + description: >- + Protocol over which the compiled log file can be retrieved. + + Permitted values: + - HTTPS: transmission over HTTP Secure (HTTPS). + - SFTP: transmission over SSH file transfer protocol (SFTP). + - SCP: transmission over secure copy protocol (SCP). + - FTPS: transmission over file transfer protocol secure (FTPS), as specified in IETF RFC 2228 [i.11], + using explicit mode as specified in IETF RFC 4217 [i.12]. If FTPS is supported, "private" protection level shall be used. + + HTTPS shall be supported, and other protocols may be supported. + type: string + enum: [HTTPS, SFTP, SCP, FTPS] + fileEndpoint: + description: >- + The host name (or IP address), optionally a port number (if the host with the compile log file uses a + non-standard port number as per the supported transmission protocol), a valid file directory path, + and the file name of the compiled log file, or a valid URL. + type: string + format: URI + securityAndIntegrityInfo: + description: >- + Security and integrity information for the compilation of the log files. + type: object + required: + - algorithm + - hash + - logFileSignature + - signingCertificate + properties: + algorithm: + description: >- + Algorithm used to generate the hash of the compiled log file. Only SHA-256 and SHA-512 shall be used + type: string + hash: + description: >- + The hexadecimal value of the hash of the compiled log file. The hash shall be computed + from the encrypted compiled log file, in case the encryption applies. + type: string + encryptionPublicKey: + description: >- + Public key used for the encryption of the compiled log file. Shall be present if the + compiled log file is encrypted. + type: string + cipherAlgorithm: + description: >- + The cryptographic algorithm used for the encryption. Shall be present if the compiled log file is + encrypted. Valid values are: "AES-CBC-128", "AES-GCM-128", "AES-CBC-256", and "AES-GCM-256", + as specified in clause 6.5 of ETSI GS NFV-SEC 012 [14]. + type: string + logFileSignature: + description: >- + Signature to the compiled log file generated with the NFV-MANO functional entity’s private key, + which is used to ensure the authenticity of the compiled log file. The signature shall be applied + according to the "encryptAndSignOrder" of the "LoggingJobConfig". + type: string + signingCertificate: + description: >- + X.509 certificate with the NFV-MANO functional entity’s public key used for verifying the + log report and compiled log file signatures. + type: string + _links: + description: >- + Links for this resource. + type: object + required: + - self + properties: + self: + description: >- + URI of this resource. + $ref: '../definitions/SOL009_def.yaml#/definitions/Link' + objects: + description: >- + Links to resources representing the object instances that are logged. Shall be present + if the logged object instance information is accessible as a resource. + type: array + items: + $ref: '../definitions/SOL009_def.yaml#/definitions/Link' + + CreateLoggingJobRequest: + description: >- + Information on application context created by the MEC system + type: object + required: + - objectInstanceIds + - jobCriteria + - jobConfig + properties: + objectInstanceIds: + description: >- + Identifiers of the object instance for which logging information is requested to be collected. + This attribute shall contain the identifier of the instance of the object to be logged according to their type. + If more than one identifier is provided, values shall all refer to object instances of the same type, + for which the same criteria is then applicable. + type: array + minItems: 1 + items: + $ref: "#/components/schemas/ManoManagedObjectReference" + jobCriteria: + description: >- + Criteria of the collection of logging information. + $ref: "#/components/schemas/LoggingJobCriteria" + jobConfig: + description: >- + Configuration about the logging job. + $ref: "#/components/schemas/LoggingJobConfig" + + ManoManagedObjectReference: + description: >- + This type represents the identifier to reference a managed object of a particular type. + It shall comply with the provisions defined in Table 4.3.2.3-1. + type: object + required: + - type + - objectId + properties: + type: + description: >- + Indicates the type of managed object. + + Permitted values: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + type: string + enum: [MANO_ENTITY, MANO_SERVICE, MANO_SERVICE_IF, CONSUMED_MANO_IF, MANO_ENTITY_COMPONENT] + objectId: + description: >- + Identifier of the managed object. + + - If type="MANO_ENTITY", it corresponds to the value of the attribute "id" of the "ManoEntity" + representing an NFV-MANO functional entity. + - If type="MANO_SERVICE", it corresponds to the value of the attribute "id" of the "ManoEntity" + representing the NFV-MANO functional entity that contains the "ManoService" sub-object. + - If type="MANO_SERVICE_IF", it corresponds to the value of the attribute "id" of the + "ManoServiceInterface" representing the NFV-MANO functional entity that contains the + "ManoServiceInterface" sub-object. + - If type="CONSUMED_MANO_IF", the value corresponds to the value of the attribute "id" of the + "ConsumedManoInterfaceInfo" representing a consumed NFV-MANO service interface from a peer + functional entity. + - If type="MANO_ENTITY_COMPONENT", the value corresponds to the value of the attribute "id" of the + "ManoEntity" representing the NFV-MANO functional entity that contains + $ref: '../definitions/SOL009_def.yaml#/definitions/Identifier' + subObjectId: + description: >- + Identifier of the managed sub-object. It shall be present if type equals to "MANO_SERVICE" or + "MANO_SERVICE_IF" or "MANO_ENTITY_COMPONENT". + + - If type="MANO_SERVICE", it corresponds to the value of the attribute "id" of the "ManoService" + representing an individual NFV-MANO service. + - If type="MANO_SERVICE_IF", it corresponds to the value of the attribute "id" of the "ManoServiceInterface" + representing an individual NFV-MANO service interface. + - If type="MANO_ENTITY_COMPONENT", it corresponds to the value of the attribute "id" of the "ManoEntityComponent" + representing an NFV-MANO functional entity component + $ref: '../definitions/SOL009_def.yaml#/definitions/IdentifierInManoEntity' + + LoggingJob: + description: >- + This type represents a logging job. It shall comply with the provisions defined in table 8.6.2.6-1. + type: object + required: + - id + - objectInstanceIds + - jobCriteria + - jobConfig + - _links + properties: + id: + description: >- + Identifier of this logging job. + $ref: '../definitions/SOL009_def.yaml#/definitions/Identifier' + objectInstanceIds: + description: >- + Identifiers of the object instance for which logging information is collected. This attribute shall + contain the identifier of the instance of the object that is logged according to their type. + type: array + items: + $ref: "#/components/schemas/ManoManagedObjectReference" + jobCriteria: + description: >- + Criteria of the collection of logging information. + $ref: "#/components/schemas/LoggingJobCriteria" + jobConfig: + description: >- + Configuration about the logging job. + $ref: "#/components/schemas/LoggingJobConfig" + logReports: + description: >- + Information about available log reports created by the logging job. + type: array + items: + type: object + required: + - logReportId + - logReportLoc + properties: + logReportId: + description: >- + Identifier of the available log report. + '../definitions/SOL009_def.yaml#/definitions/Identifier' + logReportLoc: + description: >- + Link to the available log report. + $ref: '../definitions/SOL009_def.yaml#/definitions/Link' + _links: + description: >- + Links for this resource. + type: object + required: + - self + properties: + self: + description: >- + URI of this resource. + $ref: '../definitions/SOL009_def.yaml#/definitions/Link' + objects: + description: >- + Links to resources representing the object instances that are logged. Shall be present + if the logged object instance information is accessible as a resource. + type: array + items: + $ref: '../definitions/SOL009_def.yaml#/definitions/Link' + + LoggingJobCriteria: + description: >- + This type represents collection criteria for logging jobs. It shall comply with the provisions + defined in table 8.6.3.2-1. + type: object + required: + - loggingType + properties: + loggingType: + description: >- + Type of logging. This defines the types of logged information to collect. + + Permitted values: + - MESSAGES: logged NFV-MANO service interface messages. + - SERVICES: logged messages about processes pertaining to NFV-MANO services. + - SYSTEM: logged messages about the NFV-MANO functional entity’s system enabled by the provider. + type: string + enum: [MESSAGES, SERVICES, SYSTEM] + messagesLogDetail: + description: >- + Values for the collection of logged NFV-MANO service interface messages. Shall be + present if loggingType="MESSAGES". + type: object + $ref: "#/components/schemas/LoggingJobMessagesCriteria" + servicesLogDetail: + description: >- + Values for the collection of logged NFV-MANO service messages. Shall be present if loggingType="SERVICES". + type: object + $ref: "#/components/schemas/LoggingJobServicesCriteria" + systemLogDetail: + description: >- + Values for the collection of logged messages about the NFV-MANO functional entity’s system. + Shall be present if loggingType="SYSTEM". + type: object + $ref: "#/components/schemas/LoggingJobSystemCriteria" + + LoggingJobMessagesCriteria: + description: >- + This type represents criteria for logging jobs to collect logged messages on NFV-MANO service interfaces. + It shall comply with the provisions defined in table 8.6.3.3-1. + type: object + required: + - direction + properties: + direction: + description: >- + The direction of the interface messages to match. + + Permitted values: + - IN: input messages into the interface. + - OUT: output messages from the interface. + - ALL: both input and output messages into/from the interface. + type: string + enum: [IN, OUT,ALL] + matchingPatterns: + description: >- + Patterns to be matched in the interface message. If provided, only messages that match all the + values provided in the sub-attributes shall be logged. An API consumer can provide more than one + "matchingPattern" if combinations of patterns are to be considered to match diverse sets of interface + messages. + type: array + items: + type: object + anyOf: + - required: + - srcIpAddress + - required: + - dstIpAddress + - required: + - requestMethod + - required: + - requestUriPattern + - required: + - responseCodes + properties: + srcIpAddress: + description: >- + IP address to match the source IP address of request messages to log. The API producer + shall support this attribute. + $ref: '../definitions/SOL009_def.yaml#/definitions/IpAddress' + requestMethod: + description: >- + HTTP request method to be matched. To match, the HTTP request method of the message shall be the + same as the value of this attribute. Valid values are specified in IETF RFC 7231. The API producer + shall support this attribute. + type: string + requestUriPattern: + description: >- + Substring to be matched in the request URI. To match, the request URI shall include the value of + this attribute as a substring. This is typically used to match messages which associate to RESTful + resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall + support this attribute. + type: string + dstIpAddress: + description: >- + IP address to match the destination IP address of response messages to log. The API + producer shall support this attribute + $ref: '../definitions/SOL009_def.yaml#/definitions/IpAddress' + responseCodes: + description: >- + HTTP response codes or patterns to match. A list of all valid HTTP response codes and their + specification documents can be obtained from the HTTP status code registry. In addition, + if supported, the following patterns may be used (case-insensitive): + - "1XX": for matching any kind of informational response. + - "2XX": for matching any kind of success response. + - "3XX": for matching any kind redirection response. + - "4XX": for matching any kind of client error response. + - "5XX": for matching any kind of server error response. + + The API producer shall support this attribute + type: array + items: + type: string + headerField: + description: >- + Name of the header field to be matched. The header field name shall be one of the supported fields + in a request message as defined in clause 4.2.2 of ETSI GS NFV-SOL 013 or in a response message + as defined in clause 4.2.3 of ETSI GS NFV-SOL 013, in accordance with the "direction" criteria + input. + The API producer may support this attribute. + type: string + headerValue: + description: >- + Value in the header to be matched. To match, the value in the header field indicated by + "headerField" shall be the same as in this attribute. Shall be provided if a "headerField" + is provided. The API producer may support this attribute. + type: string + bodyValues: + description: >- + A list of strings to be matched in the body part of the interface message (e.g., the body of an + HTTP message). If provided, only messages with text in the body part containing all the values from + the list shall match the filter. In addition to a matching filter for the body of the message, a + corresponding "headerField" filter shall also be provided, with "headerField" set to "Content-Type", + to restrict matching to appropriate textual payloads such as "application/json" or "text/plain". + The API producer may support this attribute + type: string + + LoggingJobServicesCriteria: + description: >- + This type represents criteria for logging jobs to collect logged messages about processes pertaining + to NFV-MANO services. It shall comply with the provisions defined in table 8.6.3.4-1. + type: object + properties: + logGarbageCollection: + description: >- + Indicates to collect logged information about garbage collection processes associated to NFV-MANO services. + type: boolean + + LoggingJobSystemCriteria: + description: >- + This type represents criteria for logging jobs to collect logged system events of the NFV-MANO functional + entity. It shall comply with the provisions defined in table 8.6.3.5-1. + type: object + required: + - systemLogs + - severityLevel + properties: + systemLogs: + description: >- + Values for the provider enabled system logs. + $ref: "../definitions/SOL009_def.yaml#/definitions/KeyValuePairs" + severityLevelScheme: + description: >- + Identifies a severity level scheme. + The default value is "rfc5424", which represents the set of values specified in the clause 6.2.1, + table 2 of IETF RFC 5424. Other values may be used to signal different schemes. + type: string + severityLevel: + description: >- + The severity level, which determines the severity of the system messages to collect. The NFV-MANO + functional entity shall collect system log messages, as indicated by the "systemLogs" attribute, + with severity levels lower (i.e., more severe) or equal to the value provided by this present attribute. + type: number + + LoggingJobConfig: + description: >- + This type represents configuration data for a logging job. It shall comply with the provisions + defined in table 8.6.3.6-1. + NOTE: The present document version does not specify the support for "log compilation and reporting based + on events" as specified in clause 6.6.2.2 of ETSI GS NFV-IFA 031. + type: object + required: + - reportingCondition + - securityConf + properties: + startTime: + description: >- + Specifies the time for the logging job to be started. If not provided, the logging job is + requested to start immediately. + $ref: "../definitions/SOL009_def.yaml#/definitions/DateTime" + endTime: + description: >- + Specifies the time after which the logging job will stop. Shall only be provided if the + logging job is requested to stop at a specific time. + $ref: "../definitions/SOL009_def.yaml#/definitions/DateTime" + reportingCondition: + description: >- + Specifies the condition under which the producer will report to the consumer about the compiled log data. + required: + - reportingType + properties: + reportingType: + description: >- + Specifies the type of reporting condition. + Permitted values: + - REPORTING_ON_COMPILATION: the producer shall notify the consumer once the compilation of the + collected logging data into a file is completed and a new log report is available. + - NO_REPORTING: no reporting is requested (the consumer can query the logging jobs to know about the + availability of new log reports). + + type: string + enum: [REPORTING_ON_COMPILATION, NO_REPORTING] + minimumReportingPeriod: + description: >- + Specifies the minimum periodicity at which the producer will report to the consumer about the + collected log information, in seconds. + type: integer + format: int32 + compileBySizeValue: + description: >- + An indicative size threshold for compiling the collected log data, in bytes. It is used when the + compilation is based on the size of the collected log data. If not present, a default value as + specified with the "defaultLogCompileBySizeValue" configuration in the "ManoEntityConfigurableParams" + shall be used + type: integer + format: int32 + compileByTimerValue: + description: >- + The periodicity threshold for compiling the filtered log, in seconds. It is used when the compilation + is based on a timer (e.g., every 24 hours). If not present, a default value as specified with the + "defaultLogCompileByTimerValue" configuration in the "ManoEntityConfigurableParams" shall be used + type: integer + format: int32 + securityConf: + description: >- + Configuration about the security aspects of the logging job. + type: object + properties: + logFileEncryption: + description: >- + Information about the encryption of the compiled log files. Shall be present if the log + file is requested to be encrypted. + required: + - encryptionCertificate + - cipherAlgorithm + type: object + properties: + encryptionCertificate: + description: >- + X.509 certificate with the public key to use for the encryption of the compiled log file. + type: String + cipherAlgorithm: + description: >- + Cryptographic algorithm to be used for the encryption of the compiled log file. More than + one algorithm can be provided from higher (lower array index) to lower (higher array index) + precedence. Valid values are: "AES-CBC-128", "AES-GCM-128", "AES-CBC-256", and "AES-GCM-256", + as specified in clause 6.5 of ETSI GS NFV-SEC 012 + type: array + items: + type: string + minItems: 1 + encryptAndSignOrder: + description: >- + Indication about the order in signing and encrypting the compiled log file. Valid values are: + "encryptFirst", to apply the order "first encrypt, then sign", and "signFirst" for the order + "first sign, then encrypt". Default value is "encryptFirst". + type: string + logTransferSecurity: + description: >- + Information about the security measures for retrieving/accessing the compiled log files. + type: object + properties: + publicKey: + description: >- + The public key of the API consumer used for the client authentication with the file server. + Shall be provided if required by the type of transfer protocol. May be omitted if the key has + been provided to the API producer by other means, or if it has already been provided in some + previous CreateLoggingJobRequest issued by the same API consumer, whose public key has not changed. + type: string + + + diff --git a/src/SOL009/definitions/SOL009_def.yaml b/src/SOL009/definitions/SOL009_def.yaml index 7666913..74d859d 100644 --- a/src/SOL009/definitions/SOL009_def.yaml +++ b/src/SOL009/definitions/SOL009_def.yaml @@ -29,6 +29,13 @@ definitions: where the {apiRoot} part is omitted) if the {apiRoot} information is not available. $ref: "#/definitions/Uri" + IpAddress: + description: > + An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal + integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that + consists of groups of zero to four hexadecimal digits, separated by colons. + type: string + format: IP KeyValuePairs: description: > -- GitLab From 0b98fd8b4613c793d2f16c64c0a4945eff59e0a6 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Mon, 11 Nov 2019 13:11:52 +0200 Subject: [PATCH 03/55] SOL009 Log management completed --- .../NFVManoLogManagement.yaml | 524 ++++++++++++++++-- 1 file changed, 493 insertions(+), 31 deletions(-) diff --git a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml index 14f868f..67f523b 100644 --- a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml +++ b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml @@ -26,7 +26,7 @@ servers: paths: "/api_versions": - $ref: ../endpoints/SOL009_endpoints.yaml#/endpoints/api_versions + $ref: '../endpoints/SOL009_endpoints.yaml#/endpoints/api_versions' "/log_jobs": description: >- This resource represents logging jobs. The API consumer can use this resource to create and query logging jobs. @@ -158,25 +158,25 @@ paths: "204": $ref: '#/components/responses/LoggingJob.Delete' "400": - $ref: ../responses/SOL009_resp.yaml#/responses/400 + $ref: '../responses/SOL009_resp.yaml#/responses/400' "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: '../responses/SOL009_resp.yaml#/responses/401' "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: '../responses/SOL009_resp.yaml#/responses/403' "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: '../responses/SOL009_resp.yaml#/responses/404' "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: '../responses/SOL009_resp.yaml#/responses/405' "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: '../responses/SOL009_resp.yaml#/responses/406' "422": - $ref: ../responses/SOL009_resp.yaml#/responses/422 + $ref: '../responses/SOL009_resp.yaml#/responses/422' "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: '../responses/SOL009_resp.yaml#/responses/500' "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: '../responses/SOL009_resp.yaml#/responses/503' "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: '../responses/SOL009_resp.yaml#/responses/504' "/log_jobs/{logJobId}/log_reports/{logReportId}": description: >- @@ -202,25 +202,25 @@ paths: "202": $ref: '#/components/responses/LogReport.Get.202' "400": - $ref: ../responses/SOL009_resp.yaml#/responses/400 + $ref: '../responses/SOL009_resp.yaml#/responses/400' "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: '../responses/SOL009_resp.yaml#/responses/401' "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: '../responses/SOL009_resp.yaml#/responses/403' "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: '../responses/SOL009_resp.yaml#/responses/404' "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: '../responses/SOL009_resp.yaml#/responses/405' "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: '../responses/SOL009_resp.yaml#/responses/406' "422": - $ref: ../responses/SOL009_resp.yaml#/responses/422 + $ref: '../responses/SOL009_resp.yaml#/responses/422' "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: '../responses/SOL009_resp.yaml#/responses/500' "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: '../responses/SOL009_resp.yaml#/responses/503' "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: '../responses/SOL009_resp.yaml#/responses/504' "/log_jobs/{logJobId}/compile_log": description: >- @@ -254,28 +254,183 @@ paths: "422": $ref: '#/components/responses/LogReportCompiled.422' "400": - $ref: ../responses/SOL009_resp.yaml#/responses/400 + $ref: '../responses/SOL009_resp.yaml#/responses/400' "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: '../responses/SOL009_resp.yaml#/responses/401' "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: '../responses/SOL009_resp.yaml#/responses/403' "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: '../responses/SOL009_resp.yaml#/responses/404' "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: '../responses/SOL009_resp.yaml#/responses/405' "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: '../responses/SOL009_resp.yaml#/responses/406' "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: '../responses/SOL009_resp.yaml#/responses/500' "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: '../responses/SOL009_resp.yaml#/responses/503' "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: '../responses/SOL009_resp.yaml#/responses/504' "/subscriptions": + description: >- + This resource represents subscriptions. The client can use this resource to subscribe to notifications + related to NFV-MANO performance management and to query its subscriptions. + post: + description: >- + The POST method creates a new subscription. + This method shall follow the provisions specified in the tables 8.5.7.3.1-1 and 8.5.7.3.1-2 for URI query + parameters, request and response data structures, and response codes. + As the result of successfully executing this method, a new "Individual subscription" resource as defined in + clause 8.5.8 shall have been created. This method shall not trigger any notification. + Creation of two "Individual subscription" resources with the same callbackURI and the same filter can result + in performance degradation and will provide duplicates of notifications to the API consumer, and might make + sense only in very rare use cases. Consequently, the NFV-MANO functional entity may either allow creating a + new "Individual subscription" resource if another "Individual subscription" resource with the same filter + and callbackUri already exists (in which case it shall return the "201 Created" response code), or may decide + to not create a duplicate "Individual subscription" resource (in which case it shall return a "303 See Other" + response code referencing the existing "Individual subscription" resource with the same filter and callbackUri). + parameters: + - $ref: "#/components/parameters/Version" + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Authorization" + requestBody: + $ref: '#/components/requestBodies/LogmSubscriptionRequest' + responses: + "201": + $ref: '#/components/responses/LogmSubscription' + "303": + $ref: '#/components/responses/LogmSubscription.303' + "422": + $ref: '../responses/SOL009_resp.yaml#/responses/422' + "400": + $ref: '../responses/SOL009_resp.yaml#/responses/400' + "401": + $ref: '../responses/SOL009_resp.yaml#/responses/401' + "403": + $ref: '../responses/SOL009_resp.yaml#/responses/403' + "404": + $ref: '../responses/SOL009_resp.yaml#/responses/404' + "405": + $ref: '../responses/SOL009_resp.yaml#/responses/405' + "406": + $ref: '../responses/SOL009_resp.yaml#/responses/406' + "500": + $ref: '../responses/SOL009_resp.yaml#/responses/500' + "503": + $ref: '../responses/SOL009_resp.yaml#/responses/503' + "504": + $ref: '../responses/SOL009_resp.yaml#/responses/504' + get: + description: >- + The API consumer can use this method to query the list of active subscriptions to log management + notifications subscribed by the API consumer. + This method shall follow the provisions specified in the tables 8.5.7.3.2-1 and 8.5.7.3.2-2 for URI + query parameters, request and response data structures, and response codes. + + parameters: + - $ref: "#/components/parameters/filter" + - $ref: "#/components/parameters/nextpage_opaque_marker" + - $ref: "#/components/parameters/Version" + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Authorization" + responses: + "200": + $ref: '#/components/responses/LogmSubscriptions' + "400": + $ref: '../responses/SOL009_resp.yaml#/responses/400' + "401": + $ref: '../responses/SOL009_resp.yaml#/responses/401' + "403": + $ref: '../responses/SOL009_resp.yaml#/responses/403' + "404": + $ref: '../responses/SOL009_resp.yaml#/responses/404' + "405": + $ref: '../responses/SOL009_resp.yaml#/responses/405' + "406": + $ref: '../responses/SOL009_resp.yaml#/responses/406' + "500": + $ref: '../responses/SOL009_resp.yaml#/responses/500' + "503": + $ref: '../responses/SOL009_resp.yaml#/responses/503' + "504": + $ref: '../responses/SOL009_resp.yaml#/responses/504' "/subscriptions/{subscriptionId}": + description: >- + This resource represents an individual subscription for notifications about log management related events. + The API consumer can use this resource to read and to terminate a subscription to notifications related + o NFV-MANO log management. + parameters: + - $ref: "#/components/parameters/subscriptionId" + get: + description: >- + The API consumer can use this method for reading an individual subscription about log management + notifications subscribed by the API consumer. + This method shall follow the provisions specified in the tables 8.5.8.3.2-1 and 8.5.8.3.2-2 for + URI query parameters, request and response data structures, and response codes. + parameters: + - $ref: "#/components/parameters/Version" + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Authorization" + responses: + "200": + $ref: '#/components/responses/LogmSubscription.Get' + "400": + $ref: '../responses/SOL009_resp.yaml#/responses/400' + "401": + $ref: '../responses/SOL009_resp.yaml#/responses/401' + "403": + $ref: '../responses/SOL009_resp.yaml#/responses/403' + "404": + $ref: '../responses/SOL009_resp.yaml#/responses/404' + "405": + $ref: '../responses/SOL009_resp.yaml#/responses/405' + "406": + $ref: '../responses/SOL009_resp.yaml#/responses/406' + "500": + $ref: '../responses/SOL009_resp.yaml#/responses/500' + "503": + $ref: '../responses/SOL009_resp.yaml#/responses/503' + "504": + $ref: '../responses/SOL009_resp.yaml#/responses/504' + delete: + description: >- + This method terminates an individual subscription. + This method shall follow the provisions specified in the tables 8.5.8.3.5-1 and 8.5.8.3.5-2 for + URI query parameters, request and response data structures, and response codes. + As the result of successfully executing this method, the "Individual subscription" resource shall not exist any + longer. This means that no notifications for that subscription shall be sent to the + formerly-subscribed API consumer. + NOTE: Due to race conditions, some notifications might still be received by the formerly-subscribed + API consumer for a certain time period after the deletion. + parameters: + - $ref: "#/components/parameters/Version" + - $ref: "#/components/parameters/Authorization" + responses: + "204": + $ref: '#/components/responses/LogmSubscription.Delete' + "400": + $ref: '../responses/SOL009_resp.yaml#/responses/400' + "401": + $ref: '../responses/SOL009_resp.yaml#/responses/401' + "403": + $ref: '../responses/SOL009_resp.yaml#/responses/403' + "404": + $ref: '../responses/SOL009_resp.yaml#/responses/404' + "405": + $ref: '../responses/SOL009_resp.yaml#/responses/405' + "406": + $ref: '../responses/SOL009_resp.yaml#/responses/406' + "422": + $ref: '../responses/SOL009_resp.yaml#/responses/422' + "500": + $ref: '../responses/SOL009_resp.yaml#/responses/500' + "503": + $ref: '../responses/SOL009_resp.yaml#/responses/503' + "504": + $ref: '../responses/SOL009_resp.yaml#/responses/504' components: parameters: @@ -310,7 +465,15 @@ components: Identifier of the logging job. required: true schema: - type: string + $ref: '../definitions/SOL009_def.yaml#/definitions/Identifier' + subscriptionId: + name: subscriptionId + in: path + description: >- + Identifier of the subscription + required: true + schema: + $ref: '../definitions/SOL009_def.yaml#/definitions/Identifier' filter: name: filter in: query @@ -374,6 +537,13 @@ components: type: string requestBodies: + LogmSubscriptionRequest: + description: >- + Details of the subscription to be created + content: + application/json: + schema: + $ref: "#/components/schemas/LogmSubscriptionRequest" CreateLoggingJobRequest: description: >- This type represents a request to create a logging job. It shall comply with the provisions @@ -393,6 +563,154 @@ components: required: true responses: + LogmSubscription.Delete: + description: >- + Shall be returned when the "Individual subscription" resource has been deleted successfully. + The response body shall be empty. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + + LogmSubscription.Get: + description: >- + Shall be returned when the subscription has been read successfully. + The response body shall contain a representation of the "Individual subscription" resource, + as defined in clause 8.6.2.3. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + $ref: "#/components/schemas/LogmSubscription" + + LogmSubscriptions: + description: >- + Shall be returned when the list of subscriptions has been queried successfully. + The response body shall contain in an array the representations of all active subscriptions of + the functional block that invokes the method, i.e. zero or more representations of log management + subscriptions as defined in clause 8.6.2.3. + If the "filter" URI parameter was supplied in the request, the data in the response body shall have + been transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. + If the NFV-MANO functional entity supports alternative 2 (paging) according to clause 5.4.2.1 of + ETSI GS NFV-SOL 013 for this resource, inclusion of the Link HTTP header in this response shall follow + the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013 . + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/LogmSubscription" + + LogmSubscription: + description: >- + Shall be returned when the subscription has been created successfully. + A representation of the created "Individual subscription" resource shall be returned in the response body, + as defined in clause 8.6.2.3. + The HTTP response shall include a "Location" HTTP header that contains the resource URI of the created + "Individual subscription" resource. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + Location: + description: > + URI of the "Individual log report" resource just created + schema: + type: string + content: + application/json: + schema: + $ref: "#/components/schemas/LogmSubscription" + + LogmSubscription.303: + description: >- + Shall be returned when a subscription with the same callbackURI and the same filter already exists and the + policy of the NFV-MANO functional entity is to not create redundant subscriptions. + The HTTP response shall include a "Location" HTTP header that contains the resource URI of the existing + "Individual subscription" resource. + The response body shall be empty. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + Location: + description: > + URI of the "Individual log report" resource just created + schema: + type: string + LogReportCompiled: description: >- Shall be returned for a successful compilation of the log data and creation of the associated log report @@ -679,6 +997,125 @@ components: items: $ref: "#/components/schemas/LoggingJob" schemas: + LogmSubscription: + description: >- + This type represents a subscription. It shall comply with the provisions defined in table 8.6.2.3-1. + type: object + required: + - id + - callbackUri + - _links + properties: + id: + description: >- + Identifier that identifies the subscription. + $ref: '../definitions/SOL009_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: "#/components/schemas/LogmNotificationsFilter" + callbackUri: + description: >- + The URI of the endpoint to send the notification to. + $ref: '../definitions/SOL009_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/SOL009_def.yaml#/definitions/Link' + + LogmNotificationsFilter: + description: >- + This type represents a filter that can be used to subscribe for notifications related to log + management events. It shall comply with the provisions defined in table 8.6.3.7-1. + 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: + objectInstanceFilter: + description: >- + Filter criteria to select object instance about which to notify. + $ref: "#/components/schemas/ManoEntitySubscriptionFilter" + notificationTypes: + description: >- + Match particular notification types. + Permitted values: + - LogReportAvailableNotification + type: string + enum: [LogReportAvailableNotification] + + ManoEntitySubscriptionFilter: + description: >- + This type represents subscription filter criteria to match NFV-MANO functional entities and their + associated managed objects. It shall comply with the provisions defined in Table 4.3.2.2-1. + type: object + required: + anyOf: + - oneOf: + - manoServiceIds + - manoServiceNames + - oneOf: + - manoServiceInterfaceIds + - manoServiceInterfaceNames + - oneOf: + - consumedManoInterfaceIds + - consumedManoInterfaceNames + properties: + manoEntityId: + description: >- + If present, match the NFV-MANO functional entity with an instance identifier listed in this attribute. + $ref: '../definitions/SOL009_def.yaml#/definitions/Identifier' + manoServiceIds: + description: >- + If present, match NFV-MANO services with an instance identifier listed in this attribute. + type: array + items: + $ref: '../definitions/SOL009_def.yaml#/definitions/IdentifierInManoEntity' + manoServiceNames: + description: >- + If present, match NFV-MANO services with an NFV-MANO service name listed in this attribute. + type: array + items: + type: string + manoServiceInterfaceIds: + description: >- + If present, match NFV-MANO functional entity produced interfaces with an instance + identifier listed in this attribute. + type: array + items: + $ref: '../definitions/SOL009_def.yaml#/definitions/IdentifierInManoEntity' + manoServiceInterfaceNames: + description: >- + If present, match NFV-MANO functional entity produced interfaces with an instance Name listed in + this attribute. + type: array + items: + type: string + consumedManoInterfaceIds: + description: >- + If present, match NFV-MANO functional entity consumed interfaces with an instance identifier + listed in this attribute. + type: array + items: + $ref: '../definitions/SOL009_def.yaml#/definitions/Identifier' + consumedManoInterfaceNames: + description: >- + If present, match NFV-MANO functional entity consumed interfaces with an instance Name + listed in this attribute. + type: array + items: + type: string + CompileLogRequest: description: > This type represents a request to compile the logged data associated to an object instance. @@ -833,6 +1270,31 @@ components: items: $ref: '../definitions/SOL009_def.yaml#/definitions/Link' + LogmSubscriptionRequest: + description: >- + Information on application context created by the MEC system + type: object + required: + - callbackUri + type: object + 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: "#/components/schemas/LogmNotificationsFilter" + callbackUri: + description: > + The URI of the endpoint to send the notification to. + $ref: "../definitions/SOL009_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 8.3.4 of ETSI GS NFV-SOL 013. + This attribute shall only be present if the subscriber requires authorization of notifications. + $ref: "../definitions/SOL009_def.yaml#/definitions/SubscriptionAuthentication" + CreateLoggingJobRequest: description: >- Information on application context created by the MEC system -- GitLab From b6aa67229265906e2ac34e07bda7880dc8c2f260 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Mon, 11 Nov 2019 15:37:27 +0200 Subject: [PATCH 04/55] SOL009 Added Log Management Notification openapi --- .../NFVManoFaultManagementNotification.yaml | 7 +- .../NFVManoLogManagement.yaml | 1 - .../NFVManoLogManagementNotification.yaml | 252 ++++++++++++++++++ 3 files changed, 258 insertions(+), 2 deletions(-) create mode 100644 src/SOL009/NFVManoLogManagementNotification/NFVManoLogManagementNotification.yaml diff --git a/src/SOL009/NFVManoFaultManagementNotification/NFVManoFaultManagementNotification.yaml b/src/SOL009/NFVManoFaultManagementNotification/NFVManoFaultManagementNotification.yaml index a90eb89..285b37c 100644 --- a/src/SOL009/NFVManoFaultManagementNotification/NFVManoFaultManagementNotification.yaml +++ b/src/SOL009/NFVManoFaultManagementNotification/NFVManoFaultManagementNotification.yaml @@ -15,8 +15,13 @@ externalDocs: description: ETSI GS NFV-SOL 009 V0.8.0 url: https://docbox.etsi.org/ISG/NFV/Open/Drafts/SOL009ed331_MANO_mgmt_stage_3/NFV-SOL009ed331v080.zip +security: + - OauthSecurity: + - all + servers: - - url: /callback/v1 + - url: http://127.0.0.1//callback/v1 + - url: https://127.0.0.1//callback/v1 paths: /URI-is-provided-by-the-client-when-creating-the-subscription-AlarmNotification: diff --git a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml index 67f523b..9c3f0e7 100644 --- a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml +++ b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml @@ -23,7 +23,6 @@ servers: - url: http://127.0.0.1/nfvmanologm/v1 - url: https://127.0.0.1/nfvmanologm/v1 - paths: "/api_versions": $ref: '../endpoints/SOL009_endpoints.yaml#/endpoints/api_versions' diff --git a/src/SOL009/NFVManoLogManagementNotification/NFVManoLogManagementNotification.yaml b/src/SOL009/NFVManoLogManagementNotification/NFVManoLogManagementNotification.yaml new file mode 100644 index 0000000..e56fdbb --- /dev/null +++ b/src/SOL009/NFVManoLogManagementNotification/NFVManoLogManagementNotification.yaml @@ -0,0 +1,252 @@ +openapi: 3.0.2 +info: + version: 1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + title: SOL009 - NFV-MANO Log Management Notification interface + description: > + SOL009 - NFV-MANO Log 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. + + 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 009 V0.8.0 + url: https://docbox.etsi.org/ISG/NFV/Open/Drafts/SOL009ed331_MANO_mgmt_stage_3/NFV-SOL009ed331v080.zip + +security: + - OauthSecurity: + - all + +servers: + - url: http://127.0.0.1//callback/v1 + - url: https://127.0.0.1//callback/v1 + +paths: + /URI-is-provided-by-the-client-when-creating-the-subscription-AlarmNotification: + description: >- + This resource represents a notification endpoint for NFV-MANO log management. + The API producer can use this resource to send notifications related to log management events to a + subscribed API consumer, which has provided the URI of this resource during the subscription process. + + post: + description: >- + The POST method delivers a notification regarding a log management event from the API producer to the API + consumer. The API consumer shall have previously created an "Individual subscription" resource with a + matching filter. + This method shall follow the provisions specified in the tables 8.5.9.3.1-1 and 8.5.9.3.1-2 for URI query + parameters, request and response data structures, and response codes. + parameters: + - $ref: "#/components/parameters/Version" + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Authorization" + requestBody: + $ref: "#/components/requestBodies/LogReportAvailableNotification" + responses: + "204": + $ref: '#/components/responses/LogReportAvailableNotification' + "400": + $ref: '../responses/SOL009_resp.yaml#/responses/400' + "401": + $ref: '../responses/SOL009_resp.yaml#/responses/401' + "403": + $ref: '../responses/SOL009_resp.yaml#/responses/403' + "404": + $ref: '../responses/SOL009_resp.yaml#/responses/404' + "405": + $ref: '../responses/SOL009_resp.yaml#/responses/405' + "406": + $ref: '../responses/SOL009_resp.yaml#/responses/406' + "422": + $ref: '../responses/SOL009_resp.yaml#/responses/422' + "500": + $ref: '../responses/SOL009_resp.yaml#/responses/500' + "503": + $ref: '../responses/SOL009_resp.yaml#/responses/503' + "504": + $ref: '../responses/SOL009_resp.yaml#/responses/504' + + get: + description: >- + The GET method allows the API producer to test the notification endpoint that is provided by the API + consumer, e.g. during subscription. + This method shall follow the provisions specified in the tables 8.5.9.3.2-1 and 8.5.9.3.2-2 for URI + query parameters, request and response data structures, and response codes. + parameters: + - $ref: "#/components/parameters/Version" + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Authorization" + responses: + "204": + $ref: '#/components/responses/LogReportNotification.Get' + "400": + $ref: '../responses/SOL009_resp.yaml#/responses/400' + "401": + $ref: '../responses/SOL009_resp.yaml#/responses/401' + "403": + $ref: '../responses/SOL009_resp.yaml#/responses/403' + "404": + $ref: '../responses/SOL009_resp.yaml#/responses/404' + "405": + $ref: '../responses/SOL009_resp.yaml#/responses/405' + "406": + $ref: '../responses/SOL009_resp.yaml#/responses/406' + "422": + $ref: '../responses/SOL009_resp.yaml#/responses/422' + "500": + $ref: '../responses/SOL009_resp.yaml#/responses/500' + "503": + $ref: '../responses/SOL009_resp.yaml#/responses/503' + "504": + $ref: '../responses/SOL009_resp.yaml#/responses/504' + +components: + parameters: + Version: + name: Version + description: >- + Version of the API requested to use when responding to this request + in: header + required: true + schema: + type: string + Accept: + name: Accept + description: >- + Content-Types that are acceptable for the response. Reference: IETF RFC 7231 + in: header + required: true + schema: + type: string + Authorization: + name: Authorization + description: >- + The authorization token for the request. Reference: IETF RFC 7235 + in: header + required: false + schema: + type: string + + requestBodies: + LogReportAvailableNotification: + description: >- + Notification about the availability of a log report. + content: + application/json: + schema: + $ref: "#/components/schemas/LogReportAvailableNotification" + + responses: + LogReportAvailableNotification: + description: >- + Shall be returned when the notification has been delivered successfully. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + + LogReportNotification.Get: + description: >- + Shall be returned to indicate that the notification endpoint has been tested successfully. + The response body shall be empty. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + + schemas: + LogReportAvailableNotification: + description: >- + This notification informs the receiver that the log report of the NFV-MANO functional entity is available. + It shall comply with the provisions defined in table 8.6.2.4-1. + The notification shall be triggered by the NFV-MANO functional entity when log information has been collected + by the logging job and the log report 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: '../definitions/SOL009_def.yaml#/definitions/Identifier' + notificationType: + description: >- + Discriminator for the different notification types. + Shall be set to "LogReportAvailableNotification" for this notification type. + type: string + subscriptionId: + description: >- + Identifier of the subscription that this notification relates to. + $ref: '../definitions/SOL009_def.yaml#/definitions/Identifier' + timeStamp: + description: >- + Date and time of the generation of the notification. + $ref: '../definitions/SOL009_def.yaml#/definitions/DateTime' + objectInstanceId: + description: >- + Identifier that identifies the object instance for which the log report is available. + This attribute shall contain the identifier of the logged object according to their type. + $ref: "../NFVManoLogManagement/NFVManoLogManagement.yaml#/components/schemas/ManoManagedObjectReference" + _links: + description: >- + Links to resources related to this notification. + type: object + required: + - subscription + - logReports + properties: + subscription: + description: >- + Link to the related subscription. + $ref: '../definitions/SOL009_def.yaml#/definitions/NotificationLink' + objectInstance: + description: >- + Link to the resource representing the measured object instance to which the notified change applies. + Shall be present if the measured object instance information is accessible as a resource. + $ref: '../definitions/SOL009_def.yaml#/definitions/NotificationLink' + LoggingJob: + description: >- + Link to the resource that represents the logging job for which the log report is available. + $ref: '../definitions/SOL009_def.yaml#/definitions/NotificationLink' + logReports: + description: >- + Link from which the available log report can be obtained. Due to the relationship of the logging + job compilation and the logging information availability reporting, more than one logReport + notification link can be provided. + type: array + items: + $ref: '../definitions/SOL009_def.yaml#/definitions/NotificationLink' -- GitLab From 84be644d7d196ff100875152338299a51d441549 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Mon, 11 Nov 2019 16:35:45 +0200 Subject: [PATCH 05/55] fix bad indentation --- src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml index 9c3f0e7..b432a52 100644 --- a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml +++ b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml @@ -517,10 +517,10 @@ components: in: query description: >- Indicates to exclude the following complex attributes from the response. See clause 5.3 of ETSI GS NFV-SOL 013 - for details. The NFV-MANO functional entity shall support this parameter. - The following attributes shall be excluded from the LoggingJob structure in the response body if this parameter - is provided, or none of the parameters "all_fields," "fields", "exclude_fields", "exclude_default" are provided - -logReports + for details. The NFV-MANO functional entity shall support this parameter. + The following attributes shall be excluded from the LoggingJob structure in the response body if this parameter + is provided, or none of the parameters "all_fields," "fields", "exclude_fields", "exclude_default" are provided + -logReports required: false schema: type: string -- GitLab From a960ba377d78716fbd58e8cbe2ae7fa7eaf4e9bb Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Mon, 11 Nov 2019 16:36:56 +0200 Subject: [PATCH 06/55] fix bad reference --- src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml index b432a52..2ed67e3 100644 --- a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml +++ b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml @@ -1416,7 +1416,7 @@ components: logReportId: description: >- Identifier of the available log report. - '../definitions/SOL009_def.yaml#/definitions/Identifier' + $ref: '../definitions/SOL009_def.yaml#/definitions/Identifier' logReportLoc: description: >- Link to the available log report. -- GitLab From 0e56915318670cc6bf5df32b122bedbcce71bee8 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Mon, 11 Nov 2019 16:39:43 +0200 Subject: [PATCH 07/55] added missing path parameter --- .../NFVManoLogManagement/NFVManoLogManagement.yaml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml index 2ed67e3..72136ba 100644 --- a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml +++ b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml @@ -191,7 +191,7 @@ paths: 8.5.5.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - $ref: "#/components/parameters/logJobId" - - $ref: "#/components/parameters/logJobReportId" + - $ref: "#/components/parameters/logJReportId" - $ref: "#/components/parameters/Version" - $ref: "#/components/parameters/Accept" - $ref: "#/components/parameters/Authorization" @@ -465,6 +465,14 @@ components: required: true schema: $ref: '../definitions/SOL009_def.yaml#/definitions/Identifier' + logJReportId: + name: logJReportId + in: path + description: >- + Identifier of the report. + required: true + schema: + $ref: '../definitions/SOL009_def.yaml#/definitions/Identifier' subscriptionId: name: subscriptionId in: path -- GitLab From 5c17adf851fc44a4f6117e00a56aafa07a5d9d14 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Mon, 11 Nov 2019 16:54:20 +0200 Subject: [PATCH 08/55] fix bad type --- src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml index 72136ba..a2a6a9c 100644 --- a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml +++ b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml @@ -1698,7 +1698,7 @@ components: encryptionCertificate: description: >- X.509 certificate with the public key to use for the encryption of the compiled log file. - type: String + type: string cipherAlgorithm: description: >- Cryptographic algorithm to be used for the encryption of the compiled log file. More than -- GitLab From a6e39929fde55d7175c5da8bad44c693a2b84ff1 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Mon, 11 Nov 2019 16:56:42 +0200 Subject: [PATCH 09/55] fix bad indentation --- src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml index a2a6a9c..44b11aa 100644 --- a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml +++ b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml @@ -1594,7 +1594,7 @@ components: logGarbageCollection: description: >- Indicates to collect logged information about garbage collection processes associated to NFV-MANO services. - type: boolean + type: boolean LoggingJobSystemCriteria: description: >- -- GitLab From 42c6cbaa060bebbda82aa8b87ca15d5b61b13bfc Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Mon, 11 Nov 2019 17:11:51 +0200 Subject: [PATCH 10/55] updated common resp --- .../NFVManoLogManagement.yaml | 22 ++-- src/SOL009/responses/SOL009_resp.yaml | 102 ++++++++++++------ 2 files changed, 79 insertions(+), 45 deletions(-) diff --git a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml index 44b11aa..ee48b00 100644 --- a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml +++ b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml @@ -1066,17 +1066,17 @@ components: This type represents subscription filter criteria to match NFV-MANO functional entities and their associated managed objects. It shall comply with the provisions defined in Table 4.3.2.2-1. type: object - required: - anyOf: - - oneOf: - - manoServiceIds - - manoServiceNames - - oneOf: - - manoServiceInterfaceIds - - manoServiceInterfaceNames - - oneOf: - - consumedManoInterfaceIds - - consumedManoInterfaceNames +# required: +# anyOf: +# - oneOf: +# - manoServiceIds +# - manoServiceNames +# - oneOf: +# - manoServiceInterfaceIds +# - manoServiceInterfaceNames +# - oneOf: +# - consumedManoInterfaceIds +# - consumedManoInterfaceNames properties: manoEntityId: description: >- diff --git a/src/SOL009/responses/SOL009_resp.yaml b/src/SOL009/responses/SOL009_resp.yaml index 060f4ff..9147428 100644 --- a/src/SOL009/responses/SOL009_resp.yaml +++ b/src/SOL009/responses/SOL009_resp.yaml @@ -32,8 +32,10 @@ responses: type: string maximum: 1 minimum: 1 - schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" 303: description: > @@ -107,8 +109,10 @@ responses: type: string maximum: 1 minimum: 1 - schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" 401: description: > @@ -138,8 +142,10 @@ responses: type: string maximum: 1 minimum: 1 - schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" 403: description: > @@ -169,8 +175,10 @@ responses: type: string maximum: 1 minimum: 1 - schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" 404: description: > @@ -205,8 +213,10 @@ responses: type: string maximum: 1 minimum: 1 - schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" 405: description: > @@ -234,8 +244,10 @@ responses: type: string maximum: 1 minimum: 1 - schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" 406: description: > @@ -264,8 +276,10 @@ responses: type: string maximum: 1 minimum: 1 - schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" 409: description: > @@ -290,8 +304,10 @@ responses: type: string maximum: 1 minimum: 1 - schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" 412: description: > @@ -321,8 +337,10 @@ responses: type: string maximum: 1 minimum: 1 - schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" 413: description: > @@ -351,8 +369,10 @@ responses: type: string maximum: 1 minimum: 1 - schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" 414: description: > @@ -381,8 +401,10 @@ responses: type: string maximum: 1 minimum: 1 - schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" 416: description: > @@ -407,8 +429,10 @@ responses: type: string maximum: 1 minimum: 1 - schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" 422: description: > @@ -440,8 +464,10 @@ responses: type: string maximum: 1 minimum: 1 - schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" 429: description: > @@ -475,8 +501,10 @@ responses: type: string maximum: 1 minimum: 1 - schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" 500: description: > @@ -506,8 +534,10 @@ responses: type: string maximum: 1 minimum: 1 - schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" 503: description: > @@ -537,8 +567,10 @@ responses: type: string maximum: 1 minimum: 1 - schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" 504: description: > @@ -567,5 +599,7 @@ responses: type: string maximum: 1 minimum: 1 - schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" \ No newline at end of file + content: + application/json: + schema: + $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" \ No newline at end of file -- GitLab From a75197e88fd0944115259d7ed458769f7ab19799 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Mon, 11 Nov 2019 17:13:49 +0200 Subject: [PATCH 11/55] fix bad indentation --- src/SOL009/responses/SOL009_resp.yaml | 136 +++++++++++++------------- 1 file changed, 68 insertions(+), 68 deletions(-) diff --git a/src/SOL009/responses/SOL009_resp.yaml b/src/SOL009/responses/SOL009_resp.yaml index 9147428..38cc0a4 100644 --- a/src/SOL009/responses/SOL009_resp.yaml +++ b/src/SOL009/responses/SOL009_resp.yaml @@ -32,10 +32,10 @@ responses: type: string maximum: 1 minimum: 1 - content: - application/json: - schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" 303: description: > @@ -109,10 +109,10 @@ responses: type: string maximum: 1 minimum: 1 - content: - application/json: - schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" 401: description: > @@ -142,10 +142,10 @@ responses: type: string maximum: 1 minimum: 1 - content: - application/json: - schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" 403: description: > @@ -175,10 +175,10 @@ responses: type: string maximum: 1 minimum: 1 - content: - application/json: - schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" 404: description: > @@ -213,10 +213,10 @@ responses: type: string maximum: 1 minimum: 1 - content: - application/json: - schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" 405: description: > @@ -244,10 +244,10 @@ responses: type: string maximum: 1 minimum: 1 - content: - application/json: - schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" 406: description: > @@ -276,10 +276,10 @@ responses: type: string maximum: 1 minimum: 1 - content: - application/json: - schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" 409: description: > @@ -304,10 +304,10 @@ responses: type: string maximum: 1 minimum: 1 - content: - application/json: - schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" 412: description: > @@ -337,10 +337,10 @@ responses: type: string maximum: 1 minimum: 1 - content: - application/json: - schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" 413: description: > @@ -369,10 +369,10 @@ responses: type: string maximum: 1 minimum: 1 - content: - application/json: - schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" 414: description: > @@ -401,10 +401,10 @@ responses: type: string maximum: 1 minimum: 1 - content: - application/json: - schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" 416: description: > @@ -429,10 +429,10 @@ responses: type: string maximum: 1 minimum: 1 - content: - application/json: - schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" 422: description: > @@ -464,10 +464,10 @@ responses: type: string maximum: 1 minimum: 1 - content: - application/json: - schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" 429: description: > @@ -501,10 +501,10 @@ responses: type: string maximum: 1 minimum: 1 - content: - application/json: - schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" 500: description: > @@ -534,10 +534,10 @@ responses: type: string maximum: 1 minimum: 1 - content: - application/json: - schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" 503: description: > @@ -567,10 +567,10 @@ responses: type: string maximum: 1 minimum: 1 - content: - application/json: - schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" 504: description: > @@ -599,7 +599,7 @@ responses: type: string maximum: 1 minimum: 1 - content: - application/json: - schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" \ No newline at end of file + content: + application/json: + schema: + $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" \ No newline at end of file -- GitLab From 35cded339339ff5150a90da91a0878d95a5d7a2c Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Mon, 11 Nov 2019 17:18:29 +0200 Subject: [PATCH 12/55] fix headers --- src/SOL009/responses/SOL009_resp.yaml | 641 ++++++++++++++------------ 1 file changed, 348 insertions(+), 293 deletions(-) diff --git a/src/SOL009/responses/SOL009_resp.yaml b/src/SOL009/responses/SOL009_resp.yaml index 38cc0a4..430abfb 100644 --- a/src/SOL009/responses/SOL009_resp.yaml +++ b/src/SOL009/responses/SOL009_resp.yaml @@ -9,29 +9,33 @@ responses: Content-Type: description: > The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 + schema: + type: string + maximum: 1 + minimum: 1 Content-Range: description: > The Content-Range response HTTP header indicates where in a full body message a partial message belongs. - type: string - maximum: 1 - minimum: 1 + schema: + 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: + type: string + maximum: 1 + minimum: 0 Version: description: > Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: @@ -43,23 +47,26 @@ responses: headers: Content-Type: description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 + schema: + 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: + type: string + maximum: 1 + minimum: 0 Version: description: > Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + schema: + type: string + maximum: 1 + minimum: 1 400: description: > @@ -92,23 +99,26 @@ responses: 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: + 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: @@ -125,23 +135,26 @@ responses: 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: + 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: @@ -158,23 +171,26 @@ responses: 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: + 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: @@ -196,23 +212,26 @@ responses: 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: + 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: @@ -227,23 +246,26 @@ responses: 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: + 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: @@ -259,23 +281,26 @@ responses: 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: + 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: @@ -287,23 +312,26 @@ responses: 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: + 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: @@ -320,23 +348,26 @@ responses: 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: + 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: @@ -352,23 +383,26 @@ responses: 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: + 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: @@ -384,23 +418,26 @@ responses: 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: + 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: @@ -412,23 +449,26 @@ responses: 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: + 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: @@ -447,23 +487,26 @@ responses: 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: + 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: @@ -484,23 +527,26 @@ responses: 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: + 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: @@ -517,23 +563,26 @@ responses: 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: + 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: @@ -550,23 +599,26 @@ responses: 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: + 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: @@ -582,23 +634,26 @@ responses: 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: + 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: -- GitLab From 2e1dfe76007a7f4539fb25d8848d9ddaa1308b8a Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Mon, 11 Nov 2019 17:20:19 +0200 Subject: [PATCH 13/55] fix headers --- src/SOL009/responses/SOL009_resp.yaml | 512 +++++++++++++------------- 1 file changed, 256 insertions(+), 256 deletions(-) diff --git a/src/SOL009/responses/SOL009_resp.yaml b/src/SOL009/responses/SOL009_resp.yaml index 430abfb..bc50721 100644 --- a/src/SOL009/responses/SOL009_resp.yaml +++ b/src/SOL009/responses/SOL009_resp.yaml @@ -103,22 +103,22 @@ responses: 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. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: @@ -139,22 +139,22 @@ responses: 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. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: @@ -175,22 +175,22 @@ responses: 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. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: @@ -216,22 +216,22 @@ responses: 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. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: @@ -250,22 +250,22 @@ responses: 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. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: @@ -285,22 +285,22 @@ responses: 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. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: @@ -316,22 +316,22 @@ responses: 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. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: @@ -352,22 +352,22 @@ responses: 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. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: @@ -387,22 +387,22 @@ responses: 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. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: @@ -422,22 +422,22 @@ responses: 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. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: @@ -453,22 +453,22 @@ responses: 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. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: @@ -491,22 +491,22 @@ responses: 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. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: @@ -531,22 +531,22 @@ responses: 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. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: @@ -567,22 +567,22 @@ responses: 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. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: @@ -603,22 +603,22 @@ responses: 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. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: @@ -638,22 +638,22 @@ responses: 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. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: -- GitLab From edac4e0797309ebfc711e5946851a5f1748af36b Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Mon, 11 Nov 2019 17:25:02 +0200 Subject: [PATCH 14/55] fix headers --- src/SOL009/endpoints/SOL009_endpoints.yaml | 81 ++++++++++++++++------ 1 file changed, 58 insertions(+), 23 deletions(-) diff --git a/src/SOL009/endpoints/SOL009_endpoints.yaml b/src/SOL009/endpoints/SOL009_endpoints.yaml index e547fc2..c60fb8e 100644 --- a/src/SOL009/endpoints/SOL009_endpoints.yaml +++ b/src/SOL009/endpoints/SOL009_endpoints.yaml @@ -8,7 +8,15 @@ endpoints: Version of the API requested to use when responding to this request. in: header required: false - type: string + schema: + type: string + - name: Authorization + description: >- + The authorization token for the request. Reference: IETF RFC 7235 + in: header + required: false + schema: + type: string get: summary: Retrieve API version information description: > @@ -23,30 +31,57 @@ endpoints: API version information was read successfully. The response body shall contain 4.4 API version information, as defined in clause 4.4.1.13. - schema: - $ref: '../definitions/SOL009_def.yaml#/definitions/ApiVersionInformation' + content: + application/json: + schema: + $ref: '../definitions/SOL009_def.yaml#/definitions/ApiVersionInformation' headers: Content-Type: description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 + schema: + 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. + schema: + type: string + maximum: 1 + minimum: 0 Version: description: The used API version. - type: string - maximum: 1 - minimum: 1 - 400: { $ref: '../responses/SOL009_resp.yaml#/responses/400' } - 401: { $ref: '../responses/SOL009_resp.yaml#/responses/401' } - 403: { $ref: '../responses/SOL009_resp.yaml#/responses/403' } - 404: { $ref: '../responses/SOL009_resp.yaml#/responses/404' } - 405: { $ref: '../responses/SOL009_resp.yaml#/responses/405' } - 406: { $ref: '../responses/SOL009_resp.yaml#/responses/406' } - 413: { $ref: '../responses/SOL009_resp.yaml#/responses/413' } - 414: { $ref: '../responses/SOL009_resp.yaml#/responses/414' } - 416: { $ref: '../responses/SOL009_resp.yaml#/responses/416' } - 422: { $ref: '../responses/SOL009_resp.yaml#/responses/422' } - 429: { $ref: '../responses/SOL009_resp.yaml#/responses/429' } - 500: { $ref: '../responses/SOL009_resp.yaml#/responses/500' } - 503: { $ref: '../responses/SOL009_resp.yaml#/responses/503' } - 504: { $ref: '../responses/SOL009_resp.yaml#/responses/504' } \ No newline at end of file + schema: + type: string + maximum: 1 + minimum: 1 + 400: + $ref: '../responses/SOL009_resp.yaml#/responses/400' + 401: + $ref: '../responses/SOL009_resp.yaml#/responses/401' + 403: + $ref: '../responses/SOL009_resp.yaml#/responses/403' + 404: + $ref: '../responses/SOL009_resp.yaml#/responses/404' + 405: + $ref: '../responses/SOL009_resp.yaml#/responses/405' + 406: + $ref: '../responses/SOL009_resp.yaml#/responses/406' + 413: + $ref: '../responses/SOL009_resp.yaml#/responses/413' + 414: + $ref: '../responses/SOL009_resp.yaml#/responses/414' + 416: + $ref: '../responses/SOL009_resp.yaml#/responses/416' + 422: + $ref: '../responses/SOL009_resp.yaml#/responses/422' + 429: + $ref: '../responses/SOL009_resp.yaml#/responses/429' + 500: + $ref: '../responses/SOL009_resp.yaml#/responses/500' + 503: + $ref: '../responses/SOL009_resp.yaml#/responses/503' + 504: + $ref: '../responses/SOL009_resp.yaml#/responses/504' \ No newline at end of file -- GitLab From b46707bf504a534dc9fb8881cb1952d17a4ca450 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Mon, 11 Nov 2019 17:32:41 +0200 Subject: [PATCH 15/55] upd dependency --- .../NFVManoLogManagement.yaml | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml index ee48b00..0b69bd7 100644 --- a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml +++ b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml @@ -1066,17 +1066,19 @@ components: This type represents subscription filter criteria to match NFV-MANO functional entities and their associated managed objects. It shall comply with the provisions defined in Table 4.3.2.2-1. type: object -# required: -# anyOf: -# - oneOf: -# - manoServiceIds -# - manoServiceNames -# - oneOf: -# - manoServiceInterfaceIds -# - manoServiceInterfaceNames -# - oneOf: -# - consumedManoInterfaceIds -# - consumedManoInterfaceNames + anyOf: + - required: + - oneOf: + - manoServiceIds + - manoServiceNames + - required: + - oneOf: + - manoServiceInterfaceIds + - manoServiceInterfaceNames + - required: + - oneOf: + - consumedManoInterfaceIds + - consumedManoInterfaceNames properties: manoEntityId: description: >- -- GitLab From 345f08a81cefae6fa6318bef28a12f1f7dd3d8c5 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Mon, 11 Nov 2019 17:34:11 +0200 Subject: [PATCH 16/55] upd --- .../NFVManoLogManagement/NFVManoLogManagement.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml index 0b69bd7..230ce1a 100644 --- a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml +++ b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml @@ -1072,13 +1072,13 @@ components: - manoServiceIds - manoServiceNames - required: - - oneOf: - - manoServiceInterfaceIds - - manoServiceInterfaceNames + - oneOf: + - manoServiceInterfaceIds + - manoServiceInterfaceNames - required: - - oneOf: - - consumedManoInterfaceIds - - consumedManoInterfaceNames + - oneOf: + - consumedManoInterfaceIds + - consumedManoInterfaceNames properties: manoEntityId: description: >- -- GitLab From 69858b7dd89e2efd92fa866319052d5f0eff4680 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Mon, 11 Nov 2019 17:42:18 +0200 Subject: [PATCH 17/55] upd --- .../NFVManoLogManagement.yaml | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml index 230ce1a..1067f67 100644 --- a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml +++ b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml @@ -1066,19 +1066,19 @@ components: This type represents subscription filter criteria to match NFV-MANO functional entities and their associated managed objects. It shall comply with the provisions defined in Table 4.3.2.2-1. type: object - anyOf: + oneOf: - required: - - oneOf: - - manoServiceIds - - manoServiceNames + - manoServiceIds - required: - - oneOf: - - manoServiceInterfaceIds - - manoServiceInterfaceNames + - manoServiceNames - required: - - oneOf: - - consumedManoInterfaceIds - - consumedManoInterfaceNames + - manoServiceInterfaceIds + - required: + - manoServiceInterfaceNames + - required: + - consumedManoInterfaceIds + - required: + - consumedManoInterfaceNames properties: manoEntityId: description: >- -- GitLab From 550df6a0ac54c0f980a41f0d77424a5297bd8793 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 12 Nov 2019 11:07:56 +0100 Subject: [PATCH 18/55] NFVMANO PM Mgmt Interfaces (first push) --- .../NFVManoPerformanceManagement.yaml | 1765 +++++++++++++++++ 1 file changed, 1765 insertions(+) create mode 100644 src/SOL009/NFVManoPerformanceManagement/NFVManoPerformanceManagement.yaml diff --git a/src/SOL009/NFVManoPerformanceManagement/NFVManoPerformanceManagement.yaml b/src/SOL009/NFVManoPerformanceManagement/NFVManoPerformanceManagement.yaml new file mode 100644 index 0000000..8c34a52 --- /dev/null +++ b/src/SOL009/NFVManoPerformanceManagement/NFVManoPerformanceManagement.yaml @@ -0,0 +1,1765 @@ +openapi: 3.0.2 +info: + version: 1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + title: SOL009 - NFV-MANO Performance Management Interface + description: > + SOL009 - NFV-MANO Performance Management Interface + + IMPORTANT: Please note that this file might be not aligned to the current + version of the ETSI Group Specification it refers to and has not been + approved by the ETSI NFV ISG. In case of discrepancies the published ETSI + Group Specification takes precedence. + Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + license: + name: ETSI Forge copyright notice + url: https://forge.etsi.org/etsi-forge-copyright-notice.txt + contact: + name: NFV-SOL WG +externalDocs: + description: ETSI GS NFV-SOL 009 V0.8.0 + url: https://docbox.etsi.org/ISG/NFV/Open/Drafts/SOL009ed331_MANO_mgmt_stage_3/NFV-SOL009ed331v080.zip + +servers: + - url: http://0.0.0.0/nfvmanopm/v1 + description: > + API HTTP Server + - url: https://0.0.0.0/nfvmanopm/v1 + description: > + API HTTPS Server + +paths: + /api_versions: + $ref: ../endpoints/SOL009_endpoints.yaml#/endpoints/api_versions + + /pm_jobs: + post: + description: > + Creates a PM job. + + This method shall follow the provisions specified in the tables + 6.5.3.3.1-1 and 6.5.3.3.1-2 for URI query parameters, request and + response data structures, and response codes. + parameters: + - $ref: "#/components/parameters/Version" + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Authorization" + requestBody: + $ref: "#/components/requestBodies/CreatePMJobRequest" + responses: + "201": + $ref: "#/components/responses/pm_jobs.post.201" + "400": + $ref: ../responses/SOL009_resp.yaml#/responses/400 + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "422": + $ref: ../responses/SOL009_resp.yaml#/responses/422 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + get: + description: > + The client can use this method to retrieve information about PM jobs. + parameters: + - $ref: "#/components/parameters/filter.PmJob" + - $ref: "#/components/parameters/all_fields" + - $ref: "#/components/parameters/fields" + - $ref: "#/components/parameters/exclude_fields" + - $ref: "#/components/parameters/exclude_default.PmJob" + - $ref: "#/components/parameters/nextpage_opaque_marker" + - $ref: "#/components/parameters/Version" + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Authorization" + responses: + "200": + $ref: "#/components/responses/pm_jobs.get.200" + "400": + $ref: "#/components/responses/pm_jobs.get.400" + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "422": + $ref: ../responses/SOL009_resp.yaml#/responses/422 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + + /pm_jobs/{pmJobId}: + get: + description: > + The client can use this method for reading an individual PM job. + parameters: + - $ref: "#/components/parameters/Version" + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Authorization" + responses: + "200": + $ref: "#/components/responses/pm_job.get.200" + "400": + $ref: ../responses/SOL009_resp.yaml#/responses/400 + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "422": + $ref: ../responses/SOL009_resp.yaml#/responses/422 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + delete: + description: > + This method terminates an individual PM job. + parameters: + - $ref: "#/components/parameters/Version" + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Authorization" + responses: + "204": + $ref: "#/components/responses/pm_job.delete.204" + "400": + $ref: ../responses/SOL009_resp.yaml#/responses/400 + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "422": + $ref: ../responses/SOL009_resp.yaml#/responses/422 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + + /pm_jobs/{pmJobId}/reports/{reportId}: + get: + description: > + The client can use this method for reading an individual + performance report. + parameters: + - $ref: "#/components/parameters/Version" + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Authorization" + responses: + "200": + $ref: "#/components/responses/pm_job.report.get.200" + "400": + $ref: ../responses/SOL009_resp.yaml#/responses/400 + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "422": + $ref: ../responses/SOL009_resp.yaml#/responses/422 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + + /thresholds: + post: + description: > + The POST method can be used by the client to create a threshold. + parameters: + - $ref: "#/components/parameters/Version" + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Authorization" + requestBody: + $ref: "#/components/requestBodies/CreateThesholdRequest" + responses: + "201": + $ref: "#/components/responses/thresholds.post.201" + "400": + $ref: ../responses/SOL009_resp.yaml#/responses/400 + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "422": + $ref: ../responses/SOL009_resp.yaml#/responses/422 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + get: + description: > + The client can use this method to query information about thresholds. + parameters: + - $ref: "#/components/parameters/filter.Threshold" + - $ref: "#/components/parameters/nextpage_opaque_marker" + - $ref: "#/components/parameters/Version" + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Authorization" + responses: + "200": + $ref: "#/components/responses/thresholds.get.200" + "400": + $ref: "#/components/responses/thresholds.get.400" + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "422": + $ref: ../responses/SOL009_resp.yaml#/responses/422 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + + /thresholds/{thresholdId}: + get: + description: > + The client can use this method for reading an individual threshold + parameters: + - $ref: "#/components/parameters/Version" + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Authorization" + responses: + "200": + $ref: "#/components/responses/threshold.get.200" + "400": + $ref: ../responses/SOL009_resp.yaml#/responses/400 + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "422": + $ref: ../responses/SOL009_resp.yaml#/responses/422 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + delete: + description: > + This method allows to delete a threshold. + parameters: + - $ref: "#/components/parameters/Version" + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Authorization" + responses: + "204": + $ref: "#/components/responses/threshold.delete.204" + "400": + $ref: ../responses/SOL009_resp.yaml#/responses/400 + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "422": + $ref: ../responses/SOL009_resp.yaml#/responses/422 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + + /subscriptions: + post: + description: > + The POST method creates a new subscription. + parameters: + - $ref: "#/components/parameters/Version" + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Authorization" + requestBody: + $ref: "#/components/requestBodies/CreateSubscriptionRequest" + responses: + "201": + $ref: "#/components/responses/subscriptions.post.201" + "303": + $ref: "#/components/responses/subscriptions.post.303" + "400": + $ref: ../responses/SOL009_resp.yaml#/responses/400 + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "422": + $ref: ../responses/SOL009_resp.yaml#/responses/422 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + get: + description: > + The client can use this method to query the list of active subscriptions + to performance management notifications subscribed by the client. + parameters: + - $ref: "#/components/parameters/filter.PmSubscription" + - $ref: "#/components/parameters/nextpage_opaque_marker" + - $ref: "#/components/parameters/Version" + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Authorization" + responses: + "200": + $ref: "#/components/responses/subscriptions.get.200" + "400": + $ref: "#/components/responses/subscriptions.get.400" + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "422": + $ref: ../responses/SOL009_resp.yaml#/responses/422 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + + /subscriptions/{subscriptionId}: + get: + description: > + The client can use this method for reading an individual subscription + about performance management notifications subscribed by the client. + parameters: + - $ref: "#/components/parameters/Version" + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Authorization" + responses: + "200": + $ref: "#/components/responses/subscription.get.200" + "400": + $ref: ../responses/SOL009_resp.yaml#/responses/400 + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "422": + $ref: ../responses/SOL009_resp.yaml#/responses/422 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + delete: + description: > + This method terminates an individual subscription. + parameters: + - $ref: "#/components/parameters/Version" + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Authorization" + responses: + "204": + $ref: "#/components/responses/subscription.delete.204" + "400": + $ref: ../responses/SOL009_resp.yaml#/responses/400 + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "422": + $ref: ../responses/SOL009_resp.yaml#/responses/422 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + + +components: + schemas: + PmSubscriptionRequest: + description: > + This type represents a subscription request. + type: object + 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: "#/components/schemas/PmNotificationsFilter" + callbackUri: + description: > + The URI of the endpoint to send the notification to. + $ref: "#/components/schemas/Uri" + authentication: + description: > + Authentication parameters to configure the use of Authorization when + sending notifications corresponding to this subscription, as defined + in clause 8.3.4 of ETSI GS NFV-SOL 013. + This attribute shall only be present if the subscriber requires authorization + of notifications. + $ref: "#/components/schemas/SubscriptionAuthentication" + required: + - callbackUri + + PmSubscription: + description: > + This type represents a subscription. + type: object + properties: + id: + description: > + Identifier that identifies the subscription + $ref: "#/components/schemas/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: "#/components/schemas/PmNotificationsFilter" + callbackUri: + description: > + The URI of the endpoint to send the notification to. + type: object + properties: + links: + description: > + Links to resources related to this resource. + $ref: "#/components/schemas/Uri" + self: + description: > + URI of this resource. + $ref: "#/components/schemas/Link" + required: + - links + - self + required: + - id + - callbackUri + + ThresholdCrossedNotification: + description: > + This type represents a notification that is sent when a threshold has been crossed. + + NOTE: The timing of sending this notification is determined by the capability of + the producing entity to evaluate the threshold crossing condition. + + The notification shall be triggered by the NFV-MANO functional entity when + a threshold has been crossed. + type: object + 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: "#/components/schemas/Identifier" + notificationType: + description: > + Discriminator for the different notification types. Shall be set to + "ThresholdCrossedNotification" for this notification type. + $ref: "#/components/schemas/String" + subscriptionId: + description: > + Identifier of the subscription that this notification relates to. + $ref: "#/components/schemas/Identifier" + timeStamp: + description: > + Date and time of the generation of the notification. + $ref: "#/components/schemas/DateTime" + thresholdId: + description: > + Identifier of the threshold which has been crossed. + $ref: "#/components/schemas/Identifier" + crossingDirection: + description: > + An indication of whether the threshold was crossed in upward or downward direction. + $ref: "#/components/schemas/CrossingDirectionType" + objectType: + description: > + Type of measured object.The applicable measured object type for a measurement + is defined in clause 8.2 of ETSI GS NFV-IFA 031. + $ref: "#/components/schemas/String" + objectInstanceId: + description: > + Identifier of the measured object instance. This attribute shall contain the + identifier of the instance of the measure object according to their type. + See also definitions in clause 8.2 of ETSI GS NFV-IFA 031 + $ref: "#/components/schemas/Identifier" + subObjectInstanceId: + description: > + Identifier of the sub-object of the measured object to which the measurement + applies. Shall be present if this is required in clause 8.2 of ETSI GS NFV-IFA 031 + for the related measured object type. Shall be absent otherwise. + $ref: "#/components/schemas/IdentifierInManoEntity" + performanceMetric: + description: > + Performance metric associated with the threshold. + This attribute shall contain the related "Measurement Name" value as defined + in clause 8.4 of ETSI GS NFV-IFA 031 + $ref: "#/components/schemas/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 8.4 of ETSI GS NFV-IFA 031. + $ref: "#/components/schemas/AnyValue" + _links: + description: > + Links to resources related to this notification. + type: object + properties: + subscription: + description: > + Link to the related subscription. + $ref: "#/components/schemas/NotificationLink" + objectInstance: + description: > + Link to the resource representing the measured object instance to which + the notified change applies. Shall be present if the measured object + instance information is accessible as a resource. + $ref: "#/components/schemas/NotificationLink" + objectInstance: + description: > + Link to the resource that represents the threshold that was crossed. + $ref: "#/components/schemas/NotificationLink" + required: + - subscription + - objectInstance + required: + - id + - notificationType + - subscriptionId + - timeStamp + - thresholdId + - crossingDirection + - objectType + - objectInstanceId + - performanceMetric + - performanceValue + - _links + + PerformanceInformationAvailableNotification: + description: > + This notification informs the receiver that performance information is available. + type: object + 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: "#/components/schemas/Identifier" + notificationType: + description: > + Discriminator for the different notification types. + Shall be set to "PerformanceInformationAvailableNotification" for this + notification type. + $ref: "#/components/schemas/String" + subscriptionId: + description: > + Identifier of the subscription that this notification relates to. + $ref: "#/components/schemas/Identifier" + timeStamp: + description: > + Date and time of the generation of the notification. + $ref: "#/components/schemas/DateTime" + objectType: + description: > + Type of measured object. + The applicable measured object type for a measurement is defined in clause 8.2 + of ETSI GS NFV-IFA 031. + $ref: "#/components/schemas/String" + objectInstanceId: + description: > + Type of measured object. + The applicable measured object type for a measurement is defined in clause 8.2 + of ETSI GS NFV-IFA 031 + $ref: "#/components/schemas/Identifier" + subObjectInstanceId: + description: > + Identifier of the sub-object of the measured object instance for which the + measurements have been taken. Shall be present if the related PM job has been + set up to measure a sub-object instance of the measured object instance and a + sub-object is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the related + measured object type. Shall be absent otherwise. + $ref: "#/components/schemas/IdentifierInManoEntity" + _links: + description: > + Links to resources related to this notification. + type: object + properties: + subscription: + description: > + Link to the related subscription. + $ref: "#/components/schemas/NotificationLink" + objectInstance: + description: > + Link to the resource representing the measured object instance to which the + notification applies. Shall be present if the measured object instance + information is accessible as a resource. + $ref: "#/components/schemas/NotificationLink" + pmJob: + description: > + Link to the resource that represents the PM job for which performance + information is available. + $ref: "#/components/schemas/NotificationLink" + performanceReport: + description: > + Link from which the available performance information of data type + "PerformanceReport" can be obtained. + This link should point to an "Individual performance report" resource. + $ref: "#/components/schemas/NotificationLink" + required: + - subscription + - pmJob + - performanceReport + required: + - id + - notificationType + - subscriptionId + - timeStamp + - objectType + - objectInstanceId + - _links + + CreatePmJobRequest: + description: > + + type: object + properties: + required: + + PmJob: + description: > + + type: object + properties: + required: + + CreateThresholdRequest : + description: > + + type: object + properties: + required: + + Threshold: + description: > + + type: object + properties: + required: + + #---------- + + PmNotificationsFilter: + description: > + This type represents a filter that can be used to subscribe for notifications + related to performance management events. + 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: + pmSubscriptionFilter: + description: > + pmSubscriptionFilter ManoEntitySubscriptionFilter 0..1 Filter criteria + to select object instance about which to notify. + $ref: "#/components/schemas/ManoEntitySubscriptionFilter" + notificationTypes: + description: > + Match particular notification types. + Permitted values: + - ThresholdCrossedNotification + - PerformanceInformationAvailableNotification + + 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: + - ThresholdCrossedNotification + - PerformanceInformationAvailableNotification + + PmJobCriteria: + description: > + This type represents collection criteria for PM jobs. + type: object + properties: + performanceMetric: + description: > + This defines the types of performance metrics for the specified measured + object(s). This attribute’s value shall contain the related "Measurement Name" + values as defined in clause 8.4 of ETSI GS NFV-IFA 031. + At least one of the two attributes (performance metric or group) shall be present. + type: array + items: + type: string + performanceMetricGroup: + description: > + Group of performance metrics. + A metric group is a pre-defined list of metrics, known to the producer that it + can decompose to individual metrics. This attribute’s value shall contain the + related "Measurement Group" values as defined in clause 8.4 of ETSI GS + NFV-IFA 031. + At least one of the two attributes (performance metric or group) shall be present. + type: array + items: + type: string + collectionPeriod: + description: > + Specifies the periodicity at which the producer will collect performance + information. The unit shall be seconds. + + At the end of each reportingPeriod, the producer will inform the API consumer + about availability of the performance data collected for each completed + collection period during this reportingPeriod. The reportingPeriod should + be equal to or a multiple of the collectionPeriod. In the latter case, the + performance data for the collection periods within one reporting period + are reported together. + + In particular when choosing short collection and reporting periods, the + number of PM jobs that can be supported depends on the capability of the + producing entity. + type: integer + reportingPeriod: + description: > + Specifies the periodicity at which the producer will report to the API consumer + about performance information. The unit shall be seconds. + + At the end of each reportingPeriod, the producer will inform the API consumer + about availability of the performance data collected for each completed + collection period during this reportingPeriod. The reportingPeriod should + be equal to or a multiple of the collectionPeriod. In the latter case, the + performance data for the collection periods within one reporting period + are reported together. + + In particular when choosing short collection and reporting periods, the + number of PM jobs that can be supported depends on the capability of the + producing entity. + type: integer + reportingBoundary: + description: > + Identifies a time boundary after which the reporting will stop. + The boundary shall allow a single reporting as well as periodic reporting up to + the boundary. + $ref: "#/components/schemas/DateTime" + required: + - collectionPeriod + - reportingPeriod + + ThresholdCriteria: + description: > + This type represents criteria that define a threshold. + type: object + properties: + performanceMetric: + description: > + Defines the performance metric associated with the threshold. + This attribute’s value shall contain the related "Measurement Name" values + as defined in clause 8.4 of ETSI GS NFV-IFA 031 + type: string + thresholdType: + description: > + Type of threshold. This attribute determines which other attributes are + present in the data structure. + Permitted values: + - SIMPLE: Single-valued static threshold + + In the present document, simple thresholds are defined. The definition + of additional threshold types is left for future specification. + type: string + enum: + - SIMPLE + simpleThresholdDetails: + description: > + Details of a simple threshold. Shall be present if thresholdType="SIMPLE". + type: object + properties: + thresholdValue: + description: > + The threshold value. Shall be represented as a floating point number. + $ref: "#/components/schemas/Number" + hysteresis: + description: > + The hysteresis of the threshold. + Shall be represented as a non-negative floating point number. + A notification with crossing direction "UP" will be generated if the + measured value reaches or exceeds "thresholdValue" + "hysteresis". + A notification with crossing direction "DOWN" will be generated if + the measured value reaches or undercuts "thresholdValue" - "hysteresis". + + The hysteresis is defined to prevent storms of threshold crossing notifications. + When processing a request to create a threshold, implementations should enforce + a suitable minimum value for this attribute (e.g. override the value or reject + the request). + $ref: "#/components/schemas/Number" + required: + - thresholdValue + - hysteresis + required: + - performanceMetric + - thresholdType + + #---------------- + # common types to SOL009 + #---------------- + + ManoEntitySubscriptionFilter: + description: > + This type represents subscription filter criteria to match NFV-MANO functional + entities and their associated managed objects. + type: object + properties: + manoEntityId: + descriptin: > + If present, match the NFV-MANO functional entity with an + instance identifier listed in this attribute. + required: false + $ref: "#/components/schemas/Identifier" + manoServiceIds: + description: > + manoServiceIds IdentifierInManoEntity 0..N If present, match NFV-MANO + services with an instance identifier listed in this attribute. + + The attributes "manoServiceIds" and "manoServiceNames" are alternatives + to reference to NFV-MANO services in a filter. They should not be used + together in the same filter instance, but one alternative should be chosen. + type: array + items: + $ref: "#/components/schemas/IdentifierInManoEntity" + manoServiceNames: + description: > + If present, match NFV-MANO services with an NFV-MANO service name listed + in this attribute. + + The attributes "manoServiceIds" and "manoServiceNames" are alternatives + to reference to NFV-MANO services in a filter. They should not be used + together in the same filter instance, but one alternative should be chosen. + type: array + items: + type: string + manoServiceInterfaceIds: + description: > + If present, match NFV-MANO functional entity produced interfaces with an + instance identifier listed in this attribute. + + The attributes "manoServiceInterfaceIds" and "manoServiceInterfaceNames" + are alternatives to reference to NFV-MANO functional entity produced + interfaces in a filter. They should not be used both in the same filter + instance, but one alternative should be chosen. + type: array + items: + $ref: "#/components/schemas/IdentifierInManoEntity" + manoServiceInterfaceNames: + description: > + If present, match NFV-MANO functional entity produced interfaces with an + instance Name listed in this attribute. + + The attributes "manoServiceInterfaceIds" and "manoServiceInterfaceNames" + are alternatives to reference to NFV-MANO functional entity produced + interfaces in a filter. They should not be used both in the same filter + instance, but one alternative should be chosen. + type: array + items: + $ref: string + consumedManoInterfaceIds: + description: > + If present, match NFV-MANO functional entity consumed interfaces with an + instance identifier listed in this attribute. + + The attributes "consumedManoInterfaceIds" and "consumedManoInterfaceNames" + are alternatives to reference to NFV-MANO functional entity consumed + interfaces in a filter. They should not be used both in the same filter + instance, but one alternative should be chosen. + type: array + items: + $ref: "#/components/schemas/identifier" + consumedManoInterfaceNames: + description: > + If present, match NFV-MANO functional entity consumed interfaces with an + instance Name listed in this attribute. + + The attributes "consumedManoInterfaceIds" and "consumedManoInterfaceNames" + are alternatives to reference to NFV-MANO functional entity consumed + interfaces in a filter. They should not be used both in the same filter + instance, but one alternative should be chosen. + type: array + items: + $ref: string + + ManoManagedObjectReference: + description: > + This type represents the identifier to reference a managed object of a + particular type. + type: object + properties: + type: + description: > + Indicates the type of managed object. + Permitted values: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + + The "MANO_ENTITY COMPONENT" is only applicable if attribute + "manoEntityComponents" in "ManoEntity" is supported by the API producer. + type: string + enum: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + objectId: + description: > + Identifier of the managed object. + - If type="MANO_ENTITY", it corresponds to the value of the attribute "id" + of the "ManoEntity" representing an NFV-MANO functional entity. + - If type="MANO_SERVICE", it corresponds to the value of the attribute "id" + of the "ManoEntity" representing the NFV-MANO functional entity that contains + the "ManoService" sub-object. + - If type="MANO_SERVICE_IF", it corresponds to the value of the attribute "id" + of the "ManoServiceInterface" representing the NFV-MANO functional entity that + contains the "ManoServiceInterface" sub-object. + - If type="CONSUMED_MANO_IF", the value corresponds to the value of the attribute + "id" of the "ConsumedManoInterfaceInfo" representing a consumed NFV-MANO service + interface from a peer functional entity. + - If type="MANO_ENTITY_COMPONENT", the value corresponds to the value of + the attribute "id" of the "ManoEntity" representing the NFV-MANO functional + entity that contains the "ManoEntityComponent" sub-object. + + The "MANO_ENTITY COMPONENT" is only applicable if attribute + "manoEntityComponents" in "ManoEntity" is supported by the API producer. + $ref: "#/components/schemas/Identifier" + subObjectId: + description: > + Identifier of the managed sub-object. It shall be present if type equals to + "MANO_SERVICE" or "MANO_SERVICE_IF" or "MANO_ENTITY_COMPONENT". + - If type="MANO_SERVICE", it corresponds to the value of the attribute "id" + of the "ManoService" representing an individual NFV-MANO service. + - If type="MANO_SERVICE_IF", it corresponds to the value of the attribute "id" + of the "ManoServiceInterface" representing an individual NFV-MANO service + interface. + - If type="MANO_ENTITY_COMPONENT", it corresponds to the value of the attribute + "id" of the "ManoEntityComponent" representing an NFV-MANO functional entity + component. + + The "MANO_ENTITY COMPONENT" is only applicable if attribute + "manoEntityComponents" in "ManoEntity" is supported by the API producer. + $ref: "#/components/schemas/IdentifierInManoEntity" + required: + - type + - objectId + + CrossingDirectionType: + description: > + CrossingDirectionType enumeration. + Permited values: + - UP: The threshold was crossed in upward direction. + - DOWN : The threshold was crossed in downward direction. + type: string + enum: + - UP + - DOWN + + DateTime: + description: > + Date-time stamp. + Representation: String formatted according toas defined by the date-time production in IETF RFC 3339. + format: date-time + Number: + description: > + A number as defined in IETF RFC 8259. + type: number + Identifier: + description: (...) + type: string + IdentifierInManoEntity: + description: (...) + type: string + + responses: + pm_jobs.post.201: + description: > + 201 CREATED + + Shall be returned when the PM job has been created successfully. + + The response body shall contain a representation of the created + "Individual PM job" resource, as defined in clause 6.6.2.7. + + The HTTP response shall include a "Location" HTTP header that + points to the created "Individual PM job" resource. + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + $ref: "#/components/schemas/PmJob" + pm_jobs.get.200: + description: > + 200 OK + + Shall be returned when information about zero or more PM jobs has + been queried successfully. + + The response body shall contain in an array the representations + of zero or more PM jobs, as defined in clause 6.6.2.7. + + If the "filter" URI parameter or one of the "all_fields", "fields" + (if supported), "exclude_fields" (if supported) or "exclude_default" + URI parameters was supplied in the request, the data in the response + body shall have been transformed according to the rules specified in + clauses 5.2.2 and 5.3.2 of ETSI GS NFV-SOL 013, respectively. + + If the NFV-MANO functional entity supports alternative 2 (paging) + according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this + resource, inclusion of the Link HTTP header in this response shall + follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013 . + headers: + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + Link: + description: > + Reference to other resources. Link HTTP header in this response + shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. + schema: + type: string + minimum: 0 + maximum: 1 + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/PmJob" + pm_jobs.get.400: + description: > + 400 BAD REQUEST + + Shall be returned upon the following errors: + - Invalid attribute-based filtering expression. + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + - Invalid attribute selector. + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + - Response too big. + If the NFV-MANO functional entity supports alternative N°1 (error) + according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, + this error response shall follow the provisions in clause 5.4.2.2 of + ETSI GS NFV-SOL 013. + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + $ref: "#/components/schemas/ProblemDetails" + + pm_job.get.200: + description: > + 200 OK + + Shall be returned when information about an individual PM job + has been read successfully. + + The response body shall contain a representation of the + "Individual PM job" resource, as defined in clause 6.6.2.7. + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + $ref: "#/components/schemas/PmJob" + pm_job.delete.204: + description: > + 204 NO CONTENT + + Shall be returned when the PM job has been deleted 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + + pm_job.report.get.200: + description: > + 200 OK + + Shall be returned when information of an individual performance + report has been read successfully. + + The response body shall contain a representation of the + "Individual performance report" resource, as defined + in clause 6.6.2.10. + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + $ref: "#/components/schemas/PerformanceReport" + + thresholds.post.201: + description: > + 201 CREATED + + Shall be returned when a threshold has been created successfully. + + The response body shall contain a representation of the created + "Individual threshold" resource, as defined in clause 6.6.2.9. + + The HTTP response shall include a "Location" HTTP header that + contains the resource URI of the created "Individual threshold" + resource. + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + Location: + description: > + The resource URI of the created "Individual change state + operation occurence" resource. + schema: + type: string + format: url + minimum: 1 + maximum: 1 + content: + application/json: + schema: + $ref: "#/components/schemas/Threshold" + thresholds.get.200: + description: > + 200 OK + + Shall be returned when information about zero or more thresholds + has been queried successfully. + + The response body shall contain in an array the representations + of zero or more thresholds, as defined in clause 6.6.2.9. + + If the "filter" URI parameter was supplied in the request, the + data in the response body shall have been transformed according + to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. + + If the NFV-MANO functional entity supports alternative 2 (paging) + according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, + inclusion of the Link HTTP header in this response shall follow the + provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. + headers: + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/Threshold" + thresholds.get.400: + description: > + 400 BAD REQUEST + + Shall be returned upon the following errors: + - Invalid attribute-based filtering expression. + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + - Response too big. + If the NFV-MANO functional entity supports alternative N°1 (error) + according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, + this error response shall follow the provisions in clause 5.4.2.2 of + ETSI GS NFV-SOL 013. + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + $ref: "#/components/schemas/ProblemDetails" + + threshold.get.200: + description: > + 200 OK + + Shall be returned when information about an individual threshold + has been read successfully. + + The response body shall contain a representation of the threshold, + as defined in clause 6.6.2.9. + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + $ref: "#/components/schemas/Threshold" + threshold.delete.204: + description: > + 204 NO CONTENT + + Shall be returned when the threshold has been deleted 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + + subscriptions.post.201: + description: > + 201 CREATED + + Shall be returned when the subscription has been created successfully. + + A representation of the created subscription resource shall be returned + in the response body, as defined in clause 6.6.2.3. + + The HTTP response shall include a "Location" HTTP header that contains + the resource URI of the created "Individual subscription" resource. + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + Location: + description: > + The resource URI of the created "Individual change state + operation occurence" resource. + schema: + type: string + format: url + minimum: 1 + maximum: 1 + content: + application/json: + schema: + $ref: "#/components/schemas/PmSubscription" + subscriptions.post.303: + description: > + 303 SEE OTHER + + Shall be returned when a subscription with the same callbackURI and + the same filter already exists and the policy of the NFV-MANO functional + entity is to not create redundant subscriptions. + + The HTTP response shall include a "Location" HTTP header that contains + the resource URI of the existing "Individual subscription" resource. + + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + Location: + description: > + The resource URI of the created "Individual change state + operation occurence" resource. + schema: + type: string + format: url + minimum: 1 + maximum: 1 + subscriptions.get.200: + description: > + Shall be returned when the list of subscriptions has been queried + successfully. + + The response body shall contain in an array the representations + of all active subscriptions of the functional block that invokes + the method, i.e. zero or more representations of PM subscriptions + as defined in clause 6.6.2.3. + + If the "filter" URI parameter was supplied in the request, the data + in the response body shall have been transformed according to the + rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. + + If the NFV-MANO functional entity supports alternative 2 (paging) + according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, + inclusion of the Link HTTP header in this response shall follow the + provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. + headers: + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/PmSubscription" + subscriptions.get.400: + description: > + 400 BAD REQUEST + + Shall be returned upon the following errors: + - Invalid attribute-based filtering expression. + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + - Response too big. + If the NFV-MANO functional entity supports alternative N°1 (error) + according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, + this error response shall follow the provisions in clause 5.4.2.2 of + ETSI GS NFV-SOL 013. + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + $ref: "#/components/schemas/ProblemDetails" + + subscription.get.200: + description: > + 200 OK + + Shall be returned when the subscription has been read successfully. + + The response body shall contain a representation of the + "Individual subscription" resource, as defined in clause 6.6.2.3. + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + $ref: "#/components/schemas/PmSubscription" + subscription.delete.204: + description: > + 204 NO CONTENT + + Shall be returned when the "Individual subscription" resource has + been deleted 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + + parameters: + Version: + name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + + Accept: + name: Accept + description: > + Content-Types that are acceptable for the response. Reference: IETF RFC 7231. + in: header + required: true + schema: + type: string + + Authorization: + name: Authorization + description: > + The authorization token for the request. Reference: IETF RFC 7235. + in: header + required: false + schema: + type: string + + filter.PmJob : + name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of + ETSI GS NFV-SOL 013. + + The NFV-MANO functional entity shall support receiving this parameter + as part of the URI query string. The API consumer may supply this + parameter. + + All attribute names that appear in the PmJob and in data + types referenced from it shall be supported by the NFV-MANO functional + entity in the expression. + in: query + required: false + schema: + type: string + filter.Threshold : + name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of + ETSI GS NFV-SOL 013. + + The NFV-MANO functional entity shall support receiving this parameter + as part of the URI query string. The API consumer may supply this + parameter. + + All attribute names that appear in the Threshold and in data + types referenced from it shall be supported by the NFV-MANO functional + entity in the expression. + in: query + required: false + schema: + type: string + filter.PmSubscription : + name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of + ETSI GS NFV-SOL 013. + + The NFV-MANO functional entity shall support receiving this parameter + as part of the URI query string. The API consumer may supply this + parameter. + + All attribute names that appear in the PmSubscription and in data + types referenced from it shall be supported by the NFV-MANO functional + entity in the expression. + in: query + required: false + schema: + type: string + + all_fields: + name: all_fields + description: > + Include all complex attributes in the response. See clause + 5.3 of ETSI GS NFV-SOL 013. The NFV-MANO functional entity + shall support this parameter. + in: query + required: false + schema: + type: string + + fields: + name: fields + description: > + Complex attributes to be included into the response. See clause + 5.3 of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional + entity should support this parameter. + in: query + required: false + schema: + type: string + + exclude_fields: + name: exclude_fields + description: > + Complex attributes to be excluded from the response. See clause + 5.3 of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional + entity should support this parameter. + in: query + required: false + schema: + type: string + + exclude_default.PmJob : + name: exclude_default + description: > + Indicates to exclude the following complex attributes from the + response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. + The NFV-MANO functional entity shall support this parameter. + + The following attributes shall be excluded from the PmJob + structure in the response body if this parameter is provided, or none of + the parameters "all_fields," "fields", "exclude_fields", "exclude_default" + are provided: + - none + in: query + required: false + schema: + type: string + + nextpage_opaque_marker: + name: nextpage_opaque_marker + description: > + Marker to obtain the next page of a paged response. Shall be supported by + the NFV-MANO functional entity if the entity supports alternative 2 (paging) + according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource. + in: query + required: false + schema: + type: string + + requestBodies: + CreatePMJobRequest: + description: > + PM job creation request. + content: + application/json: + schema: + $ref: "#/components/schemas/CreatePmJobRequest" + required: true + + CreateThesholdRequest: + description: > + Request parameters to create a threshold. + content: + application/json: + schema: + $ref: "#/components/schemas/CreateThresholdRequest" + required: true + + CreateSubscriptionRequest: + description: > + Details of the subscription to be created. + content: + application/json: + schema: + $ref: "#/components/schemas/PmSubscriptionRequest" + required: true \ No newline at end of file -- GitLab From 9127953f0d7377cb6de184df1549471121366760 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 12 Nov 2019 11:08:45 +0100 Subject: [PATCH 19/55] NFVMANO CIM Mgmt Interface (first push) --- ...ConfigurationAndInformationManagement.yaml | 2635 +++++++++++++++++ 1 file changed, 2635 insertions(+) create mode 100644 src/SOL009/NFVManoConfigurationAndInformationManagement/NFVManoConfigurationAndInformationManagement.yaml diff --git a/src/SOL009/NFVManoConfigurationAndInformationManagement/NFVManoConfigurationAndInformationManagement.yaml b/src/SOL009/NFVManoConfigurationAndInformationManagement/NFVManoConfigurationAndInformationManagement.yaml new file mode 100644 index 0000000..6a2786f --- /dev/null +++ b/src/SOL009/NFVManoConfigurationAndInformationManagement/NFVManoConfigurationAndInformationManagement.yaml @@ -0,0 +1,2635 @@ +openapi: 3.0.2 +info: + version: 1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + title: SOL009 - NFV-MANO Configuration and Information Management Interface + description: > + SOL009 - NFV-MANO Configuration and Information Management Interface + + IMPORTANT: Please note that this file might be not aligned to the current + version of the ETSI Group Specification it refers to and has not been + approved by the ETSI NFV ISG. In case of discrepancies the published ETSI + Group Specification takes precedence. + Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + license: + name: ETSI Forge copyright notice + url: https://forge.etsi.org/etsi-forge-copyright-notice.txt + contact: + name: NFV-SOL WG +externalDocs: + description: ETSI GS NFV-SOL 009 V0.8.0 + url: https://docbox.etsi.org/ISG/NFV/Open/Drafts/SOL009ed331_MANO_mgmt_stage_3/NFV-SOL009ed331v080.zip + +servers: + - url: http://0.0.0.0/nfvmanocim/v1 + description: > + API HTTP Server + - url: https://0.0.0.0/nfvmanocim/v1 + description: > + API HTTPS Server + +paths: + + /mano_entity: + get: + description: > + Retrives information about an NFV-MANO functional entity + by reading the NFV-MANO entity resource. + This method shall follow the provisions specified in the + tables 5.5.3.3.2-1 and 5.5.3.3.2-2 for URI query parameters, + request and response data structures, and response codes. + parameters: + - $ref: "#/components/parameters/Version" + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Authorization" + responses: + "200": + $ref: "#/components/responses/mano_entity.get.200" + "400": + $ref: ../responses/SOL009_resp.yaml#/responses/400 + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "422": + $ref: ../responses/SOL009_resp.yaml#/responses/422 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + patch: + description: > + Modifies the NFV-MANO entity resource. + Changes to the various configuration and information + attributes are applied to the NFV-MANO functional entity, + and are reflected in the representation of this resource. + This method shall follow the provisions specified in the + tables 5.5.3.3.4-1 and 5.5.3.3.4-2 for URI query parameters, + request and response data structures, and response codes. + parameters: + - $ref: "#/components/parameters/Version" + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Authorization" + requestBody: + $ref: "#/components/requestBodies/ModifyManoEntityRequest" + responses: + "200": + $ref: "#/components/responses/mano_entity.patch.200" + "409": + $ref: "#/components/responses/mano_entity.patch.409" + "412": + $ref: "#/components/responses/mano_entity.patch.412" + "400": + $ref: ../responses/SOL009_resp.yaml#/responses/400 + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "422": + $ref: ../responses/SOL009_resp.yaml#/responses/422 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + + /mano_entity/change_state: + post: + description: > + Requests to change the state of the NFV-MANO functional + entity application. + + This method shall follow the provisions specified in the tables + 5.5.7.3.1-1 and 5.5.7.3.1-2 for URI query parameters, request and + response data structures, and response codes. + parameters: + - $ref: "#/components/parameters/Version" + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Authorization" + requestBody: + $ref: "#/components/requestBodies/ChangeManoEntityStateRequest" + responses: + "202": + $ref: "#/components/responses/mano_entity-change_state.post.202" + "409": + $ref: "#/components/responses/mano_entity-change_state.post.409" + "400": + $ref: ../responses/SOL009_resp.yaml#/responses/400 + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "422": + $ref: ../responses/SOL009_resp.yaml#/responses/422 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + + /mano_entity/mano_interfaces: + get: + description: > + Queries information about multiple NFV-MANO service interfaces of + the NFV-MANO functional entity. + This method shall follow the provisions specified in the tables + 5.5.10.3.2-1 and 5.5.10.3.2-2 for URI query parameters, request + and response data structures, and response codes. + parameters: + - $ref: "#/components/parameters/filter.ManoServiceInterface" + - $ref: "#/components/parameters/all_fields" + - $ref: "#/components/parameters/fields" + - $ref: "#/components/parameters/exclude_fields" + - $ref: "#/components/parameters/exclude_default.ManoServiceInterface" + - $ref: "#/components/parameters/nextpage_opaque_marker" + - $ref: "#/components/parameters/Version" + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Authorization" + responses: + "200": + $ref: "#/components/responses/mano_entity-mano_interfaces.get.200" + "400": + $ref: "#/components/responses/mano_entity-mano_interfaces.get.400" + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "422": + $ref: ../responses/SOL009_resp.yaml#/responses/422 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + /mano_entity/mano_interfaces/{manoServiceInterfaceId}: + get: + description: > + retrieves information about an NFV-MANO service interface of the + producer NFV-MANO functional entity by reading an "Individual + NFV-MANO service interface" resource. + + This method shall follow the provisions specified in the tables + 5.5.11.3.2-1 and 5.5.11.3.2-2 for URI query parameters, request + and response data structures, and response codes. + parameters: + - $ref: "#/components/parameters/Version" + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Authorization" + responses: + "200": + $ref: "#/components/responses/mano_entity-mano_interface.get.200" + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "422": + $ref: ../responses/SOL009_resp.yaml#/responses/422 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + patch: + description: > + Modifies an "Individual NFV-MANO service interface" resource. + + Changes to the configurable parameters of the corresponding + NFV-MANO service interface are applied to the information managed + by the producer NFV-MANO functional entity and reflected in the + representation of this resource. + + This method shall follow the provisions specified in the tables + 5.5.11.3.4-1 and 5.5.11.3.4-2 for URI query parameters, request + and response data structures, and response codes. + parameters: + - $ref: "#/components/parameters/Version" + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Authorization" + requestBody: + $ref: "#/components/requestBodies/ModifyManoEnityInterfaceRequest" + responses: + "200": + $ref: "#/components/responses/mano_entity-mano_interface.patch.200" + "409": + $ref: "#/components/responses/mano_entity-mano_interface.patch.409" + "412": + $ref: "#/components/responses/mano_entity-mano_interface.patch.412" + "400": + $ref: ../responses/SOL009_resp.yaml#/responses/400 + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "422": + $ref: ../responses/SOL009_resp.yaml#/responses/422 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + + /mano_entity/mano_interfaces/{manoServiceInterfaceId}/change_state: + post: + description: > + Requests to change the state of the NFV-MANO service interface + produced by the NFV-MANO functional entity. + + This method shall follow the provisions specified in the tables + 5.5.12.3.1-1 and 5.5.12.3.1-2 for URI query parameters, request + and response data structures, and response codes. + parameters: + - $ref: "#/components/parameters/Version" + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Authorization" + requestBody: + $ref: "#/components/requestBodies/ChangeManoEntityInterfaceStateRequest" + responses: + "202": + $ref: "#/components/responses/mano_entity-mano_interface-change_state.post.202" + "409": + $ref: "#/components/responses/mano_entity-mano_interface-change_state.post.409" + "400": + $ref: ../responses/SOL009_resp.yaml#/responses/400 + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "422": + $ref: ../responses/SOL009_resp.yaml#/responses/422 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + + /subscriptions: + post: + description: > + Creates a new subscription. + + This method shall follow the provisions specified in the tables + 5.5.4.3.1-1 and 5.5.4.3.1-2 for URI query parameters, request and + response data structures, and response codes. + parameters: + - $ref: "#/components/parameters/Version" + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Authorization" + requestBody: + $ref: "#/components/requestBodies/CreateSubscriptionRequest" + responses: + "201": + $ref: "#/components/responses/subscriptions.post.201" + "303": + $ref: "#/components/responses/subscriptions.post.303" + "400": + $ref: ../responses/SOL009_resp.yaml#/responses/400 + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "422": + $ref: ../responses/SOL009_resp.yaml#/responses/422 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + get: + description: > + queries the list of active subscriptions of the API consumer that + invokes the method. It can be used, e.g., for resynchronization + after error situations. + + This method shall follow the provisions specified in the tables + 5.5.4.3.2-1 and 5.5.4.3.2-2 for URI query parameters, request + and response data structures, and response codes. + parameters: + - $ref: "#/components/parameters/filter.CimSubscription" + - $ref: "#/components/parameters/nextpage_opaque_marker" + - $ref: "#/components/parameters/Version" + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Authorization" + responses: + "200": + $ref: "#/components/responses/subscriptions.get.200" + "400": + $ref: "#/components/responses/subscriptions.get.400" + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "422": + $ref: ../responses/SOL009_resp.yaml#/responses/422 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + + /subscriptions/{subscriptionId}: + get: + description: > + Retrieves information about a subscription by reading an "Individual + subscription" resource. + + This method shall follow the provisions specified in the tables + 5.5.5.3.2-1 and 5.5.5.3.2-2 for URI query parameters, request and + response data structures, and response codes. + parameters: + - $ref: "#/components/parameters/Version" + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Authorization" + responses: + "200": + $ref: "#/components/responses/subscription.get.200" + "400": + $ref: ../responses/SOL009_resp.yaml#/responses/400 + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "422": + $ref: ../responses/SOL009_resp.yaml#/responses/422 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + delete: + description: > + Terminates an individual subscription. + + This method shall follow the provisions specified in the tables + 5.5.5.3.5-1 and 5.5.5.3.5-2 for URI query parameters, request + and response data structures, and response codes. + parameters: + - $ref: "#/components/parameters/Version" + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Authorization" + responses: + "204": + $ref: "#/components/responses/subscription.delete.204" + "400": + $ref: ../responses/SOL009_resp.yaml#/responses/400 + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "422": + $ref: ../responses/SOL009_resp.yaml#/responses/422 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + + /change_state_ops: + get: + description: > + The API consumer can use the GET method to query status information + about multiple change state operation occurrences. + + This method shall follow the provisions specified in the tables + 5.5.8.3.2-1 and 5.5.8.3.2-2 for URI query parameters, request and + response data structures, and response codes. + parameters: + - $ref: "#/components/parameters/filter.ChangeStateOpOcc" + - $ref: "#/components/parameters/all_fields" + - $ref: "#/components/parameters/fields" + - $ref: "#/components/parameters/exclude_fields" + - $ref: "#/components/parameters/exclude_default.ChangeStateOpOcc" + - $ref: "#/components/parameters/nextpage_opaque_marker" + - $ref: "#/components/parameters/Version" + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Authorization" + responses: + "200": + $ref: "#/components/responses/change_state_ops.get.200" + "400": + $ref: "#/components/responses/change_state_ops.get.400" + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "422": + $ref: ../responses/SOL009_resp.yaml#/responses/422 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + + /change_state_ops/{changeStateOpOccId}: + get: + description: > + The API consumer can use the GET method to retrieve status + information about a change state operation occurrence by reading + an "Individual change state operation occurrence" resource. + + This method shall follow the provisions specified in the tables + 5.5.9.3.2-1 and 5.5.9.3.2-2 for URI query parameters, request + and response data structures, and response codes. + parameters: + - $ref: "#/components/parameters/Version" + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Authorization" + responses: + "200": + $ref: "#/components/responses/change_state_op.get.200" + "400": + $ref: ../responses/SOL009_resp.yaml#/responses/400 + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "422": + $ref: ../responses/SOL009_resp.yaml#/responses/422 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + + /peer_entities: + post: + description: > + Creates in the producer NFV-MANO functional entity a new peer + entity resource which contains configuration and information + with regards to the peer functional entity. + + This method shall follow the provisions specified in the tables + 5.5.13.3.1-1 and 5.5.13.3.1-2 for URI query parameters, request + and response data structures, and response codes. + parameters: + - $ref: "#/components/parameters/Version" + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Authorization" + requestBody: + $ref: "#/components/requestBodies/CreatePeerEntityRequest" + responses: + "201": + $ref: "#/components/responses/peer_entities.post.201" + "400": + $ref: ../responses/SOL009_resp.yaml#/responses/400 + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "422": + $ref: ../responses/SOL009_resp.yaml#/responses/422 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + get: + description: > + Queries information and configuration in the producer NFV-MANO + functional entity with regards to multiple peer entities. + + This method shall follow the provisions specified in the tables + 5.5.13.3.2-1 and 5.5.13.3.2-2 for URI query parameters, request + and response data structures, and response codes. + parameters: + - $ref: "#/components/parameters/filter.PeerEntity" + - $ref: "#/components/parameters/all_fields" + - $ref: "#/components/parameters/fields" + - $ref: "#/components/parameters/exclude_fields" + - $ref: "#/components/parameters/exclude_default.PeerEntity" + - $ref: "#/components/parameters/nextpage_opaque_marker" + - $ref: "#/components/parameters/Version" + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Authorization" + responses: + "200": + $ref: "#/components/responses/peer_entities.get.200" + "400": + $ref: "#/components/responses/peer_entities.get.400" + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "422": + $ref: ../responses/SOL009_resp.yaml#/responses/422 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + + /peer_entities/{peerEntityId}: + get: + description: > + Retrieves information and configuration hold in the producer NFV-MANO + functional entity with regards to a peer entity by reading an individual + peer entity resource. + + This method shall follow the provisions specified in the tables + 5.5.14.3.2-1 and 5.5.14.3.2-2 for URI query parameters, request + and response data structures, and response codes. + parameters: + - $ref: "#/components/parameters/Version" + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Authorization" + responses: + "200": + $ref: "#/components/responses/peer_entitie.get.200" + "400": + $ref: ../responses/SOL009_resp.yaml#/responses/400 + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "422": + $ref: ../responses/SOL009_resp.yaml#/responses/422 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + patch: + description: > + Modifies configuration and information of the producer NFV-MANO + functional entity with regards to a peer functional entity by + updating the corresponding "Individual peer entity" resource. + + Changes to the configurable parameters of the corresponding peer + entity are applied to the information managed by the producer + NFV-MANO functional entity and reflected in the representation + of this resource. + + This method shall follow the provisions specified in the tables + 5.5.14.3.4-1 and 5.5.14.3.4-2 for URI query parameters, request + and response data structures, and response codes. + parameters: + - $ref: "#/components/parameters/Version" + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Authorization" + requestBody: + $ref: "#/components/requestBodies/ModifyPeerEntityRequest" + responses: + "200": + $ref: "#/components/responses/peer_entitie.patch.200" + "409": + $ref: "#/components/responses/peer_entitie.patch.409" + "412": + $ref: "#/components/responses/peer_entitie.patch.412" + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "422": + $ref: ../responses/SOL009_resp.yaml#/responses/422 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + delete: + description: > + Ddeletes an individual peer entity resource. By deleting such + a resource in the producer NFV-MANO functional entity representing + a peer NFV-MANO entity, the configuration and information with + regards to such peer entity is deleted. Consequently, the peering + relationship between the producer NFV-MANO functional entity and + the peer entity is terminated, i.e., the producer NFV-MANO functional + entity does not have the necessary information to communicate/interact + with the peer entity. + + This method shall follow the provisions specified in the tables + 5.5.14.3.5-1 and 5.5.14.3.5-2 for URI query parameters, request + and response data structures, and response codes. + parameters: + - $ref: "#/components/parameters/Version" + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Authorization" + responses: + "204": + $ref: "#/components/responses/peer_entitie.delete.204" + "409": + $ref: "#/components/responses/peer_entitie.delete.409" + "412": + $ref: "#/components/responses/peer_entitie.delete.412" + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "422": + $ref: ../responses/SOL009_resp.yaml#/responses/422 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + +components: + schemas: + ManoEntity: + description: > + This type represents an NFV-MANO functional entity. + type: object + required: + - id + - type + - name + - description + - provider + - softwareVersion + - manoConfigurableParams + - manoApplicationState + - _links + properties: + id: + description: > + Identifier of the NFV-MANO functional entity. The identifier shall be set during + the initial deployment of the NFV-MANO functional entity and its value allocated + based on network operator policies. The value of this identifier shall be unique + at least in the scope of the NFV-MANO deployment. + $ref: "##Identifier" + type: + description: > + Type of NFV-MANO functional entity. + $ref: "#/components/schemas/ManoEntityEnumType" + name: + description: > + Human-readable name of the NFV-MANO functional entity. + + This attribute can be modified with the PATCH method. + type: string + description: + description: > + Human-readable description of the NFV-MANO functional entity. + + This attribute can be modified with the PATCH method. + type: string + provider: + description: > + Information about the provider of the NFV-MANO functional entity. + It typically includes the name of the provider. + type: string + softwareVersion: + description: > + The version of the software of the NFV-MANO functional entity. + $ref: "##Version" + manoEntityComponents: + description: > + The deployed NFV-MANO functional entity components which realize the + NFV-MANO functional entity. + + NOTE: It is optional for the API producer to support the "manoEntityComponents" + attribute. + type: array + items: + $ref: "#/components/schemas/ManoEntityComponent" + minminItems: 0 + manoServices: + description: > + Information about the NFV-MANO services provided by the NFV-MANO + functional entity. + type: array + items: + $ref: "#/components/schemas/ManoService" + minminItems: 1 + manoConfigurableParams: + description: > + Information and current values of the configurable parameters. + + This attribute can be modified with the PATCH method. + $ref: "#/components/schemas/ManoConfigurableParams" + manoApplicationState: + description: > + Information and current values of the NFV-MANO functional entity’s application state. + type: object + required: + - operationalState + - administrativeState + - usageState + properties: + operationalState: + description: > + The operational state of the NFV-MANO functional entity application. + $ref: "#/components/schemas/OperationalStateEnumType" + administrativeState: + description: > + The administrative state of the NFV-MANO functional entity application. + $ref: "#/components/schemas/AdministrativeStateEnumType" + usageState: + description: > + The usage state of the NFV-MANO functional entity application. + $ref: "#/components/schemas/UsageStateEnumType" + nfvoSpecificInfo: + description: > + The information specific to an NFVO entity. + + NOTE: It shall be present when "type" attribute is "NFVO", and it + shall be absent in any other case. + + NOTE: The information about the NFV-MANO services offered by a + specific type of NFV-MANO functional entity is specified by the + manoServices attribute. + $ref: "#/components/schemas/nfvoSpecificInfo" + vnfmSpecificInfo: + description: > + The information specific to a VNFM entity. + + NOTE: It shall be present when "type" attribute is "VNFM", and + it shall be absent in any other case. + NOTE: The information about the NFV-MANO services offered by a + specific type of NFV-MANO functional entity is specified by the + manoServices attribute. + $ref: "#/components/schemas/VnfmSpecificInfo" + vimSpecificInfo: + description: > + The information specific to an VIM entity. + + NOTE: It shall be present when "type" attribute is "VIM", and + it shall be absent in any other case. + NOTE: The information about the NFV-MANO services offered by a + specific type of NFV-MANO functional entity is specified by the + manoServices attribute. + $ref: "#/components/schemas/VimSpecificInfo" + _links: + description: > + Links to resources related to this resource. + type: object + required: + - self + - manoServiceInterfaces + - peerEntities + - changeState + - changeStateOpOccs + properties: + self: + description: URI of this resource. + $ref: "##Link" + manoServiceInterfaces: + description: Link to the "NFV-MANO service interfaces" resource. + $ref: "##Link" + peerEntities: + description: Link to "Peer entities" resource. + $ref: "##Link" + changeState: + description: Link to the "Change state" task resource. + $ref: "##Link" + changeStateOpOccs: + description: Link to the "Change state operation occurrences" resource. + $ref: "##Link" + + ManoConfigModificationRequest: + description: > + + type: + + + ManoConfigModifications: + description: > + + type: + + + CimSubscriptionRequest: + description: > + + type: + + + CimSubscription: + description: > + + type: + + + InformationChangedNotification: + description: > + + type: + + + ChangeStateRequest: + description: > + + type: + + + ChangeStateOpOcc: + description: > + + type: + + + ChangeStateNotification: + description: > + + type: + + + ManoServiceInterface: + description: > + + type: + + + ManoServiceInterfaceModificationRequest: + description: > + + type: + + + ManoServiceInterfaceModifications: + description: > + + type: + + + CreatePeerEntityRequest: + description: > + + type: + + + PeerEntity: + description: > + + type: + + + PeerEntityConfigModificationRequest: + description: > + + type: + + + PeerEntityConfigModifications: + description: > + + type: + + + #referenced + ManoEntityComponent: + description: > + + type: + + + ManoService: + description: > + + type: + + + NfvoSpecificInfo: + description: > + + type: + + + VnfmSpecificInfo: + description: > + + type: + + + VimSpecificInfo: + description: > + + type: + + + ManoEntityConfigurableParams: + description: > + + type: + + + ConsumedManoInterfaceInfo: + description: > + + type: + + + CimNotificationsFilter: + description: > + + type: + + + ClockSyncInfo: + description: > + + type: + + + ServerInterfaceSecurityInfo: + description: > + + type: + + + ClientInterfaceSecurityInfo: + description: > + This type represents security related information for accessing an NFV-MANO + service interface produced by an NFV-MANO functional entity. + type: object + required: + - authType + - oauthServerInfo + properties: + authType: + description: > + Type of API request authorization to be used by the API consumer accessing + the API. + + The support of authorization methods for the API consumer is specified in + clause 8.3.6 of ETSI GS NFV-SOL 013. + + Permitted values: + - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. + - OAUTH2: Using access token, as defined by the OAuth 2.0 specification + in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and configuration. + type: object + properties: + dynamicDiscovery: + description: > + Configuration data used when performing dynamic discovery of the authorization + server identifier. + + NOTE: Provided configuration of the OAuth 2.0 authorization server information + and configuration shall be supported, and dynamic configuration may be supported. + type: object + required: + - webFingerHost + properties: + webFingerHost: + description: > + Server where the WebFinger service is hosted. When used, the request to + the WebFinger resource shall conform as specified in clause 5.1.3 of + ETSI GS NFV-SEC 022. + type: string + format: uri + providedConfiguration: + description: > + Configuration data used to setup the authorization server identifier. + + NOTE: Provided configuration of the OAuth 2.0 authorization server information + and configuration shall be supported, and dynamic configuration may be supported. + type: object + required: + - authServerId + properties: + authServerId: + description: > + Authorization server identifier as defined in ETSI GS NFV-SEC 022. + type: string + format: uri + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as supported by the API consumer when + performing the SSL or TLS negotiation with the authorization server. Valid values + of cipher suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + tlsTunnelInfo: + description: > + Information and configuration related to the use of TLS tunnel. Shall be + present if authType contains "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: > + List of cipher suites that shall be declared as supported by the API + consumer when performing the SSL or TLS negotiation with the API producer. + Valid values of cipher suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + + #referenced simple data types + ManoServiceInterfaceTypeShortName: + description: > + For the RESTful NFV-MANO APIs, valid values are all values for "apiName" as defined + in ETSI GS NFV-SOL 002, ETSI GS NFV-SOL 003, and ETSI GS NFV-SOL 005. + + For the NFV-MANO service interfaces for which no API is specified by ETSI NFV, valid + values are defined in table 5.6.4.3-1. + + NOTE: The table is expected to be updated, by removing the corresponding listed entries, + once the interfaces are specified as a RESTful NFV-MANO API. + type: string + + OperationalStateEnumType: + description: > + The enumeration OperationalStateEnumType defines values representing the + operational state of an NFV-MANO functional application type of managed entity. + The OperationalStateEnumType shall comply with the provisions: + - STARTED The managed entity is operational. + - STOPPED The managed entity is not operational. + - STOPPING The managed entity is in the transition to stop. + - STARTING The managed entity is in the transition to start and become operational. + - RESTARTING The managed entity is in the transition to stop and start again. + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + - RESTARTING + + AdministrativeStateEnumType: + description: > + The enumeration AdministrativeStateEnumType defines values representing + the administrative state of a managed entity. + The AdministrativeStateEnumType shall comply with the provisions: + - LOCKED The managed entity is administratively prohibited to be used. + - UNLOCKED The managed entity is administratively allowed to be used. + - LOCKING The managed entity is in the transition to be locked. + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + + UsageStateEnumType: + description: > + The enumeration UsageStateEnumType defines values representing the usage + state of a managed entity. + The UsageStateEnumType shall comply with the provisions: + - IN_USE The managed entity is currently being used. + - NOT_IN_USE The managed entity is currently not being used. + type: string + enum: + - IN_USE + - NOT_IN_USE + + ChangeOperationalStateEnumType: + description: > + The enumeration ChangeOperationalStateEnumType defines permitted values + for the change state operation. + The ChangeOperationalStateEnumType shall comply with the provisions: + - START To start the managed entity. + - STOP To stop the managed entity. + - RESTART To stop and start again the managed entity. + type: string + enum: + - START + - STOP + - RESTART + + ChangeAdministrativeStateEnumType: + description: > + The enumeration ChangeAdministrativeStateEnumType defines permitted values + for the change of administrative state operation. + The ChangeAdministrativeStateEnumType shall comply with the provisions: + - LOCK To lock the managed entity. + - UNLOCK To unlock the managed entity. + type: string + enum: + - LOCK + - UNLOCK + + InterfaceOperationalStateEnumType: + description: > + The enumeration InterfaceOperationalStateEnumType defines values representing + the operational state of an NFV-MANO service interface type of managed entity. + The InterfaceOperationalStateEnumType shall comply with the provisions : + - STARTED The managed entity is operational. + - STOPPED The managed entity is not operational. + - STOPPING The managed entity is in the transition to stop. + - STARTING The managed entity is in the transition to start and become operational. + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + + StopEnumType: + description: > + The enumeration ChangeStateOpOccStateEnumType defines permitted values + for the change state operation. It shall comply with the provisions: + - GRACEFUL To stop the managed entity immediately after accepting the request. + - FORCEFUL To stop the managed entity attempting to gracefully discharge the entity from service. + type: string + enum: + - GRACEFUL + - FORCEFUL + + ChangeStateOpOccStateEnumType: + description: > + The enumeration ChangeStateOpOccStateEnumType defines permitted values + for the change state operation. It shall comply with the provisions : + - PROCESSING The change state operation is currently in execution. + - COMPLETED The change state operation has been completed successfully. + - FAILED The change state operation has failed. + type: string + enum: + - PROCESSING + - COMPLETED + - FAILED + + ManoEntityEnumType: + desciption: > + The enumeration ManoEntityEnumType defines the permitted values to + represent NFV-MANO functional entities. It shall comply with + the provisions : + - NFVO The NFV-MANO functional entity is an NFVO. + - VNFM The NFV-MANO functional entity is a VNFM. + - VIM The NFV-MANO functional entity is a VIM. + type: string + enum: + - NFVO + - VNFM + - VIM + + PeerEntityEnumType: + description: > + The enumeration PeerEntityEnumType defines the permitted values + to represent peer functional entities. it shall complains with + the provisions : + - NFVO The peer functional entity is an NFVO. + - VNFM The peer functional entity is a VNFM. + - VIM The peer functional entity is a VIM. + - WIM The peer functional entity is a WIM. + - EM The peer functional entity is an EM. + - OSS The peer functional entity is an OSS/BSS. + type: string + enum: + - NFVO + - VNFM + - VIM + - WIM + - EM + - OSS + + parameters: + Version: + name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + + Accept: + name: Accept + description: > + Content-Types that are acceptable for the response. Reference: IETF RFC 7231. + in: header + required: true + schema: + type: string + + Authorization: + name: Authorization + description: > + The authorization token for the request. Reference: IETF RFC 7235. + in: header + required: false + schema: + type: string + + filter.ManoServiceInterface: + name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of + ETSI GS NFV-SOL 013. + + The NFV-MANO functional entity shall support receiving this parameter + as part of the URI query string. The API consumer may supply this + parameter. + + All attribute names that appear in the ManoServiceInterface and in data + types referenced from it shall be supported by the NFV-MANO functional + entity in the expression. + in: query + required: false + schema: + type: string + filter.CimSubscription: + name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of + ETSI GS NFV-SOL 013. + + The NFV-MANO functional entity shall support receiving this parameter + as part of the URI query string. The API consumer may supply this + parameter. + + All attribute names that appear in the CimSubscription and in data + types referenced from it shall be supported by the NFV-MANO functional + entity in the expression. + in: query + required: false + schema: + type: string + filter.ChangeStateOpOcc: + name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of + ETSI GS NFV-SOL 013. + + The NFV-MANO functional entity shall support receiving this parameter + as part of the URI query string. The API consumer may supply this + parameter. + + All attribute names that appear in the ChangeStateOpOcc and in data + types referenced from it shall be supported by the NFV-MANO functional + entity in the expression. + in: query + required: false + schema: + type: string + filter.PeerEntity: + name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of + ETSI GS NFV-SOL 013. + + The NFV-MANO functional entity shall support receiving this parameter + as part of the URI query string. The API consumer may supply this + parameter. + + All attribute names that appear in the PeerEntity and in data + types referenced from it shall be supported by the NFV-MANO functional + entity in the expression. + in: query + required: false + schema: + type: string + + all_fields: + name: all_fields + description: > + Include all complex attributes in the response. See clause + 5.3 of ETSI GS NFV-SOL 013. The NFV-MANO functional entity + shall support this parameter. + in: query + required: false + schema: + type: string + + fields: + name: fields + description: > + Complex attributes to be included into the response. See clause + 5.3 of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional + entity should support this parameter. + in: query + required: false + schema: + type: string + + exclude_fields: + name: exclude_fields + description: > + Complex attributes to be excluded from the response. See clause + 5.3 of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional + entity should support this parameter. + in: query + required: false + schema: + type: string + + exclude_default.ManoServiceInterface: + name: exclude_default + description: > + Indicates to exclude the following complex attributes from the + response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. + The NFV-MANO functional entity shall support this parameter. + + The following attributes shall be excluded from the ManoServiceInterface + structure in the response body if this parameter is provided, or none of + the parameters "all_fields," "fields", "exclude_fields", "exclude_default" + are provided: + - none + in: query + required: false + schema: + type: string + exclude_default.CimSubscription: + name: exclude_default + description: > + Indicates to exclude the following complex attributes from the + response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. + The NFV-MANO functional entity shall support this parameter. + + The following attributes shall be excluded from the CimSubscription + structure in the response body if this parameter is provided, or none of + the parameters "all_fields," "fields", "exclude_fields", "exclude_default" + are provided: + - none + in: query + required: false + schema: + type: string + exclude_default.ChangeStateOpOcc: + name: exclude_default + description: > + Indicates to exclude the following complex attributes from the + response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. + The NFV-MANO functional entity shall support this parameter. + + The following attributes shall be excluded from the ChangeStateOpOcc + structure in the response body if this parameter is provided, or none of + the parameters "all_fields," "fields", "exclude_fields", "exclude_default" + are provided: + - none + in: query + required: false + schema: + type: string + exclude_default.PeerEntity: + name: exclude_default + description: > + Indicates to exclude the following complex attributes from the + response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. + The NFV-MANO functional entity shall support this parameter. + + The following attributes shall be excluded from the PeerEntity + structure in the response body if this parameter is provided, or none of + the parameters "all_fields," "fields", "exclude_fields", "exclude_default" + are provided: + - none + in: query + required: false + schema: + type: string + + nextpage_opaque_marker: + name: nextpage_opaque_marker + description: > + Marker to obtain the next page of a paged response. Shall be supported by + the NFV-MANO functional entity if the entity supports alternative 2 (paging) + according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource. + in: query + required: false + schema: + type: string + + requestBodies: + ModifyManoEntityRequest: + description: > + Parameters for the NFV-MANO configuration and information + modification, as defined in clause 5.6.2.3. + The Content-Type header shall be set to "application/merge-patch+json" + according to IETF RFC 7396. + content: + application/merge-patch+json: + schema: + $ref: "#/components/schemas/ManoConfigModificationRequest" + required: true + + ChangeManoEntityStateRequest: + description: > + Parameters for the change state operation, as defined in clause 5.6.2.8. + content: + application/json: + schema: + $ref: "#/components/schemas/ChangeStateRequest" + required: true + + ModifyManoEnityInterfaceRequest: + description: > + Parameters for the modification of configuration parameters of + the NFV-MANO service interface, as defined in clause 5.6.2.12. + + The Content-Type header shall be set to "application/merge-patch+json" + according to IETF RFC 7396. + content: + application/merge-patch+json: + schema: + $ref: "#/components/schemas/ManoServiceInterfaceModificationRequest" + required: true + + ChangeManoEntityInterfaceStateRequest: + description: > + Parameters for the change state operation, as defined in + clause 5.6.2.8. + content: + application/json: + schema: + $ref: "#/components/schemas/ChangeStateRequest" + required: true + + CreateSubscriptionRequest: + description: > + Details of the subscription to be created, as defined in + clause 5.6.2.5-1. + content: + application/json: + schema: + $ref: "#/components/schemas/CimSubscriptionRequest" + required: true + + CreatePeerEntityRequest: + description: > + The peer entity creation parameters, as defined in clause 5.6.2.14. + content: + application/json: + schema: + $ref: "#/components/schemas/CreatePeerEntityRequest" + required: true + + ModifyPeerEntityRequest: + description: > + Parameters for the modification of configuration parameters of + the peer functional entity, as defined in clause 5.6.2.16 + + The Content-Type header shall be set to "application/merge-patch+json" + according to IETF RFC 7396. + content: + application/merge-patch+json: + schema: + $ref: "#/components/schemas/PeerEntityConfigModificationRequest" + required: true + + responses: + mano_entity.get.200: + description: > + 200 OK + + Shall be returned when configuration and information about + the NFV-MANO functional entity has been read successfully. + The response body shall contain a representation of the NFV-MANO + functional entity, as defined in clause 5.6.2.2. + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + $ref: "#/components/schemas/ManoEntity" + + mano_entity.patch.200: + description: > + 200 OK + + Shall be returned when the modification of configuration on the + NFV-MANO functional entity has been accepted and completed. + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + $ref: "#/components/schemas/ManoConfigModifications" + mano_entity.patch.409: + description: > + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot + be executed currently, due to a conflict with the state of the + "NFV-MANO entity" resource. + + Typically, this is due to the fact that another configuration and + information modification is ongoing. + + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + $ref: "#/components/schemas/ProblemDetails" + mano_entity.patch.412: + description: > + 412 PRECONDITION FAILED + + Shall be returned upon the following error: A precondition given in + an HTTP request header is not fulfilled. + + Typically, this is due to an ETag mismatch, indicating that the resource + was modified by another entity. + + The response body should contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + $ref: "#/components/schemas/ProblemDetails" + + mano_entity-change_state.post.202: + description: > + 202 ACCEPTED + + Shall be returned when the request has been accepted for processing. + + The response body shall be empty. + + The HTTP response shall include a "Location" HTTP header that contains + the URI of the newly-created "Individual change state operation occurrence" + resource corresponding to the operation. + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + Location: + description: > + The resource URI of the created "Individual change state operation occurence" resource. + schema: + type: string + format: url + minimum: 1 + maximum: 1 + mano_entity-change_state.post.409: + description: > + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be + executed currently, due to a conflict with the state of the resource. + + Typically, this is due to the fact that the resource is in an incompatible + state, or that another change state operation is ongoing. + + The response body shall contain a ProblemDetails structure, in which the + "detail" attribute shall convey more information about the error. + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + $ref: "#/components/schemas/ProblemDetails" + + mano_entity-mano_interfaces.get.200: + description: > + 200 OK + + Shall be returned when information about zero or more NFV-MANO + service interfaces has been queried successfully. + + The response body shall contain in an array the representations + of zero or more NFV-MANO service interfaces, as defined in + clause 5.6.2.11. + + If the “filter" URI parameter or one of the "all_fields", "fields" + (if supported), "exclude_fields" (if supported) or "exclude_default" + URI parameters was supplied in the request, the data in the response + body shall have been transformed according to the rules specified in + clauses 5.2.2 and 5.3.2 of ETSI GS NFV-SOL 013, respectively. + + If the NFV-MANO functional entity supports alternative N°2 (paging) + according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, + inclusion of the Link HTTP header in this response shall follow the + provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. + headers: + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + Link: + description: > + Reference to other resources. Link HTTP header in this response + shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. + schema: + type: string + minimum: 0 + maximum: 1 + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/ManoServiceInterface" + mano_entity-mano_interfaces.get.400: + description: > + 400 BAD REQUEST + + Shall be returned upon the following errors: + - Invalid attribute-based filtering expression. + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + - Invalid attribute selector. + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + - Response too big. + If the NFV-MANO functional entity supports alternative N°1 (error) + according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, + this error response shall follow the provisions in clause 5.4.2.2 of + ETSI GS NFV-SOL 013. + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + $ref: "#/components/schemas/ProblemDetails" + + mano_entity-mano_interface.get.200: + description: > + 200 OK + + Shall be returned when information about an individual NFV-MANO + service interface has been read successfully. + + The response body shall contain a representation of the NFV-MANO + service interface, as defined in clause 5.6.2.11. + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + $ref: "#/components/schemas/ManoServiceInterface" + mano_entity-mano_interface.patch.200: + description: > + 200 OK + + Shall be returned when the request has been accepted and completed. + + The response body shall contain a representation of the attribute + modifications for the "Individual NFV-MANO service interface" resource, + as defined in clause 5.6.2.13. + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + $ref: "#/components/schemas/ManoServiceInterfaceModifications" + mano_entity-mano_interface.patch.409: + description: > + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot + be executed currently, due to a conflict with the state of the + "Individual NFV-MANO service interface" resource. + + Typically, this is due to the fact that another operation is + ongoing. + + The response body shall contain a ProblemDetails structure, + in which the "detail" attribute should convey more information + about the error. + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + $ref: "#/components/schemas/ProblemDetails" + mano_entity-mano_interface.patch.412: + description: > + 412 PRECONDITION FAILED + + Shall be returned upon the following error: A precondition given + in an HTTP request header is not fulfilled. + + Typically, this is due to an ETag mismatch, indicating that the + resource was modified by another entity. + + The response body should contain a ProblemDetails structure, + in which the "detail" attribute should convey more information + about the error. + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + $ref: "#/components/schemas/ProblemDetails" + + mano_entity-mano_interface-change_state.post.202: + description: > + 202 ACCEPTED + + Shall be returned when the request has been accepted for + processing. + + The response body shall be empty. + + The HTTP response shall include a “Location” HTTP header that + contains the URI of the newly-created "Individual change state + operation occurrence" resource corresponding to the operation. + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + Location: + description: > + The resource URI of the created "Individual change state + operation occurence" resource. + schema: + type: string + format: url + minimum: 1 + maximum: 1 + mano_entity-mano_interface-change_state.post.409: + description: > + 409 CONFLICT + + Shall be returned upon the following error: The operation cannot be + executed currently, due to a conflict with the state of the resource. + + Typically, this is due to the fact that the resource is in an incompatible + state, or that another change state operation is ongoing. + + The response body shall contain a ProblemDetails structure, in which the + "detail" attribute shall convey more information about the error. + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + $ref: "#/components/schemas/ProblemDetails" + + subscriptions.post.201: + description: > + 201 CREATED + + Shall be returned when the subscription has been created + successfully. + + The response body shall contain a representation of the + created "Individual subscription" resource. + + The HTTP response shall include a "Location" HTTP header + that points to the created "Individual subscription" resource. + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + Location: + description: > + The resource URI of the created "Individual subscription" resource. + schema: + type: string + format: url + minimum: 1 + maximum: 1 + content: + application/json: + schema: + $ref: "#/components/schemas/CimSubscription" + subscriptions.post.303: + description: > + 303 SEE OTHER + + SShall be returned when a subscription with the same + callbackURI and the same filter already exists and the + policy of NFV-MANO functional entity is to not create + redundant subscriptions. + + The HTTP response shall include a "Location" HTTP header + that contains the resource URI of the existing "Individual + subscription" resource. + + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + Location: + description: > + The resource URI of the created "Individual subscription" resource. + schema: + type: string + format: url + minimum: 1 + maximum: 1 + subscriptions.get.200: + description: > + 200 OK + + Shall be returned when the list of subscriptions has been queried + successfully. + + The response body shall contain in an array the representations of + all active subscriptions of the functional block that invokes the + method, i.e., zero or more representations of NFV-MANO configuration + and information management subscriptions as defined in clause 5.6.2.6. + + If the "filter" URI parameter was supplied in the request, the data in + the response body shall have been transformed according to the rules + specified in clause 5.2.2 of ETSI GS NFV-SOL 013. + + If the NFV-MANO functional entity supports alternative N°2 (paging) + according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, + inclusion of the Link HTTP header in this response shall follow the + provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. + headers: + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + Link: + description: > + Reference to other resources. Link HTTP header in this response + shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. + schema: + type: string + minimum: 0 + maximum: 1 + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/CimSubscription" + subscriptions.get.400: + description: > + 400 BAD REQUEST + + Shall be returned upon the following errors: + - Invalid attribute-based filtering expression. + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + - Response too big. + If the NFV-MANO functional entity supports alternative N°1 (error) + according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, + this error response shall follow the provisions in clause 5.4.2.2 of + ETSI GS NFV-SOL 013. + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + $ref: "#/components/schemas/ProblemDetails" + + subscription.get.200: + description: > + 200 OK + + Shall be returned when information about an individual subscription + has been read successfully. + + The response body shall contain a representation of the "Individual + subscription" resource. + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + $ref: "#/components/schemas/CimSubscription" + subscription.delete.204: + description: > + 204 NO CONTENT + + Shall be returned when the "Individual subscription" resource + has been deleted 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + + change_state_ops.get.200: + description: > + 200 OK + + Shall be returned when status information for zero or more + "change state operation occurrences" has been queried successfully. + + The response body shall contain in an array the status information + about zero or more "Individual change state operation occurrences", + as defined in clause 5.6.2.9. + + If the “filter" URI parameter or one of the "all_fields", "fields" + (if supported), "exclude_fields" (if supported) or "exclude_default" + URI parameters was supplied in the request, the data in the response + body shall have been transformed according to the rules specified in + clauses 5.2.2 and 5.3.2 of ETSI GS NFV-SOL 013, respectively. + + If the NFV-MANO functional entity supports alternative N°2 (paging) + according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, + inclusion of the Link HTTP header in this response shall follow the + provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. + headers: + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + Link: + description: > + Reference to other resources. Link HTTP header in this response + shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. + schema: + type: string + minimum: 0 + maximum: 1 + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/ChangeStateOpOcc" + change_state_ops.get.400: + description: > + 400 BAD REQUEST + + Shall be returned upon the following errors: + - Invalid attribute-based filtering expression. + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + - Invalid attribute selector. + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + - Response too big. + If the NFV-MANO functional entity supports alternative N°1 (error) + according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, + this error response shall follow the provisions in clause 5.4.2.2 of + ETSI GS NFV-SOL 013. + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + $ref: "#/components/schemas/ProblemDetails" + + change_state_op.get.200: + description: > + 200 OK + + Shall be returned when information about an "Individual change + state operation occurrence" resource has been read successfully. + + The response body shall contain status information about a change + state operation occurrence, as defined in clause 5.6.2.9. + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + $ref: "#/components/schemas/ChangeStateOpOcc" + + peer_entities.post.201: + description: > + 201 CREATED + + Shall be returned when a new "Individual peer entity" resource + has been created successfully. + + The response body shall contain a representation of the created + resource with regards to a peer entity, as defined in + clause 5.6.2.15. + + The HTTP response shall include a “Location” HTTP header that + points to the created "Individual peer entity" resource. + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + Location: + description: > + The resource URI of the created "Individual peer entity" resource. + schema: + type: string + format: url + minimum: 1 + maximum: 1 + content: + application/json: + schema: + $ref: "#/components/schemas/PeerEntity" + peer_entities.get.200: + description: > + 200 OK + + Shall be returned when information about zero or more peer + entities has been queried successfully. + + The response body shall contain in an array the resource + representations of zero or more peer entities, as defined + in clause 5.6.2.15. + + If the “filter" URI parameter or one of the "all_fields", "fields" + (if supported), "exclude_fields" (if supported) or "exclude_default" + URI parameters was supplied in the request, the data in the response + body shall have been transformed according to the rules specified in + clauses 5.2.2 and 5.3.2 of ETSI GS NFV-SOL 013, respectively. + + If the NFV-MANO functional entity supports alternative N°2 (paging) + according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, + inclusion of the Link HTTP header in this response shall follow the + provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. + headers: + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + Link: + description: > + Reference to other resources. Link HTTP header in this response + shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. + schema: + type: string + minimum: 0 + maximum: 1 + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/PeerEntity" + peer_entities.get.400: + description: > + 400 BAD REQUEST + + Shall be returned upon the following errors: + - Invalid attribute-based filtering expression. + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + - Invalid attribute selector. + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + - Response too big. + If the NFV-MANO functional entity supports alternative N°1 (error) + according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, + this error response shall follow the provisions in clause 5.4.2.2 of + ETSI GS NFV-SOL 013. + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + $ref: "#/components/schemas/ProblemDetails" + + peer_entitie.get.200: + description: > + 200 OK + + Shall be returned when information about an individual peer + functional entity has been read successfully. + + The response body shall contain a resource representation of + the peer functional entity, as defined in clause 5.6.2.15. + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + $ref: "#/components/schemas/PeerEntity" + peer_entitie.patch.200: + description: > + 200 OK + + Shall be returned when the request has been accepted and completed. + + The response body shall contain a representation of the attribute + modifications for the "Individual peer entity" resource, as defined + in clause 5.6.2.17. + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + $ref: "#/components/schemas/PeerEntityConfigModifications" + peer_entitie.patch.409: + description: > + 409 CONFLICT. + + Shall be returned upon the following error: The operation cannot be + executed currently, due to a conflict with the state of the + "Individual peer entity" resource. + + Typically, this is due to the fact that another operation is ongoing. + + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + $ref: "#/components/schemas/ProblemDetails" + peer_entitie.patch.412: + description: > + 412 PRECONDITION FAILED + + Shall be returned upon the following error: A precondition given in + an HTTP request header is not fulfilled. + + Typically, this is due to an ETag mismatch, indicating that the + resource was modified by another entity. + + The response body should contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + $ref: "#/components/schemas/ProblemDetails" + peer_entitie.delete.204: + description: > + 204 NO CONTENT + + Shall be returned when the "Individual peer entity" resource + has been deleted 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + peer_entitie.delete.409: + description: > + 409 CONFLICT. + + Shall be returned upon the following error: The operation cannot be + executed currently, due to a conflict with the state of the + "Individual peer entity" resource. + + Typically, this is due to the fact that another operation is ongoing. + + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + $ref: "#/components/schemas/ProblemDetails" + peer_entitie.delete.412: + description: > + 412 PRECONDITION FAILED + + Shall be returned upon the following error: A precondition given in + an HTTP request header is not fulfilled. + + Typically, this is due to an ETag mismatch, indicating that the + resource was modified by another entity. + + The response body should contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + $ref: "#/components/schemas/ProblemDetails" + + #callbacks: \ No newline at end of file -- GitLab From bf37c0690336d086fbf351474e5358f68a53ec53 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 12 Nov 2019 19:39:15 +0100 Subject: [PATCH 20/55] CIM & PM: added missing data types and fixes --- ...ConfigurationAndInformationManagement.yaml | 1529 ++++++++++++++++- .../NFVManoPerformanceManagement.yaml | 541 +++--- src/SOL009/components/SOL009_comps.yaml | 453 +++++ 3 files changed, 2215 insertions(+), 308 deletions(-) create mode 100644 src/SOL009/components/SOL009_comps.yaml diff --git a/src/SOL009/NFVManoConfigurationAndInformationManagement/NFVManoConfigurationAndInformationManagement.yaml b/src/SOL009/NFVManoConfigurationAndInformationManagement/NFVManoConfigurationAndInformationManagement.yaml index 6a2786f..86b481f 100644 --- a/src/SOL009/NFVManoConfigurationAndInformationManagement/NFVManoConfigurationAndInformationManagement.yaml +++ b/src/SOL009/NFVManoConfigurationAndInformationManagement/NFVManoConfigurationAndInformationManagement.yaml @@ -771,7 +771,7 @@ components: the initial deployment of the NFV-MANO functional entity and its value allocated based on network operator policies. The value of this identifier shall be unique at least in the scope of the NFV-MANO deployment. - $ref: "##Identifier" + $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" type: description: > Type of NFV-MANO functional entity. @@ -796,7 +796,7 @@ components: softwareVersion: description: > The version of the software of the NFV-MANO functional entity. - $ref: "##Version" + $ref: "../components/SOL009_comps.yaml#/components/schemas/Version" manoEntityComponents: description: > The deployed NFV-MANO functional entity components which realize the @@ -807,7 +807,7 @@ components: type: array items: $ref: "#/components/schemas/ManoEntityComponent" - minminItems: 0 + minItems: 0 manoServices: description: > Information about the NFV-MANO services provided by the NFV-MANO @@ -815,7 +815,7 @@ components: type: array items: $ref: "#/components/schemas/ManoService" - minminItems: 1 + minItems: 1 manoConfigurableParams: description: > Information and current values of the configurable parameters. @@ -853,7 +853,7 @@ components: NOTE: The information about the NFV-MANO services offered by a specific type of NFV-MANO functional entity is specified by the manoServices attribute. - $ref: "#/components/schemas/nfvoSpecificInfo" + $ref: "#/components/schemas/NfvoSpecificInfo" vnfmSpecificInfo: description: > The information specific to a VNFM entity. @@ -887,171 +887,1520 @@ components: properties: self: description: URI of this resource. - $ref: "##Link" + $ref: "../components/SOL009_comps.yaml#/components/schemas/Link" manoServiceInterfaces: description: Link to the "NFV-MANO service interfaces" resource. - $ref: "##Link" + $ref: "../components/SOL009_comps.yaml#/components/schemas/Link" peerEntities: description: Link to "Peer entities" resource. - $ref: "##Link" + $ref: "../components/SOL009_comps.yaml#/components/schemas/Link" changeState: description: Link to the "Change state" task resource. - $ref: "##Link" + $ref: "../components/SOL009_comps.yaml#/components/schemas/Link" changeStateOpOccs: description: Link to the "Change state operation occurrences" resource. - $ref: "##Link" + $ref: "../components/SOL009_comps.yaml#/components/schemas/Link" ManoConfigModificationRequest: description: > + This type represents attribute modifications for configuration parameters + of an NFV-MANO functional entity. + type: object + properties: + name: + description: > + New value of the "name" attribute in "ManoEntity". + type: string + description: + description: > + New value of the "description" attribute in "ManoEntity". + type: string + clockSyncs: + description: > + New content of certain entries in the "clockSyncs" attribute array in + the "ManoEntityConfigurableParams", as defined below this table. + type: array + items: + $ref: "#/components/schemas/ClockSyncInfo" + clockSyncsDeleteIds: + description: > + List of identifiers entries to be deleted from the "clockSyncs" + attribute array in the "ManoEntityConfigurableParams", as defined + below this table. + type: array + items: + $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + defaultLogCompileBySizeValue: + description: > + New value of the "defaultLogCompileBySizeValue" attribute in the + "ManoEntityConfigurableParams". + $ref: "../components/SOL009_comps.yaml#/components/schemas/UnsignedInt" + defaultLogCompileByTimerValue: + description: > + New value of the "defaultLogCompileByTimerValue" attribute in the + "ManoEntityConfigurableParams". + $ref: "../components/SOL009_comps.yaml#/components/schemas/UnsignedInt" + manoServiceModifications: + description: > + New content of certain entries in the "manoServices" attribute array + in the "ManoEntity", as defined below this table. + type: array + items: + type: object + properties: + id: + description: > + Identifier of the NFV-MANO service to modify. + $ref: "../components/SOL009_comps.yaml#/components/schemas/IdentifierInManoEntity" + name: + description: > + New value for the "name" attribute in the "ManoService". + + NOTE: At least one of these attributes shall be provided if requesting + a modification of the NFV-MANO service identified by "id". + type: string + description: + description: > + New value for the "description" attribute in the "ManoService". + + NOTE: At least one of these attributes shall be provided if requesting + a modification of the NFV-MANO service identified by "id". + type: string + required: + - id - type: - - ManoConfigModifications: description: > - - type: - + This type represents attribute modifications that were performed on the + "NFV-MANO entity" resource of the producer NFV-MANO functional entity. + The attributes that can be included consist of those requested to be + modified explicitly in the "ManoConfigModificationRequest" data structure. + type: object + properties: + name: + description: > + If present, this attribute signals modifications of the "name" + attribute in "ManoEntity", as defined in clause 5.6.2.3 + type: string + description: + description: > + If present, this attribute signals modifications of the "description" + attribute in "ManoEntity", as defined in clause 5.6.2.3. + type: string + clockSyncs: + description: > + If present, this attribute signals modifications of the "clockSyncs" + attribute in "ManoEntityConfigurableParams", as defined in + clause 5.6.2.3. + type: array + items: + $ref: "#/components/schemas/ClockSyncInfo" + clockSyncsDeleteIds: + description: > + If present, this attribute signals modifications of certain entries in + "clockSyncs" attribute in "ManoEntityConfigurableParams", as defined + in clause 5.6.2.3. + type: array + items: + $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + defaultLogCompileBySizeValue: + description: > + If present, this attribute signals modifications of the + "defaultLogCompileBySizeValue" attribute in the + "ManoEntityConfigurableParams". + $ref: "../components/SOL009_comps.yaml#/components/schemas/UnsignedInt" + defaultLogCompileByTimerValue: + description: > + If present, this attribute signals modifications of the + "defaultLogCompileByTimerValue" attribute in the + "ManoEntityConfigurableParams". + $ref: "../components/SOL009_comps.yaml#/components/schemas/UnsignedInt" + manoServiceModifications: + description: > + If present, this attribute signals modifications of the "manoServices" + attribute array in the "ManoEntity", as defined in clause 5.6.2.3. + type: array + items: + type: object + properties: + id: + description: > + Identifier of the NFV-MANO service that has been modified. + $ref: "../components/SOL009_comps.yaml#/components/schemas/IdentifierInManoEntity" + name: + description: > + If present, this attribute signals modification of the "name" + attribute in the "ManoService". + type: string + description: + description: > + If present, this attribute signals modification of the + "description" attribute in the "ManoService". + type: string + required: + - id CimSubscriptionRequest: description: > + This type represents a subscription request related to notifications + about NFV-MANO configuration and information management changes. + type: object + 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: "#/components/schemas/CimNotificationsFilter" + callbackUri: + description: > + The URI of the endpoint to send the notification to. + $ref: "../components/SOL009_comps.yaml#/components/schemas/Uri" + authentication: + description: > + Authentication parameters to configure the use of Authorization when + sending notifications corresponding to this subscription, as defined + in clause 8.3.4 of ETSI GS NFV-SOL 013. - type: - + This attribute shall only be present if the subscriber requires + authorization of notifications. + $ref: "../components/SOL009_comps.yaml#/components/schemas/SubscriptionAuthentication" + required: + - callbackUri CimSubscription: description: > - - type: - + This type represents a subscription related to notifications about + NFV-MANO configuration and information management changes + type: object + properties: + id: + description: > + Identifier that identifies the subscription + $ref: "../components/SOL009_comps.yaml#/components/schemas/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: "#/components/schemas/CimNotificationsFilter" + callbackUri: + description: > + The URI of the endpoint to send the notification to. + $ref: "../components/SOL009_comps.yaml#/components/schemas/Uri" + _links: + description: > + Links to resources related to this resource. + type: object + properties: + self: + description: > + URI of this resource. + $ref: "../components/SOL009_comps.yaml#/components/schemas/Link" + required: + - self + required: + - id + - callbackUri + - _links InformationChangedNotification: description: > - - type: - + This type represents a notification that is sent when data about + configuration and information of the NFV-MANO functional entity + have been changed. + type: object + 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: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + notificationType: + description: > + Discriminator for the different notification types. Shall be set to + "InformationChangedNotification" for this notification type. + type: string + subscriptionId: + description: > + Identifier of the subscription that this notification relates to. + $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + timeStamp: + description: > + Date and time of the generation of the notification. + $ref: "../components/SOL009_comps.yaml#/components/schemas/DateTime" + informationChangedTime: + description: > + Timestamp indicating when the information was changed. + $ref: "../components/SOL009_comps.yaml#/components/schemas/DateTime" + manoEntityId: + description: > + Identifier of the MANO entity of which the information was changed. + $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + changedInfo: + description: > + Data about the changed configuration and information of the NFV-MANO + functional entity. + $ref: "../components/SOL009_comps.yaml#/components/schemas/KeyValuePairs" + _links: + description: > + Links to resources related to this notification. + type: object + properties: + self: + description: > + Link to the related subscription. + $ref: "../components/SOL009_comps.yaml#/components/schemas/NotificationLink" + subscription: + description: > + Link to the related subscription. + $ref: "../components/SOL009_comps.yaml#/components/schemas/NotificationLink" + required: + - self + required: + - id + - notificationType + - subscriptionId + - timeStamp + - informationChangedTime + - manoEntityId + - changedInfo + - _links ChangeStateRequest: description: > - - type: - + This type represents request parameters for changing the state of a managed entity. + type: object + properties: + operationalStateChange: + description: > + A change of operational state. Shall be present if the state change request + refers to the operational state. + NOTE: In the present document version, a request shall only include an + operational state change (attribute "operationalStateChange") or an + administrative state change request (attribute "administrativeStateChange"), + but not both. + type: object + properties: + operationalStateAction: + description: > + The desired operation state to change the managed object to. In case of + changing the state of an NFV-MANO service interface the value + "RESTART" shall not be used. + $ref: "#/components/schemas/ChangeOperationalStateEnumType" + stopType: + description: > + It signals the type of stop. + + NOTE: The "stopType" shall only be provided when the "operationalStateAction" + attribute is equal to "STOP" or "RESTART". The "gracefulStopTimeout" shall + be absent when the "stopType" attribute is equal to "FORCEFUL", and may + be provided otherwise. + $ref: "#/components/schemas/StopEnumType" + gracefulStopTimeout: + description: > + The time internal (in seconds) to wait for the entity to be taken out + of service during graceful stop. + + NOTE: The "stopType" shall only be provided when the "operationalStateAction" + attribute is equal to "STOP" or "RESTART". The "gracefulStopTimeout" shall + be absent when the "stopType" attribute is equal to "FORCEFUL", and may + be provided otherwise. + type: integer + required: + - operationalStateAction + administrativeStateChange: + description: > + A change of administrative state. Shall be present if the state change request + refers to the administrative state. + + NOTE: In the present document version, a request shall only include an + operational state change (attribute "operationalStateChange") or an + administrative state change request (attribute "administrativeStateChange"), + but not both. + type: object + properties: + administrativeStateAction: + description: > + The desired administrative state to change the managed object to. + $ref: "#/components/schemas/ChangeAdministrativeStateEnumType" + required: + - administrativeStateAction ChangeStateOpOcc: description: > - - type: - + This type represents a Change state operation occurrence. + type: object + properties: + id: + description: > + Identifier of this change state operation occurrence. + $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + operationState: + description: > + The state of the "change state operation occurrence". + $ref: "#/components/schemas/ChangeStateOpOccStateEnumType" + stateEnteredTime: + description: > + Date-time when the current state was entered. + $ref: "../components/SOL009_comps.yaml#/components/schemas/DateTime" + startTime: + description: > + Date-time of the start of the operation. + $ref: "../components/SOL009_comps.yaml#/components/schemas/DateTime" + managedObjectRef: + description: > + Reference of the managed object to which the change state operation + occurrence relates. The value of the "type" attribute shall be + "MANO_ENTITY" or "MANO_SERVICE_IF". + $ref: "../components/SOL009_comps.yaml#/components/schemas/ManoManagedObjectReference" + changeOperationalStateRequest: + description: > + The type of the change of operational state that was requested. Shall + be present if the change of state operation triggered a change of + operational state. + $ref: "#/components/schemas/ChangeOperationalStateEnumType" + changeAdministrativeStateRequest: + description: > + The type of the change of administrative state that was requested. Shall + be present if the change of state operation triggered a change of + administrative state. + $ref: "#/components/schemas/ChangeAdministrativeStateEnumType" + operationParams: + description: > + Input parameters of the change state operation. This attribute shall be + formatted according to the request data type of the related change state + operation. + + The following mapping between operationType and the data type of this + attribute shall apply: + - CHANGE_STATE: ChangeStateRequest + + This attribute shall be present if this data type is returned in a response + to reading an individual resource, and may be present according to the chosen + attribute selector parameter if this data type is returned in a response to + a query of a container resource. + required: + - id + - operationState + - stateEnteredTime + - startTime + - managedObjectRef ChangeStateNotification: description: > + This type represents a Change state operation occurrence. + type: object + 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: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + notificationType: + description: > + Discriminator for the different notification types. Shall be set to + "ChangeStateNotification" for this notification type. + type: string + subscriptionId: + description: > + Identifier of the subscription that this notification relates to. + $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + timestamp: + description: > + Date-time of the generation of the notification. + $ref: "../components/SOL009_comps.yaml#/components/schemas/DateTime" + changeStateOpOccId: + description: > + Identifier of the change state operation occurrence associated to the + notification. + $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + stateChangedTime: + description: > + Timestamp indicating when the state on the managed object was changed. + $ref: "../components/SOL009_comps.yaml#/components/schemas/DateTime" + changeStateOperationState: + description: > + The state of the "change state operation occurrence". + $ref: "#/components/schemas/ChangeStateOpOccStateEnumType" + managedObjectRef: + description: > + Reference of the managed object to which the state change notification relates. + The value of the "type" attribute shall be "MANO_ENTITY" or "MANO_SERVICE_IF". + $ref: "#../components/SOL009_comps.yaml#/components/schemas/ManoManagedObjectReference" + operationalState: + description: > + New operational state of the managed object. Shall only be present when + there is a change in the operational state. + $ref: "#/components/schemas/OperationalStateEnumType" + administrativeState: + description: > + New administrative state of the managed object. Shall only be present + when there is a change in the administrative state. + $ref: "#/components/schemas/AdministrativeStateEnumType" + _links: + description: > + Links to resources related to this notification. + type: object + properties: + subscription: + description: > + Link to the related subscription. + $ref: "../components/SOL009_comps.yaml#/components/schemas/NotificationLink" + objectInstance: + description: > + Link to the resource representing the object to which the change + state applies. Shall be present if the object instance is accessible + as a resource. + $ref: "../components/SOL009_comps.yaml#/components/schemas/NotificationLink" + changeStateOpOcc: + description: > + Link to the change state operation occurrence that this notification + is related to. + $ref: "../components/SOL009_comps.yaml#/components/schemas/NotificationLink" + required: + - subscription + - objectInstance + - changeStateOpOcc + required: + - id + - notificationType + - subscriptionId + - timestamp + - changeStateOpOccId + - stateChangedTime + - changeStateOperationState + - managedObjectRef + - _links - type: - ManoServiceInterface: description: > + This type represents an individual NFV-MANO service interface produced by + an NFV-MANO functional entity. + type: object + properties: + id: + description: > + Identifier of the NFV-MANO functional entity interface. + $ref: "../components/SOL009_comps.yaml#/components/schemas/IdentifierInManoEntity" + name: + description: > + Human-readable name of the NFV-MANO functional entity interface. + + This attribute can be modified with the PATCH method. + type: string + type: + description: > + Type of the NFV-MANO service interface produced by the NFV-MANO functional + entity. Valid values are defined in clause 5.6.4.3. + type: string + standardVersion: + description: > + Version of the standard the interface is compliant to. + + NOTE 1: The information to be provided in this attribute shall relate to + the specification and version of the specification. For instance, + "ETSI GS NFV-SOL 003 (V2.4.1)". + $ref: "../components/SOL009_comps.yaml#/components/schemas/Version" + providerSpecificApiVersion: + description: > + Provider-specific software API version. + $ref: "../components/SOL009_comps.yaml#/components/schemas/Version" + apiVersion: + description: > + API version, in compliance with the version identifiers and parameters + format specified in clause 9.1 of ETSI GS NFV-SOL 013. + $ref: "../components/SOL009_comps.yaml#/components/schemas/Version" + apiEndpoint: + description: > + Exposed API endpoint of the interface. + type: object + properties: + apiRoot: + description: > + Indicates the scheme ("http" or "https"), the host name and optional port, + and an optional sequence of path segments that together represent a prefix + path. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs + (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise. + + This attribute can be modified with the PATCH method. + $ref: "../components/SOL009_comps.yaml#/components/schemas/Uri" + apiName: + description: > + Indicates the interface name in an abbreviated form. Shall be present + for ETSI NFV specified RESTful NFV-MANO APIs. The {apiName} of each + interface is defined in the standard the interface is compliant to + (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise. + type: string + apiMajorVersion: + description: > + Indicates the current major version of the API. Shall be present for + ETSI NFV specified RESTful NFV-MANO APIs. The major version is defined + in the standard the interface is compliant to (see also clause 4.1 of + ETSI GS NFV-SOL 013). May be present otherwise. + type: string + apiUri: + description: > + URL of the API endpoint. For ETSI NFV specified RESTful NFV-MANO APIs, + the following prefix structure is used (see also clause 4.1 of ETSI + GS NFV-SOL 013): {apiRoot}/{apiName}/{apiMajorVersion} + For APIs not specified by ETSI NFV as part of the RESTful NFV-MANO APIs, + this attribute can be modified with the PATCH method. For RESTful NFV-MANO + APIs specified by ETSI NFV, this attribute shall not be modified. Instead, + changes are handled indirectly via patching of the "apiRoot" attribute’s + value. + $ref: "../components/SOL009_comps.yaml#/components/schemas/Uri" + required: + - apiUri + maxConcurrentIntOpNumber: + description: > + Maximum number of concurrent operation requests supported on this interface. + + NOTE: If this attribute is not present, the value of this parameter + is undefined. Overload is handled by the error handling schemes defined + by the applicable API specification. + type: integer + supportedOperations: + description: > + Information about supported operations of this interface. + type: array + items: + type: object + properties: + operationName: + description: > + Name of the operation supported on the interface. + type: string + maxConcurrentOpNumber: + description: > + Maximum number of concurrent requests supported by the interface operation. + + NOTE: If this attribute is not present, the value of this parameter + is undefined. Overload is handled by the error handling schemes defined + by the applicable API specification. + type: integer + required: + - operationName + minItems: 1 + interfaceState: + description: > + State of the NFV-MANO service interface. + properties: + operationalState: + description: > + The operational state of the NFV-MANO service interface. + $ref: "#/components/schemas/InterfaceOperationalStateEnumType" + administrativeState: + description: > + The administrative state of the NFV-MANO service interface. + $ref: "#/components/schemas/AdministrativeStateEnumType" + usageState: + description: > + The usage state of the NFV-MANO service interface. + $ref: "#/components/schemas/UsageStateEnumType" + required: + - operationalState + - administrativeState + - usageState + securityInfo: + description: > + Security related information. - type: - + This attribute can be modified with the PATCH method. + + NOTE: Due to the security sensitive information associated to the attribute, + based on access control policies, the API consumer might have read only, + write only, read/write, or no access at all to the attribute’s value. + In case the API consumer is not allowed to read the value of the security + sensitive attribute, the attribute shall be omitted when the information + is to be provided in a response message, and shall be provided otherwise. + In case the API consumer is not allowed to modify the value of the security + sensitive attribute, and the modification request includes new attribute + values, the whole modification request shall be rejected, and proper error + information returned. + $ref: "#/components/schemas/ServerInterfaceSecurityInfo" + metadata: + description: > + Additional attributes that provide metadata describing the NFV-MANO + service interface. + These attributes can be created, modified or removed with the PATCH + method. + $ref: "../components/SOL009_comps.yaml#/components/schemas/KeyValuePairs" + required: + - id + - name + - type + - standardVersion + - providerSpecificApiVersion + - apiVersion + - apiEndpoint + - supportedOperations + - interfaceState ManoServiceInterfaceModificationRequest: description: > - - type: - - + This type represents attribute modifications for configuration parameters of + an NFV-MANO service interface of the producer NFV-MANO functional entity. + type: object + properties: + name: + description: > + New value of the "name" attribute in "ManoServiceInterface". + + NOTE: Changing the name does not change the corresponding standardized + API name in the resource URI (refer to "{apiName}" defined in clause 4.1 + of ETSI GS NFV-SOL 013). + type: string + apiRoot: + description: > + New value of the "apiRoot" attribute in "ManoServiceInterface". + + NOTE: The change of apiRoot or apiUri on an enabled and in use API may + be service disruptive. Also, that change invalidates any related URI that + might have been cached at API consumers. + $ref: "../components/SOL009_comps.yaml#/components/schemas/Uri" + apiUri: + description: > + New value of the "apiUri" attribute in "ManoServiceInterface". + + NOTE: The change of apiRoot or apiUri on an enabled and in use API may + be service disruptive. Also, that change invalidates any related URI that + might have been cached at API consumers. + + Shall not be provided if a change of "apiRoot" is present in the request. + $ref: "../components/SOL009_comps.yaml#/components/schemas/Uri" + securityInfo: + description: > + New value of the "securityInfo" attribute in "ManoServiceInterface". + + NOTE: Due to the security sensitive information associated to the attribute, + based on access control policies, the API consumer might have read only, + write only, read/write, or no access at all to the attribute’s value. + In case the API consumer is not allowed to modify the value of the security + sensitive attribute, and the modification request includes new attribute + values, the whole modification request shall be rejected, and proper error + information returned. + $ref: "#/components/schemas/ServerInterfaceSecurityInfo" + metadata: + description: > + Modifications of the "metadata" attribute in "ManoServiceInterface". + If present, these modifications shall be applied according to the rules + of JSON Merge PATCH (see IETF RFC 7396). + $ref: "../components/SOL009_comps.yaml#/components/schemas/KeyValuePairs" + ManoServiceInterfaceModifications: description: > - - type: - + This type represents attribute modifications that were performed on an + Individual NFV-MANO service interface" resource. The attributes that can + be included consist of those requested to be modified explicitly in the + "ManoServiceInterfaceModificationRequest" data structure. If applicable, + additional attributes of the "ManoServiceInterface" data structure that + were modified implicitly shall also be provided. + type: object + properties: + name: + description: > + If present, this attribute signals modifications of the "name" attribute in + "ManoServiceInterface", as defined in clause 5.6.2.11. + type: string + apiRoot: + description: > + If present, this attribute signals modifications of the "apiRoot" attribute + in "ManoServiceInterface", as defined in clause 5.6.2.11. + $ref: "../components/SOL009_comps.yaml#/components/schemas/Uri" + apiUri: + description: > + If present, this attribute signals modifications of the "apiUri" attribute + in "ManoServiceInterface", as defined in clause 5.6.2.11. + $ref: "../components/SOL009_comps.yaml#/components/schemas/Uri" + securityInfo: + description: > + If present, this attribute signals modifications of the "securityInfo" + attribute in "ManoServiceInterface", as defined in clause 5.6.2.11. + + NOTE: Due to the security sensitive information associated to the attribute, + based on access control policies, the API consumer might have read only, + write only, read/write, or no access at all to the attribute’s value. + In case the API consumer is not allowed to read the value of the security + sensitive attribute, the attribute shall be omitted when the information + is to be provided in a response message. + $ref: "#/components/schemas/ServerInterfaceSecurityInfo" + metadata: + description: > + If present, this attribute signals modifications of the "metadata" attribute + in "ManoServiceInterface", as defined in clause 5.6.2.11. + $ref: "../components/SOL009_comps.yaml#/components/schemas/KeyValuePairs" CreatePeerEntityRequest: description: > - - type: - + This type represents request parameters for the creation of a new peer entity resource. + type: object + properties: + peerEntityId: + description: > + Identifier of the peer functional entity. + + NOTE: The value of the "peerEntityId" attribute is the same as the value of + the "id" attribute in the "ManoEntity" of the corresponding NFV-MANO functional + entity that acts as peer entity, and shall follow the uniqueness requirements + set out in clause 5.6.2.2 for the "id" attribute. + $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + name: + description: > + Human-readable name of the peer functional entity. + type: string + type: + description: > + Type of the peer functional entity. + $ref: "#/components/schemas/PeerEntityEnumType" + description: + description: > + Human-readable description of the peer functional entity. + type: string + consumedManoInterfaces: + description: > + Information of the interface consumed by the NFV-MANO functional entity + from the peer functional entity. + type: array + items: + $ref: "#/components/schemas/ConsumedManoInterfaceInfo" + peerEntityState: + description: > + Current values of the state of the peer functional entity. + type: object + properties: + operationalState: + description: > + TThe operation state of the peer functional entity’s application. + $ref: "#/components/schemas/OperationalStateEnumType" + administrativeState: + description: > + The administrative state of the peer functional entity’s application. + $ref: "#/components/schemas/AdministrativeStateEnumType" + required: + - operationalState + - administrativeState + required: + - peerEntityId + - name + - type PeerEntity: description: > + This type represents an individual peer entity. + type: object + properties: + id: + description: > + Identifier of the resource representing the peer functional entity. + This identifier is allocated by the producer NFV-MANO functional entity. + $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + peerEntityId: + description: > + Identifier of the peer functional entity. + + NOTE : The value of the "peerEntityId" attribute is the same as the value + of the "id" attribute in the "ManoEntity" of the corresponding NFV-MANO + functional entity that acts as peer entity, and shall follow the uniqueness + requirements set out in clause 5.6.2.2 for the "id" attribute. + $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + name: + description: > + Human-readable name of the peer functional entity. - type: - + This attribute can be modified with the PATCH method. + type: string + type: + description: > + Type of the peer functional entity. + $ref: "#/components/schemas/PeerEntityEnumType" + description: + description: > + Human-readable description of the peer functional entity. + + This attribute can be modified with the PATCH method. + type: string + consumedManoInterfaces: + description: > + Information of the interface consumed by the NFV-MANO functional entity + from the peer functional entity. + + This attribute can be modified with the PATCH method. + type: array + items: + $ref: "#/components/schemas/ConsumedManoInterfaceInfo" + peerEntityState: + description: > + State of the peer functional entity as provided by the API consumer when + creating the resource or when updating it with the PATCH method. + type: object + properties: + operationalState: + description: > + The operational state of the peer functional entity’s application. + $ref: "#/components/schemas/OperationalStateEnumType" + administrativeState: + description: + The administrative state of the peer functional entity’s application. + $ref: "#/components/schemas/AdministrativeStateEnumType" + required: + - operationalState + - administrativeState + required: + - id + - peerEntityId + - name + - type + - peerEntityState PeerEntityConfigModificationRequest: description: > - - type: - + This type represents attribute modifications for configuration parameters + of a peer entity. + type: object + properties: + name: + description: > + New value of the "name" attribute in "PeerEntity". + type: string + description: + description: > + New value of the "description" attribute in "PeerEntity", or "null" to + remove the attribute. + type: string + consumedManoInterfaces: + description: > + New content of certain entries in the "consumedManoInterfaces" attribute + array in the "PeerEntity", as defined below this table. + + NOTE: Due to the security sensitive information contained within the attribute + (refer to "securityInfo" within the "ConsumedManoInterfaceInfo"), based on + access control policies, the API consumer might have read only, write only, + read/write, or no access at all to the attribute’s value. In case the + API consumer is not allowed to modify the value of the security sensitive + attribute, and the modification request includes new attribute values, + the whole modification request shall be rejected, and proper error information + returned. + type: array + items: + $ref: "#/components/schemas/ConsumedManoInterfaceInfo" + consumedManoInterfaceDeleteIds: + description: > + List of identifiers entries to be deleted from the "consumedManoInterfaces" + attribute array in the " PeerEntity ", as defined below this table. + type: array + items: + $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + operationalState: + description: > + New content of the "operationalState" attribute in the "peerEntityState" + structure in the "PeerEntity". + $ref: "#/components/schemas/OperationalStateEnumType" + administrativeState: + description: > + New content of the "administrativeState" attribute in the "peerEntityState" + structure in the "PeerEntity". + $ref: "#/components/schemas/AdministrativeStateEnumType" PeerEntityConfigModifications: description: > + This type represents attribute modifications that were performed on an + "Individual peer entity" resource. The attributes that can be included + consist of those requested to be modified explicitly in the + "PeerEntityConfigModificationRequest" data structure. If applicable, + additional attributes of the "PeerEntity" data structure that were + modified implicitly shall also be provided. + type: object + properties: + name: + description: > + If present, this attribute signals modifications of the "name" attribute + in "PeerEntity", as defined in clause 5.6.2.15. + type: string + description: + description: > + If present, this attribute signals modifications of the "description" + attribute in "PeerEntity", as defined in clause 5.6.2.15. + type: string + consumedManoInterfaces: + description: > + If present, this attribute signals modifications of certain entries in + "consumedManoInterfaces" attribute in "PeerEntity", as defined in + clause 5.6.2.15. + + NOTE: Due to the security sensitive information contained within the + attribute (refer to "securityInfo" within the "ConsumedManoInterfaceInfo"), + based on access control policies, the API consumer might have read only, + write only, read/write, or no access at all to the attribute’s value. + In case the API consumer is not allowed to read the value of the security + sensitive attribute, the attribute shall be omitted when the information + is to be provided in a response message. + type: array + items: + $ref: "#/components/schemas/ConsumedManoInterfaceInfo" + consumedManoInterfaceDeleteIds: + description: > + If present, this attribute signals the deletions of certain entries in the + "consumedManoInterfaces" attribute in "PeerEntity", as defined in + clause 5.6.2.15. + type: array + items: + $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + operationalState: + description: > + If present, this attribute signals modifications of the "operationalState" + attribute in the "peerEntityState" structure in the "PeerEntity", as defined + in clause 5.6.2.15. + $ref: "#/components/schemas/OperationalStateEnumType" + administrativeState: + description: > + If present, this attribute signals modifications of the "administrativeState" + attribute in the "peerEntityState" structure in the "PeerEntity", as defined + in clause 5.6.2.15. + $ref: "#/components/schemas/AdministrativeStateEnumType" - type: - + ManoConfigurableParams: + description: > + # Warning: No definition found in the document + ManoConfigurableParams #referenced ManoEntityComponent: description: > - - type: - + This type represents information of a deployed component realizing part of an + NFV-MANO functional entity. It is optional for the API producer to support + this type. + type: object + properties: + id: + description: > + Identifier of the NFV-MANO functional entity component. + $ref: "../components/SOL009_comps.yaml#/components/schemas/IdentifierInManoEntity" + manoServiceIds: + description: > + References to the NFV-MANO services that depend on the NFV-MANO functional + entity component. The identifier of the ManoService is referred. A service + may depend on multiple components. Multiple services may depend on the same + component. + type: array + items: + $ref: "../components/SOL009_comps.yaml#/components/schemas/IdentifierInManoEntity" + required: + - id ManoService: description: > + This type represents information about an NFV-MANO service provided by the + NFV-MANO functional entity. + type: object + properties: + id: + description: > + Identifier of the NFV-MANO service. + $ref: "../components/SOL009_comps.yaml#/components/schemas/IdentifierInManoEntity" + name: + description: > + Human-readable name of the NFV-MANO service. - type: - + This attribute can be modified with the PATCH method. + type: string + description: + description: > + Human-readable description of the NFV-MANO service. + + This attribute can be modified with the PATCH method. + type: string + manoServiceInterfaceIds: + description: > + Reference to the NFV-MANO interfaces associated to the NFV-MANO service. + If cardinality is greater than one, the type of ManoServiceInterface + (see clause 5.6.3.3) shall be the same. The identifier of the + ManoServiceInterface is referred. + + NOTE: A cardinality greater than one supports having different interface + versions or apiEndpoints to be used for accessing the same instance of a + NFV-MANO service. + type: array + items: + $ref: "../components/SOL009_comps.yaml#/components/schemas/IdentifierInManoEntity" + minItems: 1 + _links: + description: > + Links to resources related to this resource. + type: object + properties: + manoServiceInterfaces: + description: > + Link to the "individual NFV-MANO service interface" resources with + information about the associated interfaces to the NFV-MANO service. + type: array + items: + $ref: "../components/SOL009_comps.yaml#/components/schemas/Link" + minItems: 1 + required: + - manoServiceInterfaces + required: + - id + - name + - description + - manoServiceInterfaceIds + - _links NfvoSpecificInfo: description: > + This type represents information attributes specific to an NFVO entity, + and that can be relevant to more than one NFV-MANO service offered by an + NFVO entity. + type: object + properties: + maxOnboardedNsdNum: + description: > + Maximum number of NSDs that can be on-boarded on the NFVO. + + NOTE: If this attribute is not present, the value of this parameter + is undefined. + type: integer + maxOnboardedVnfPkgNum: + description: > + Maximum number of VNF Packages that can be on-boarded on the NFVO. - type: + NOTE: If this attribute is not present, the value of this parameter + is undefined. + type: integer + supportedVnfdFormats: + description: > + Supported VNFD data formats. + type: object + properties: + vnfdFormat: + description: > + Name of the VNFD format. + + Permitted values: + - TOSCA: The VNFD follows TOSCA definition, according to ETSI + GS NFV-SOL 001 standard. + - YANG: The VNFD follows YANG definition according to ETSI + GS NFV-SOL 006 standard. + type: string + enum: + - TOSCA + - YANG + standardVersion: + description: > + Name and version of the standard the VNFD is compliant to. + + NOTE: The information to be provided in this attribute shall relate + to the specification and version of the specification. For instance, + "ETSI GS NFV-SOL 001 (V2.5.1)". + $ref: "../components/SOL009_comps.yaml#/components/schemas/Version" + required: + - vnfdFormat + - standardVersion + supportedNsdFormats: + description: > + Supported NSD data formats. + type: object + properties: + nsdFormat: + description: > + Name of the NSD format. + + Permitted values: + - TOSCA: The VNFD follows TOSCA definition, according to ETSI + GS NFV-SOL 001 standard. + - YANG: The VNFD follows YANG definition according to ETSI + GS NFV-SOL 006 standard. + type: string + enum: + - TOSCA + - YANG + standardVersion: + description: > + Name and version of the standard the NSD is compliant to. + + NOTE: The information to be provided in this attribute shall relate + to the specification and version of the specification. For instance, + "ETSI GS NFV-SOL 001 (V2.5.1)". + $ref: "../components/SOL009_comps.yaml#/components/schemas/Version" + required: + - nsdFormat + - standardVersion + required: + - supportedVnfdFormats + - supportedNsdFormats - VnfmSpecificInfo: description: > + This type represents information attributes specific to a VNFM entity, + and that can be relevant to more than one NFV-MANO service offered by + a VNFM entity. + type: object + properties: + resoruceMgmtModeSupport: + description: > + The supported resource management modes of the VNFM. - type: - + Permitted values: + - DIRECT: The VNFM supports direct mode only. + - INDIRECT: The VNFM supports indirect mode only. + - BOTH: The VNFM supports both direct and indirect mode. + type: string + enum: + - DIRECT + - INDIRECT + - BOTH + managedVnfInstanceInfos: + description: > + The kinds of VNF instances that can be managed, e.g. to determine the + compatibility of a VNF with certain VNFM according to the vnfmInfo + attribute in the VNFD (see table 7.1.2.2-1 in ETSI GS NFV-IFA 011). + type: array + items: + type: string + minItems: 1 + supportedVnfdFormats: + description: > + Supported VNFD data formats. + type: array + items: + type: object + properties: + vnfdFormat: + description: > + Name of the VNFD format. + + Permitted values: + - TOSCA: The VNFD follows TOSCA definition, according to ETSI + GS NFV-SOL 001 standard. + - YANG: The VNFD follows YANG definition according to ETSI + GS NFV-SOL 006 standard. + type: string + enum: + - TOSCA + - YANG + standardVersion: + description: > + Name and version of the standard the VNFD is compliant to. + + NOTE: The information to be provided in this attribute shall relate + to the specification and version of the specification. For instance, + "ETSI GS NFV-SOL 001 (V2.5.1)". + $ref: "../components/SOL009_comps.yaml#/components/schemas/Version" + required: + - vnfdFormat + - standardVersion + minItems: 1 + required: + - resoruceMgmtModeSupport + - managedVnfInstanceInfos + - supportedVnfdFormats VimSpecificInfo: description: > - - type: + This type represents information attributes specific to a VIM entity, + and that can be relevant to more than one NFV-MANO service offered by + a VIM entity. + type: object - ManoEntityConfigurableParams: description: > - - type: + This type represents list of parameters that can be configured on the + NFV MANO functional entity. + type: object + properties: + clockSyncs: + description: + Properties of the clock synchronization to be used by the NFV-MANO + functional entity. + type: array + items: + $ref: "#/components/schemas/ClockSyncInfo" + minItems: 1 + defaultLogCompileBySizeValue: + description: + Default value for the log compilation by size to be used. + $ref: "../components/SOL009_comps.yaml#/components/schemas/UnsignedInt" + defaultLogCompileByTimerValue: + description: + Default value for the log compilation by timer to be used. + $ref: "../components/SOL009_comps.yaml#/components/schemas/UnsignedInt" + required: + - clockSyncs + - defaultLogCompileBySizeValue + - defaultLogCompileByTimerValue - ConsumedManoInterfaceInfo: description: > - - type: + This type represents an interface consumed by the producer NFV MANO + functional entity from another peer functional entity. + type: object + properties: + id: + description: > + Identifier of the consumed NFV-MANO interface. This identifier is + managed by the API consumer. + $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + name: + description: > + Human-readable name of the NFV-MANO interface. + type: string + type: + description: > + Type of the NFV-MANO service interface consumed by the NFV-MANO + functional entity. Valid values are defined in clause 5.6.4.3. + type: string + standardVersion: + description: > + Version of the standard the interface is compliant to. + + NOTE: The information to be provided in this attribute shall relate + to the specification and its version. For instance, + "ETSI GS NFV-SOL 003 (V2.4.1)". + $ref: "../components/SOL009_comps.yaml#/components/schemas/Version" + apiVersion: + description: > + API version, in compliance with the version identifiers and parameters + format specified in clause 9.1 of ETSI GS NFV-SOL 013. + $ref: "../components/SOL009_comps.yaml#/components/schemas/Version" + apiEndpoint: + description: > + Consumable API endpoint of the interface. + It provides the information relevant about the protocol, host and port, + and path where the interface API can be accessed. + type: object + properties: + apiRoot: + description: > + Indicates the scheme ("http" or "https"), the host name and optional + port, and an optional sequence of path segments that together + represent a prefix path. Shall be present for ETSI NFV specified + RESTful NFV-MANO APIs (see also clause 4.1 of ETSI GS NFV-SOL 013). + May be present otherwise. + $ref: "../components/SOL009_comps.yaml#/components/schemas/Uri" + apiName: + description: > + Indicates the interface name in an abbreviated form. Shall be present + for ETSI NFV specified RESTful NFV-MANO APIs. The {apiName} of each + interface is defined in the standard the interface is compliant to + (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise. + type: string + apiMajorVersion: + description: > + Indicates the current major version of the API. Shall be present for + ETSI NFV specified RESTful NFV-MANO APIs. The major version is defined + in the standard the interface is compliant to (see also clause 4.1 + of ETSI GS NFV-SOL 013). May be present otherwise. + type: string + apiUri: + description: > + URL of the API endpoint. For ETSI NFV specified RESTful NFV-MANO APIs, + the following prefix structure is used (see also clause 4.1 of ETSI + GS NFV-SOL 013): {apiRoot}/{apiName}/{apiMajorVersion} + $ref: "../components/SOL009_comps.yaml#/components/schemas/Uri" + required: + - apiUri + securityInfo: + description: > + Security related information including credentials information if needed + for consuming the API. + + NOTE: Due to the security sensitive information associated to the attribute, + based on access control policies, the API consumer might have read only, + write only, read/write, or no access at all to the attribute’s value. + In case the API consumer is not allowed to read the value of the security + sensitive attribute, the attribute shall be omitted when the information + is to be provided in a response message, and shall be provided otherwise. + In case the API consumer is not allowed to modify the value of the security + sensitive attribute, and the modification request includes new attribute values, + the whole modification request shall be rejected, and proper error information + returned. + $ref: "#/components/schemas/ClientInterfaceSecurityInfo" + required: + - id + - name + - type + - standardVersion + - apiVersion + - apiEndpoint - CimNotificationsFilter: description: > + This type represents a subscription filter related to notifications + about NFV-MANO configuration and information management. + type: object + properties: + manoEntitySubscriptionFilter: + description: > + Filter criteria to select the NFV-MANO functional entity and its + associated managed objects. + $ref: "../components/SOL009_comps.yaml#/components/schemas/ManoEntitySubscriptionFilter" + notificationTypes: + description: > + Match particular notification types. - type: - + Permitted values: + - InformationChangedNotification + - ChangeStateNotification + + NOTE: 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: + - InformationChangedNotification + - ChangeStateNotification ClockSyncInfo: description: > + This type represents parameters for connecting to an NTP server. + type: object + properties: + id: + description: > + The identifier of the clock synchronization information entry. + This identifier is managed by the API consumer. + $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + type: + description: > + Type of clock synchronization. - type: + Permitted values: + - NTP: For Network Time Protocol (NTP) based clock synchronization. + - OTHER: For other types of clock synchronization. + type: string + enum: + - NTP + - OTHER + ntpServerInfo: + description: > + Information for the NTP based clock synchronization. + Shall be present if type = "NTP". + type: object + properties: + ipAddress: + description: > + 0..1 IP address of the NTP server. + + NOTE: Either ipAddress or hostname shall be set, but not both + at the same time. + $ref: "../components/SOL009_comps.yaml#/components/schemas/IpAddress" + hostname: + description: > + Indicates the hostname of the NTP server. + + NOTE: Either ipAddress or hostname shall be set, but not both + at the same time. + type: string + otherClockSyncParams: + description: > + Information for the other types of clock synchronization. + May be present if type = "OTHER". + $ref: "../components/SOL009_comps.yaml#/components/schemas/KeyValuePairs" + required: + - id + - type - ServerInterfaceSecurityInfo: description: > + This type represents security related information of an NFV-MANO + service interface produced by an NFV-MANO functional entity. + type: object + properties: + authType: + description: > + Type of API request authorization to be used by the API producer. - type: - + The support of authorization methods for the API producer is specified + in clause 8.3.6 of ETSI GS NFV-SOL 013. + Permitted values: + - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. + - OAUTH2: Using access token, as defined by the OAuth 2.0 specification + in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and configuration. + type: object + properties: + dynamicDiscovery: + description: > + Configuration data used when performing dynamic discovery of + the authorization server identifier. + + NOTE: Provided configuration of the OAuth 2.0 authorization + server information and configuration shall be supported, and + dynamic configuration may be supported. + type: object + properties: + webFingerHost: + description: > + Server where the WebFinger service is hosted. When used, + the request to the WebFinger resource shall conform as specified + in clause 5.1.3 of ETSI GS NFV-SEC 022. + $ref: "../components/SOL009_comps.yaml#/components/schemas/Uri" + required: + - webFingerHost + providedConfiguration: + description: > + Configuration data used to setup the authorization server identifier. + + NOTE: Provided configuration of the OAuth 2.0 authorization + server information and configuration shall be supported, and + dynamic configuration may be supported. + type: object + properties: + authServerId: + description: > + Authorization server identifier as defined in ETSI GS NFV-SEC 022. + $ref: "../components/SOL009_comps.yaml#/components/schemas/Uri" + required: + - authServerId + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as supported by the + API producer when performing the SSL or TLS negotiation with the + authorization server. Valid values of cipher suites are defined + in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - providedConfiguration + - tlsCipherSuites + tlsTunnelInfo: + description: > + Information and configuration related to the use of TLS tunnel. + Shall be present if authType contains "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: + List of cipher suites that shall be declared as supported by the API + producer when performing the SSL or TLS negotiation with the API client. + Valid values of cipher suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - tlsTunnelCipherSuites + required: + - authType + - oauthServerInfo + ClientInterfaceSecurityInfo: description: > This type represents security related information for accessing an NFV-MANO @@ -1267,7 +2616,7 @@ components: - FAILED ManoEntityEnumType: - desciption: > + description: > The enumeration ManoEntityEnumType defines the permitted values to represent NFV-MANO functional entities. It shall comply with the provisions : @@ -1662,7 +3011,7 @@ components: content: application/json: schema: - $ref: "#/components/schemas/ProblemDetails" + $ref: "../components/SOL009_comps.yaml#/components/schemas/ProblemDetails" mano_entity.patch.412: description: > 412 PRECONDITION FAILED @@ -1691,7 +3040,7 @@ components: content: application/json: schema: - $ref: "#/components/schemas/ProblemDetails" + $ref: "../components/SOL009_comps.yaml#/components/schemas/ProblemDetails" mano_entity-change_state.post.202: description: > @@ -1753,7 +3102,7 @@ components: content: application/json: schema: - $ref: "#/components/schemas/ProblemDetails" + $ref: "../components/SOL009_comps.yaml#/components/schemas/ProblemDetails" mano_entity-mano_interfaces.get.200: description: > @@ -1835,7 +3184,7 @@ components: content: application/json: schema: - $ref: "#/components/schemas/ProblemDetails" + $ref: "../components/SOL009_comps.yaml#/components/schemas/ProblemDetails" mano_entity-mano_interface.get.200: description: > @@ -1919,7 +3268,7 @@ components: content: application/json: schema: - $ref: "#/components/schemas/ProblemDetails" + $ref: "../components/SOL009_comps.yaml#/components/schemas/ProblemDetails" mano_entity-mano_interface.patch.412: description: > 412 PRECONDITION FAILED @@ -1949,7 +3298,7 @@ components: content: application/json: schema: - $ref: "#/components/schemas/ProblemDetails" + $ref: "../components/SOL009_comps.yaml#/components/schemas/ProblemDetails" mano_entity-mano_interface-change_state.post.202: description: > @@ -2013,7 +3362,7 @@ components: content: application/json: schema: - $ref: "#/components/schemas/ProblemDetails" + $ref: "../components/SOL009_comps.yaml#/components/schemas/ProblemDetails" subscriptions.post.201: description: > @@ -2163,7 +3512,7 @@ components: content: application/json: schema: - $ref: "#/components/schemas/ProblemDetails" + $ref: "../components/SOL009_comps.yaml#/components/schemas/ProblemDetails" subscription.get.200: description: > @@ -2293,7 +3642,7 @@ components: content: application/json: schema: - $ref: "#/components/schemas/ProblemDetails" + $ref: "../components/SOL009_comps.yaml#/components/schemas/ProblemDetails" change_state_op.get.200: description: > @@ -2440,7 +3789,7 @@ components: content: application/json: schema: - $ref: "#/components/schemas/ProblemDetails" + $ref: "../components/SOL009_comps.yaml#/components/schemas/ProblemDetails" peer_entitie.get.200: description: > @@ -2522,7 +3871,7 @@ components: content: application/json: schema: - $ref: "#/components/schemas/ProblemDetails" + $ref: "../components/SOL009_comps.yaml#/components/schemas/ProblemDetails" peer_entitie.patch.412: description: > 412 PRECONDITION FAILED @@ -2551,7 +3900,7 @@ components: content: application/json: schema: - $ref: "#/components/schemas/ProblemDetails" + $ref: "../components/SOL009_comps.yaml#/components/schemas/ProblemDetails" peer_entitie.delete.204: description: > 204 NO CONTENT @@ -2601,7 +3950,7 @@ components: content: application/json: schema: - $ref: "#/components/schemas/ProblemDetails" + $ref: "../components/SOL009_comps.yaml#/components/schemas/ProblemDetails" peer_entitie.delete.412: description: > 412 PRECONDITION FAILED @@ -2630,6 +3979,6 @@ components: content: application/json: schema: - $ref: "#/components/schemas/ProblemDetails" + $ref: "../components/SOL009_comps.yaml#/components/schemas/ProblemDetails" #callbacks: \ No newline at end of file diff --git a/src/SOL009/NFVManoPerformanceManagement/NFVManoPerformanceManagement.yaml b/src/SOL009/NFVManoPerformanceManagement/NFVManoPerformanceManagement.yaml index 8c34a52..5442080 100644 --- a/src/SOL009/NFVManoPerformanceManagement/NFVManoPerformanceManagement.yaml +++ b/src/SOL009/NFVManoPerformanceManagement/NFVManoPerformanceManagement.yaml @@ -460,7 +460,6 @@ paths: "504": $ref: ../responses/SOL009_resp.yaml#/responses/504 - components: schemas: PmSubscriptionRequest: @@ -477,7 +476,7 @@ components: callbackUri: description: > The URI of the endpoint to send the notification to. - $ref: "#/components/schemas/Uri" + $ref: "../components/SOL009_comps.yaml#/components/schemas/Uri" authentication: description: > Authentication parameters to configure the use of Authorization when @@ -485,7 +484,7 @@ components: in clause 8.3.4 of ETSI GS NFV-SOL 013. This attribute shall only be present if the subscriber requires authorization of notifications. - $ref: "#/components/schemas/SubscriptionAuthentication" + $ref: "../components/SOL009_comps.yaml#/components/schemas/SubscriptionAuthentication" required: - callbackUri @@ -497,7 +496,7 @@ components: id: description: > Identifier that identifies the subscription - $ref: "#/components/schemas/Identifier" + $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" filter: description: > Filter settings for this subscription, to define the subset of all @@ -512,11 +511,11 @@ components: links: description: > Links to resources related to this resource. - $ref: "#/components/schemas/Uri" + $ref: "../components/SOL009_comps.yaml#/components/schemas/Uri" self: description: > URI of this resource. - $ref: "#/components/schemas/Link" + $ref: "../components/SOL009_comps.yaml#/components/schemas/Link" required: - links - self @@ -540,24 +539,24 @@ components: 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: "#/components/schemas/Identifier" + $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" notificationType: description: > Discriminator for the different notification types. Shall be set to "ThresholdCrossedNotification" for this notification type. - $ref: "#/components/schemas/String" + $ref: "../components/SOL009_comps.yaml#/components/schemas/String" subscriptionId: description: > Identifier of the subscription that this notification relates to. - $ref: "#/components/schemas/Identifier" + $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" timeStamp: description: > Date and time of the generation of the notification. - $ref: "#/components/schemas/DateTime" + $ref: "../components/SOL009_comps.yaml#/components/schemas/DateTime" thresholdId: description: > Identifier of the threshold which has been crossed. - $ref: "#/components/schemas/Identifier" + $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" crossingDirection: description: > An indication of whether the threshold was crossed in upward or downward direction. @@ -566,31 +565,30 @@ components: description: > Type of measured object.The applicable measured object type for a measurement is defined in clause 8.2 of ETSI GS NFV-IFA 031. - $ref: "#/components/schemas/String" + $ref: "../components/SOL009_comps.yaml#/components/schemas/String" objectInstanceId: description: > Identifier of the measured object instance. This attribute shall contain the identifier of the instance of the measure object according to their type. See also definitions in clause 8.2 of ETSI GS NFV-IFA 031 - $ref: "#/components/schemas/Identifier" + $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" subObjectInstanceId: description: > Identifier of the sub-object of the measured object to which the measurement applies. Shall be present if this is required in clause 8.2 of ETSI GS NFV-IFA 031 for the related measured object type. Shall be absent otherwise. - $ref: "#/components/schemas/IdentifierInManoEntity" + $ref: "../components/SOL009_comps.yaml#/components/schemas/IdentifierInManoEntity" performanceMetric: description: > Performance metric associated with the threshold. This attribute shall contain the related "Measurement Name" value as defined in clause 8.4 of ETSI GS NFV-IFA 031 - $ref: "#/components/schemas/String" + $ref: "../components/SOL009_comps.yaml#/components/schemas/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 8.4 of ETSI GS NFV-IFA 031. - $ref: "#/components/schemas/AnyValue" _links: description: > Links to resources related to this notification. @@ -599,17 +597,17 @@ components: subscription: description: > Link to the related subscription. - $ref: "#/components/schemas/NotificationLink" + $ref: "../components/SOL009_comps.yaml#/components/schemas/NotificationLink" objectInstance: description: > Link to the resource representing the measured object instance to which the notified change applies. Shall be present if the measured object instance information is accessible as a resource. - $ref: "#/components/schemas/NotificationLink" - objectInstance: + $ref: "../components/SOL009_comps.yaml#/components/schemas/NotificationLink" + threshold: description: > Link to the resource that represents the threshold that was crossed. - $ref: "#/components/schemas/NotificationLink" + $ref: "../components/SOL009_comps.yaml#/components/schemas/NotificationLink" required: - subscription - objectInstance @@ -636,33 +634,33 @@ components: 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: "#/components/schemas/Identifier" + $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" notificationType: description: > Discriminator for the different notification types. Shall be set to "PerformanceInformationAvailableNotification" for this notification type. - $ref: "#/components/schemas/String" + $ref: "../components/SOL009_comps.yaml#/components/schemas/String" subscriptionId: description: > Identifier of the subscription that this notification relates to. - $ref: "#/components/schemas/Identifier" + $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" timeStamp: description: > Date and time of the generation of the notification. - $ref: "#/components/schemas/DateTime" + $ref: "../components/SOL009_comps.yaml#/components/schemas/DateTime" objectType: description: > Type of measured object. The applicable measured object type for a measurement is defined in clause 8.2 of ETSI GS NFV-IFA 031. - $ref: "#/components/schemas/String" + $ref: "../components/SOL009_comps.yaml#/components/schemas/String" objectInstanceId: description: > Type of measured object. The applicable measured object type for a measurement is defined in clause 8.2 of ETSI GS NFV-IFA 031 - $ref: "#/components/schemas/Identifier" + $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" subObjectInstanceId: description: > Identifier of the sub-object of the measured object instance for which the @@ -670,7 +668,7 @@ components: set up to measure a sub-object instance of the measured object instance and a sub-object is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the related measured object type. Shall be absent otherwise. - $ref: "#/components/schemas/IdentifierInManoEntity" + $ref: "../components/SOL009_comps.yaml#/components/schemas/IdentifierInManoEntity" _links: description: > Links to resources related to this notification. @@ -679,24 +677,24 @@ components: subscription: description: > Link to the related subscription. - $ref: "#/components/schemas/NotificationLink" + $ref: "../components/SOL009_comps.yaml#/components/schemas/NotificationLink" objectInstance: description: > Link to the resource representing the measured object instance to which the notification applies. Shall be present if the measured object instance information is accessible as a resource. - $ref: "#/components/schemas/NotificationLink" + $ref: "../components/SOL009_comps.yaml#/components/schemas/NotificationLink" pmJob: description: > Link to the resource that represents the PM job for which performance information is available. - $ref: "#/components/schemas/NotificationLink" - performanceReport: + $ref: "../components/SOL009_comps.yaml#/components/schemas/NotificationLink" + PerformanceReport: description: > Link from which the available performance information of data type "PerformanceReport" can be obtained. This link should point to an "Individual performance report" resource. - $ref: "#/components/schemas/NotificationLink" + $ref: "../components/SOL009_comps.yaml#/components/schemas/NotificationLink" required: - subscription - pmJob @@ -712,31 +710,314 @@ components: CreatePmJobRequest: description: > - + This type represents a request to create a PM job. type: object properties: + objectType: + description: > + Type of measured object. The applicable measured object type for a measurement + is defined in clause 8.2 of ETSI GS NFV-IFA 031. + type: string + objectInstanceIds: + description: > + Identifiers of the measured object instance for which performance information + is requested to be collected. This attribute shall contain the identifier of + the instance of the measure object according to their type. + See also definitions in clause 8.2 of ETSI GS NFV-IFA 031. + If more than one identifier is provided, values shall all refer to measured + object instances of the same type, for which the same criteria is then applicable. + type: array + items: + $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + minItems: 1 + subObjectInstanceIds: + description: > + Identifiers of the sub-object instances of the measured object instance for + which performance information is requested to be collected. + May be present if a sub-object is defined in clause 8.2 of ETSI GS NFV-IFA 031 + for the related measured object type. + If this attribute is present, the cardinality of the "objectInstanceIds" + attribute shall be 1. + If this attribute is absent and a sub-object is defined in clause 8.2 of + ETSI GS NFV-IFA 031 for the related measured object type, measurements will + be taken for all sub-object instances of the measured object instance. + type: array + items: + $ref: "../components/SOL009_comps.yaml#/components/schemas/IdentifierInManoEntity" + criteria: + description: > + Criteria of the collection of performance information. + $ref: "#/components/schemas/PmJobCriteria" required: + - objectType + - objectInstanceIds + - criteria PmJob: description: > - + This type represents a PM job. type: object properties: + id: + description: > + Identifier of this PM job. + $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + objectType: + description: > + Type of measured object. The applicable measured object type for a measurement is + defined in clause 8.2 of ETSI GS NFV-IFA 031. + type: string + objectInstanceIds: + description: > + Identifiers of the measured object instance for which performance information + is collected. This attribute shall contain the identifier of the instance of + the measure object according to their type. + See also definitions in clause 8.2 of ETSI GS NFV-IFA 031. + type: array + items: + $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + minItems: 1 + subObjectInstanceIds: + description: > + Identifiers of the sub-object instances of the measured object instance for + which performance information is requested to be collected. + May be present if a sub-object is defined in clause 8.2 of ETSI GS NFV-IFA 031 + for the related measured object type. + If this attribute is present, the cardinality of the "objectInstanceIds" + attribute shall be 1. + If this attribute is absent and a sub-object is defined in clause 8.2 of + ETSI GS NFV-IFA 031 for the related measured object type, measurements will + be taken for all sub-object instances of the measured object instance. + type: array + items: + $ref: "../components/SOL009_comps.yaml#/components/schemas/IdentifierInManoEntity" + criteria: + description: > + Criteria of the collection of performance information. + $ref: "#/components/schemas/PmJobCriteria" + reports: + description: > + Information about available reports collected by this PM job. + type: array + items: + type: object + properties: + href: + description: > + The Uri where the report can be obtained. + $ref: "../components/SOL009_comps.yaml#/components/schemas/Uri" + readyTime: + description: > + The time when the report was made available. + $ref: "../components/SOL009_comps.yaml#/components/schemas/DateTime" + expiryTime: + description: > + The time when the report will expire. + $ref: "../components/SOL009_comps.yaml#/components/schemas/DateTime" + fileSize: + description: > + The size of the report file in bytes, if known. + $ref: "../components/SOL009_comps.yaml#/components/schemas/UnsignedInt" + required: + - href + - readyTime + _links: + description: > + Links for this resource. + type: object + properties: + self: + description: > + URI of this resource. + $ref: "../components/SOL009_comps.yaml#/components/schemas/Link" + objects: + description: > + Links to resources representing the measured object instances for which + performance information is collected. Shall be present if the measured + object instance information is accessible as a resource. + type: array + items: + $ref: "../components/SOL009_comps.yaml#/components/schemas/Link" + required: + - self required: + - id + - objectType + - objectInstanceIds + - criteria + - _links CreateThresholdRequest : description: > - + This type represents a request to create a threshold. type: object properties: + objectType: + description: > + Type of measured object. The applicable measured object type for a measurement + is defined in clause 8.2 of ETSI GS NFV-IFA 031. + type: string + objectInstanceId: + description: > + Identifier of the measured object instance associated with this threshold. + This attribute shall contain the identifier of the instance of the measure + object according to their type. + See also definitions in clause 8.2 of ETSI GS NFV-IFA 031. + $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + subjObjectInstanceIds: + description: > + Identifiers of the sub-object instances of the measured object instance + associated with this threshold. + May be present if a sub-object is defined in clause 8.2 of ETSI GS NFV-IFA 031 + for the related measured object type. + If this attribute is absent and a sub-object is defined in clause 8.2 of ETSI + GS NFV-IFA 031 for the related measured object type, thresholds will be set + for all sub-object instances of the measured object instance. + type: array + items: + $ref: "../components/SOL009_comps.yaml#/components/schemas/IdentifierInManoEntity" + criteria: + description: > + Criteria that define this threshold. + $ref: "#/components/schemas/ThresholdCriteria" required: + - objectType + - objectInstanceId + - criteria Threshold: description: > type: object properties: + id: + description: > + Identifier of this threshold resource. + $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + objectType: + description: + Type of measured object. The applicable measured object type for a measurement + is defined in clause 8.2 of ETSI GS NFV-IFA 031. + type: string + objectInstanceId: + description: > + Identifier of the measured object instance associated with the threshold. + This attribute shall contain the identifier of the instance of the measure + object according to their type. + See also definitions in clause 8.2 of ETSI GS NFV-IFA 031. + $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + subjObjectInstanceIds: + description: > + Identifiers of the sub-object instances of the measured object instance + associated with this threshold. + May be present if a sub-object is defined in clause 8.2 of ETSI GS NFV-IFA 031 + for the related measured object type. + If this attribute is absent and a sub-object is defined in clause 8.2 of ETSI + GS NFV-IFA 031 for the related measured object type, thresholds are set for + all sub-object instances of the measured object instance. + type: array + items: + $ref: "../components/SOL009_comps.yaml#/components/schemas/IdentifierInManoEntity" + criteria: + description: > + Criteria that define this threshold. + $ref: "#/components/schemas/ThresholdCriteria" + _links: + description: > + Links for this resource. + type: object + properties: + self: + description: > + URI for this resource. + $ref: "../components/SOL009_comps.yaml#/components/schemas/Link" + object: + description: > + Link to a resource representing the measured object instance for which performance + information is collected. Shall be present if the measured object instance information + is accessible as a resource. + $ref: "../components/SOL009_comps.yaml#/components/schemas/Link" + required: + - self + required: + - id + - objectType + - objectInstanceId + - subjObjectInstanceIds + - criteria + - _links + + PerformanceReport: + description: > + This type defines the format of a performance report provided by the NFV-MANO functional + entity to the API consumer as a result of collecting performance information as part + of a PM job. + type: object + properties: + entries: + description: > + List of performance information entries. Each performance report entry is for a given + metric of a given object (i.e. measured object instance) corresponding to the related + measured object types, but can include multiple collected values. + type: array + items: + type: object + properties: + objectType: + description: > + Type of measured object. The applicable measured object type for a measurement is + defined in clause 8.2 of ETSI GS NFV-IFA 031. + type: string + objectInstanceId: + description: > + The object instance (i.e. measured object instance) for which the performance metric + is reported. This attribute shall contain the identifier of the instance of the + measure object according to their type. + See also definitions in clause 8.2 of ETSI GS NFV-IFA 031. + $ref: "../components/SOL009_comps.yaml#/components/schemas/ManoManagedObjectReference" + subObjectInstanceId: + description: > + Identifier of the sub-object instance of the measured object instance for which the + performance metric is reported. Shall be present if this is required in clause 8.2 + of ETSI GS NFV-IFA 031 [1] for the related measured object type. + $ref: "../components/SOL009_comps.yaml#/components/schemas/IdentifierInManoEntity" + performanceMetric: + description: > + Name of the metric collected. This attribute shall contain the related + "Measurement Name" value as defined in clause 8.4 of ETSI GS NFV-IFA 031. + type: string + performanceValues: + description: > + List of performance values with associated timestamp. + type: array + items: + type: object + properties: + timeStamp: + description: > + Time stamp indicating when the data was collected. + $ref: "../components/SOL009_comps.yaml#/components/schemas/DateTime" + value: + description: > + Value of the metric collected. The type of this attribute shall correspond to + the related "Measurement Unit" as defined in clause 8.4 of ETSI GS NFV-IFA 031. + context: + description: > + Measurement context information related to the measured value. The set of + applicable keys is defined per measurement in clause 8.4 of ETSI GS NFV-IFA 031. + $ref: "../components/SOL009_comps.yaml#/components/schemas/KeyValuePairs" + required: + - timeStamp + - value + minItems: 1 + required: + - objectType + - objectInstanceId + - performanceMetric + - performanceValues + minItems: 1 required: + - entries #---------- @@ -755,7 +1036,7 @@ components: description: > pmSubscriptionFilter ManoEntitySubscriptionFilter 0..1 Filter criteria to select object instance about which to notify. - $ref: "#/components/schemas/ManoEntitySubscriptionFilter" + $ref: "../components/SOL009_comps.yaml#/components/schemas/ManoEntitySubscriptionFilter" notificationTypes: description: > Match particular notification types. @@ -833,7 +1114,7 @@ components: Identifies a time boundary after which the reporting will stop. The boundary shall allow a single reporting as well as periodic reporting up to the boundary. - $ref: "#/components/schemas/DateTime" + $ref: "../components/SOL009_comps.yaml#/components/schemas/DateTime" required: - collectionPeriod - reportingPeriod @@ -869,7 +1150,7 @@ components: thresholdValue: description: > The threshold value. Shall be represented as a floating point number. - $ref: "#/components/schemas/Number" + $ref: "../components/SOL009_comps.yaml#/components/schemas/Number" hysteresis: description: > The hysteresis of the threshold. @@ -883,7 +1164,7 @@ components: When processing a request to create a threshold, implementations should enforce a suitable minimum value for this attribute (e.g. override the value or reject the request). - $ref: "#/components/schemas/Number" + $ref: "../components/SOL009_comps.yaml#/components/schemas/Number" required: - thresholdValue - hysteresis @@ -895,182 +1176,6 @@ components: # common types to SOL009 #---------------- - ManoEntitySubscriptionFilter: - description: > - This type represents subscription filter criteria to match NFV-MANO functional - entities and their associated managed objects. - type: object - properties: - manoEntityId: - descriptin: > - If present, match the NFV-MANO functional entity with an - instance identifier listed in this attribute. - required: false - $ref: "#/components/schemas/Identifier" - manoServiceIds: - description: > - manoServiceIds IdentifierInManoEntity 0..N If present, match NFV-MANO - services with an instance identifier listed in this attribute. - - The attributes "manoServiceIds" and "manoServiceNames" are alternatives - to reference to NFV-MANO services in a filter. They should not be used - together in the same filter instance, but one alternative should be chosen. - type: array - items: - $ref: "#/components/schemas/IdentifierInManoEntity" - manoServiceNames: - description: > - If present, match NFV-MANO services with an NFV-MANO service name listed - in this attribute. - - The attributes "manoServiceIds" and "manoServiceNames" are alternatives - to reference to NFV-MANO services in a filter. They should not be used - together in the same filter instance, but one alternative should be chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity produced interfaces with an - instance identifier listed in this attribute. - - The attributes "manoServiceInterfaceIds" and "manoServiceInterfaceNames" - are alternatives to reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - $ref: "#/components/schemas/IdentifierInManoEntity" - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity produced interfaces with an - instance Name listed in this attribute. - - The attributes "manoServiceInterfaceIds" and "manoServiceInterfaceNames" - are alternatives to reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - $ref: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity consumed interfaces with an - instance identifier listed in this attribute. - - The attributes "consumedManoInterfaceIds" and "consumedManoInterfaceNames" - are alternatives to reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - $ref: "#/components/schemas/identifier" - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity consumed interfaces with an - instance Name listed in this attribute. - - The attributes "consumedManoInterfaceIds" and "consumedManoInterfaceNames" - are alternatives to reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - $ref: string - - ManoManagedObjectReference: - description: > - This type represents the identifier to reference a managed object of a - particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. - Permitted values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if attribute - "manoEntityComponents" in "ManoEntity" is supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: > - Identifier of the managed object. - - If type="MANO_ENTITY", it corresponds to the value of the attribute "id" - of the "ManoEntity" representing an NFV-MANO functional entity. - - If type="MANO_SERVICE", it corresponds to the value of the attribute "id" - of the "ManoEntity" representing the NFV-MANO functional entity that contains - the "ManoService" sub-object. - - If type="MANO_SERVICE_IF", it corresponds to the value of the attribute "id" - of the "ManoServiceInterface" representing the NFV-MANO functional entity that - contains the "ManoServiceInterface" sub-object. - - If type="CONSUMED_MANO_IF", the value corresponds to the value of the attribute - "id" of the "ConsumedManoInterfaceInfo" representing a consumed NFV-MANO service - interface from a peer functional entity. - - If type="MANO_ENTITY_COMPONENT", the value corresponds to the value of - the attribute "id" of the "ManoEntity" representing the NFV-MANO functional - entity that contains the "ManoEntityComponent" sub-object. - - The "MANO_ENTITY COMPONENT" is only applicable if attribute - "manoEntityComponents" in "ManoEntity" is supported by the API producer. - $ref: "#/components/schemas/Identifier" - subObjectId: - description: > - Identifier of the managed sub-object. It shall be present if type equals to - "MANO_SERVICE" or "MANO_SERVICE_IF" or "MANO_ENTITY_COMPONENT". - - If type="MANO_SERVICE", it corresponds to the value of the attribute "id" - of the "ManoService" representing an individual NFV-MANO service. - - If type="MANO_SERVICE_IF", it corresponds to the value of the attribute "id" - of the "ManoServiceInterface" representing an individual NFV-MANO service - interface. - - If type="MANO_ENTITY_COMPONENT", it corresponds to the value of the attribute - "id" of the "ManoEntityComponent" representing an NFV-MANO functional entity - component. - - The "MANO_ENTITY COMPONENT" is only applicable if attribute - "manoEntityComponents" in "ManoEntity" is supported by the API producer. - $ref: "#/components/schemas/IdentifierInManoEntity" - required: - - type - - objectId - - CrossingDirectionType: - description: > - CrossingDirectionType enumeration. - Permited values: - - UP: The threshold was crossed in upward direction. - - DOWN : The threshold was crossed in downward direction. - type: string - enum: - - UP - - DOWN - - DateTime: - description: > - Date-time stamp. - Representation: String formatted according toas defined by the date-time production in IETF RFC 3339. - format: date-time - Number: - description: > - A number as defined in IETF RFC 8259. - type: number - Identifier: - description: (...) - type: string - IdentifierInManoEntity: - description: (...) - type: string - responses: pm_jobs.post.201: description: > @@ -1179,7 +1284,7 @@ components: content: application/json: schema: - $ref: "#/components/schemas/ProblemDetails" + $ref: "../components/SOL009_comps.yaml#/components/schemas/ProblemDetails" pm_job.get.200: description: > @@ -1360,7 +1465,7 @@ components: content: application/json: schema: - $ref: "#/components/schemas/ProblemDetails" + $ref: "../components/SOL009_comps.yaml#/components/schemas/ProblemDetails" threshold.get.200: description: > @@ -1546,7 +1651,7 @@ components: content: application/json: schema: - $ref: "#/components/schemas/ProblemDetails" + $ref: "../components/SOL009_comps.yaml#/components/schemas/ProblemDetails" subscription.get.200: description: > diff --git a/src/SOL009/components/SOL009_comps.yaml b/src/SOL009/components/SOL009_comps.yaml new file mode 100644 index 0000000..0e1999b --- /dev/null +++ b/src/SOL009/components/SOL009_comps.yaml @@ -0,0 +1,453 @@ +components: + schemas: + Link: + description: > + This type represents a link to a resource using an absolute URI. + type: object + required: + - href + properties: + href: + description: > + URI of another resource referenced from a resource. + Shall be an absolute URI (i.e. a UTI that contains {apiRoot}). + $ref: "#/components/schemas/Uri" + + NotificationLink: + description: > + This type represents a link to a resource in a notification, using an absolute or relative URI. + type: object + required: + - href + properties: + href: + description: > + URI of a resource referenced from a notification. + Should be an absolute URI (i.e. a URI that contains + {apiRoot}), however, may be a relative URI (i.e. a URI + where the {apiRoot} part is omitted) if the {apiRoot} + information is not available. + $ref: "#/components/schemas/Uri" + + IpAddress: + description: > + An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal + integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that + consists of groups of zero to four hexadecimal digits, separated by colons. + type: string + format: IP + + KeyValuePairs: + description: > + This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, + a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 + of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", + "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of + different type. + type: object + + ApiVersionInformation: + description: > + This type represents API version information. + type: object + required: + - uriPrefix + - apiVersions + properties: + uriPrefix: + description: > + Specifies the URI prefix for the API, in the following + form {apiRoot}/{apiName}/{apiMajorVersion}/. + type: string + apiVersions: + description: > + Version(s) supported for the API signaled by the + uriPrefix attribute. + type: array + items: + type: object + required: + - version + properties: + version: + description: > + Identifies a supported version. The value of the + version attribute shall be a version identifier as + specified in clause 9.1 (SOL013). + type: string + isDeprecated: + description: > + If such information is available, this attribute indicates + whether use of the version signaled by the version + attribute is deprecated (true) or not (false). + + A deprecated version is still supported by the API producer but is recommended + not to be used any longer. + When a version is no longer supported, it does not appear in the response body. + type: boolean + retirementDate: + description: > + The date and time after which the API version will no + longer be supported. + This attribute may be included if the value of the + isDeprecated attribute is set to true and shall be + absent otherwise. + $ref: "#/components/schemas/DateTime" + + Identifier: + description: > + An identifier with the intention of being globally unique. + type: string + + IdentifierInManoEntity: + description: > + An identifier that is unique for the respective type within a NFV-MANO functional entity, + but that need not be globally unique. Representation: string of variable length.. + type: string + + IdentifierLocal: + description: > + An identifier that is unique within a limited local scope other than above listed identifiers, + such as within a complex data structure or within a request-response pair. + Representation: string of variable length. + type: string + + DateTime: + description: > + Date-time stamp. + Representation: String formatted according to IETF RFC 3339. + type: string + format: date-time + + Uri: + description: > + String formatted according to IETF RFC 3986. + type: string + + Boolean: + description: > + The Boolean is a data type having two values (true and false). + type: boolean + + Version: + description: > + A version. + type: string + + String: + description: > + A string defined in IETF RFC 8259. + type: string + + Number: + description: > + A number defined in IETF RFC 8259. + type: number + + UnsignedInt: + description: > + Unsigned integer + type: number + + ManoManagedObjectReference: + description: > + This type represents the identifier to reference a managed object of a + particular type. + type: object + properties: + type: + description: > + Indicates the type of managed object. + Permitted values: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + + The "MANO_ENTITY COMPONENT" is only applicable if attribute + "manoEntityComponents" in "ManoEntity" is supported by the API producer. + type: string + enum: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + objectId: + description: > + Identifier of the managed object. + - If type="MANO_ENTITY", it corresponds to the value of the attribute "id" + of the "ManoEntity" representing an NFV-MANO functional entity. + - If type="MANO_SERVICE", it corresponds to the value of the attribute "id" + of the "ManoEntity" representing the NFV-MANO functional entity that contains + the "ManoService" sub-object. + - If type="MANO_SERVICE_IF", it corresponds to the value of the attribute "id" + of the "ManoServiceInterface" representing the NFV-MANO functional entity that + contains the "ManoServiceInterface" sub-object. + - If type="CONSUMED_MANO_IF", the value corresponds to the value of the attribute + "id" of the "ConsumedManoInterfaceInfo" representing a consumed NFV-MANO service + interface from a peer functional entity. + - If type="MANO_ENTITY_COMPONENT", the value corresponds to the value of + the attribute "id" of the "ManoEntity" representing the NFV-MANO functional + entity that contains the "ManoEntityComponent" sub-object. + + The "MANO_ENTITY COMPONENT" is only applicable if attribute + "manoEntityComponents" in "ManoEntity" is supported by the API producer. + $ref: "#/components/schemas/Identifier" + subObjectId: + description: > + Identifier of the managed sub-object. It shall be present if type equals to + "MANO_SERVICE" or "MANO_SERVICE_IF" or "MANO_ENTITY_COMPONENT". + - If type="MANO_SERVICE", it corresponds to the value of the attribute "id" + of the "ManoService" representing an individual NFV-MANO service. + - If type="MANO_SERVICE_IF", it corresponds to the value of the attribute "id" + of the "ManoServiceInterface" representing an individual NFV-MANO service + interface. + - If type="MANO_ENTITY_COMPONENT", it corresponds to the value of the attribute + "id" of the "ManoEntityComponent" representing an NFV-MANO functional entity + component. + + The "MANO_ENTITY COMPONENT" is only applicable if attribute + "manoEntityComponents" in "ManoEntity" is supported by the API producer. + $ref: "#/components/schemas/IdentifierInManoEntity" + required: + - type + - objectId + + SubscriptionAuthentication: + type: object + required: + - authType + properties: + authType: + description: > + Defines the types of Authentication / Authorization which the API + consumer is willing to accept when receiving a notification. + Permitted values: + * BASIC: In every HTTP request to the notification endpoint, use + HTTP Basic authentication with the client credentials. + * OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the + notification endpoint, use an OAuth 2.0 Bearer token, obtained + using the client credentials grant type. + * TLS_CERT: Every HTTP request to the notification endpoint is sent + over a mutually authenticated TLS session, i.e. not only the + server is authenticated, but also the client is authenticated + during the TLS tunnel setup. + type: array + items: + type: string + enum: + - BASIC + - OAUTH2_CLIENT_CREDENTIALS + - TLS_CERT + paramsBasic: + description: > + Parameters for authentication/authorization using BASIC. + Shall be present if authType is "BASIC" and the contained + information has not been provisioned out of band. + Shall be absent otherwise. + type: object + properties: + userName: + description: > + Username to be used in HTTP Basic authentication. Shall be + present if it has not been provisioned out of band. + type: string + password: + description: > + Password to be used in HTTP Basic authentication. Shall be + present if it has not been provisioned out of band. + type: string + paramsOauth2ClientCredentials: + description: > + Parameters for authentication/authorization using + OAUTH2_CLIENT_CREDENTIALS. + Shall be present if authType is "OAUTH2_CLIENT_CREDENTIALS" and the + contained information has not been provisioned out of band. + Shall be absent otherwise. + type: object + properties: + clientId: + description: > + Client identifier to be used in the access token request of the + OAuth 2.0 client credentials grant type. + Shall be present if it has not been provisioned out of band. + The clientId and clientPassword passed in a subscription shall + not be the same as the clientId and clientPassword that are used + to obtain authorization for API requests. Client credentials may + differ between subscriptions. The value of clientPassword should + be generated by a random process. + type: string + clientPassword: + description: > + Client password to be used in the access token request of the + OAuth 2.0 client credentials grant type. + Shall be present if it has not been provisioned out of band. + The clientId and clientPassword passed in a subscription shall + not be the same as the clientId and clientPassword that are used + to obtain authorization for API requests. Client credentials may + differ between subscriptions. The value of clientPassword should + be generated by a random process. + type: string + tokenEndpoint: + description: > + The token endpoint from which the access token can be obtained. + Shall be present if it has not been provisioned out of band. + $ref: "#/components/schemas/Uri" + + ManoEntitySubscriptionFilter: + description: > + This type represents subscription filter criteria to match NFV-MANO functional + entities and their associated managed objects. + type: object + properties: + manoEntityId: + description: > + If present, match the NFV-MANO functional entity with an + instance identifier listed in this attribute. + $ref: "#/components/schemas/Identifier" + manoServiceIds: + description: > + manoServiceIds IdentifierInManoEntity 0..N If present, match NFV-MANO + services with an instance identifier listed in this attribute. + + The attributes "manoServiceIds" and "manoServiceNames" are alternatives + to reference to NFV-MANO services in a filter. They should not be used + together in the same filter instance, but one alternative should be chosen. + type: array + items: + $ref: "#/components/schemas/IdentifierInManoEntity" + manoServiceNames: + description: > + If present, match NFV-MANO services with an NFV-MANO service name listed + in this attribute. + + The attributes "manoServiceIds" and "manoServiceNames" are alternatives + to reference to NFV-MANO services in a filter. They should not be used + together in the same filter instance, but one alternative should be chosen. + type: array + items: + type: string + manoServiceInterfaceIds: + description: > + If present, match NFV-MANO functional entity produced interfaces with an + instance identifier listed in this attribute. + + The attributes "manoServiceInterfaceIds" and "manoServiceInterfaceNames" + are alternatives to reference to NFV-MANO functional entity produced + interfaces in a filter. They should not be used both in the same filter + instance, but one alternative should be chosen. + type: array + items: + $ref: "#/components/schemas/IdentifierInManoEntity" + manoServiceInterfaceNames: + description: > + If present, match NFV-MANO functional entity produced interfaces with an + instance Name listed in this attribute. + + The attributes "manoServiceInterfaceIds" and "manoServiceInterfaceNames" + are alternatives to reference to NFV-MANO functional entity produced + interfaces in a filter. They should not be used both in the same filter + instance, but one alternative should be chosen. + type: array + items: + type: string + consumedManoInterfaceIds: + description: > + If present, match NFV-MANO functional entity consumed interfaces with an + instance identifier listed in this attribute. + + The attributes "consumedManoInterfaceIds" and "consumedManoInterfaceNames" + are alternatives to reference to NFV-MANO functional entity consumed + interfaces in a filter. They should not be used both in the same filter + instance, but one alternative should be chosen. + type: array + items: + $ref: "#/components/schemas/Identifier" + consumedManoInterfaceNames: + description: > + If present, match NFV-MANO functional entity consumed interfaces with an + instance Name listed in this attribute. + + The attributes "consumedManoInterfaceIds" and "consumedManoInterfaceNames" + are alternatives to reference to NFV-MANO functional entity consumed + interfaces in a filter. They should not be used both in the same filter + instance, but one alternative should be chosen. + type: array + items: + type: string + + CrossingDirectionType: + description: > + CrossingDirectionType enumeration. + Permited values: + - UP: The threshold was crossed in upward direction. + - DOWN : The threshold was crossed in downward direction. + type: string + enum: + - UP + - DOWN + + ProblemDetails: + description: > + The definition of the general "ProblemDetails" data structure from + IETF RFC 7807 [19] is reproduced inthis structure. Compared to the + general framework defined in IETF RFC 7807 [19], the "status" and + "detail" attributes are mandated to be included by the present document, + to ensure that the response contains additional textual information about + an error. IETF RFC 7807 [19] foresees extensibility of the + "ProblemDetails" type. It is possible that particular APIs in the present + document, or particular implementations, define extensions to define + additional attributes that provide more information about the error. + The description column only provides some explanation of the meaning to + Facilitate understanding of the design. For a full description, see + IETF RFC 7807 [19]. + type: object + required: + - status + - detail + properties: + type: + description: > + A URI reference according to IETF RFC 3986 [5] that identifies the + problem type. It is encouraged that the URI provides human-readable + documentation for the problem (e.g. using HTML) when dereferenced. + When this member is not present, its value is assumed to be + "about:blank". + type: string + format: URI + title: + description: > + A short, human-readable summary of the problem type. It should not + change from occurrence to occurrence of the problem, except for + purposes of localization. If type is given and other than + "about:blank", this attribute shall also be provided. + A short, human-readable summary of the problem + type. It SHOULD NOT change from occurrence to occurrence of the + problem, except for purposes of localization (e.g., using + proactive content negotiation; see [RFC7231], Section 3.4). + type: string + status: + description: > + The HTTP status code for this occurrence of the problem. + The HTTP status code ([RFC7231], Section 6) generated by the origin + server for this occurrence of the problem. + type: integer + detail: + description: > + A human-readable explanation specific to this occurrence of the + problem. + type: string + instance: + description: > + A URI reference that identifies the specific occurrence of the + problem. It may yield further information if dereferenced. + type: string + format: URI + #TODO: How to express "any additional attributes"? + + responses: + + parameters: + -- GitLab From c7f88f2690bee0439588ccb73a014ba7e70f34d0 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 12 Nov 2019 19:43:29 +0100 Subject: [PATCH 21/55] CIM & PM: added fixes --- .../NFVManoConfigurationAndInformationManagement.yaml | 2 +- .../NFVManoPerformanceManagement.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/SOL009/NFVManoConfigurationAndInformationManagement/NFVManoConfigurationAndInformationManagement.yaml b/src/SOL009/NFVManoConfigurationAndInformationManagement/NFVManoConfigurationAndInformationManagement.yaml index 86b481f..0edd920 100644 --- a/src/SOL009/NFVManoConfigurationAndInformationManagement/NFVManoConfigurationAndInformationManagement.yaml +++ b/src/SOL009/NFVManoConfigurationAndInformationManagement/NFVManoConfigurationAndInformationManagement.yaml @@ -1329,7 +1329,7 @@ components: description: > Reference of the managed object to which the state change notification relates. The value of the "type" attribute shall be "MANO_ENTITY" or "MANO_SERVICE_IF". - $ref: "#../components/SOL009_comps.yaml#/components/schemas/ManoManagedObjectReference" + $ref: "../components/SOL009_comps.yaml#/components/schemas/ManoManagedObjectReference" operationalState: description: > New operational state of the managed object. Shall only be present when diff --git a/src/SOL009/NFVManoPerformanceManagement/NFVManoPerformanceManagement.yaml b/src/SOL009/NFVManoPerformanceManagement/NFVManoPerformanceManagement.yaml index 5442080..b772128 100644 --- a/src/SOL009/NFVManoPerformanceManagement/NFVManoPerformanceManagement.yaml +++ b/src/SOL009/NFVManoPerformanceManagement/NFVManoPerformanceManagement.yaml @@ -560,7 +560,7 @@ components: crossingDirection: description: > An indication of whether the threshold was crossed in upward or downward direction. - $ref: "#/components/schemas/CrossingDirectionType" + $ref: "../components/SOL009_comps.yaml#/components/schemas/CrossingDirectionType" objectType: description: > Type of measured object.The applicable measured object type for a measurement -- GitLab From 9c4da8462c73e541283466ad606bdd01aa9e0083 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 12 Nov 2019 20:03:56 +0100 Subject: [PATCH 22/55] CIM & PM: OAS 3 components reorganisation --- ...ConfigurationAndInformationManagement.yaml | 394 +++++++----------- .../NFVManoPerformanceManagement.yaml | 279 +++++-------- src/SOL009/components/SOL009_params.yaml | 72 ++++ src/SOL009/components/SOL009_resp.yaml | 2 + ...{SOL009_comps.yaml => SOL009_schemas.yaml} | 7 +- 5 files changed, 341 insertions(+), 413 deletions(-) create mode 100644 src/SOL009/components/SOL009_params.yaml create mode 100644 src/SOL009/components/SOL009_resp.yaml rename src/SOL009/components/{SOL009_comps.yaml => SOL009_schemas.yaml} (99%) diff --git a/src/SOL009/NFVManoConfigurationAndInformationManagement/NFVManoConfigurationAndInformationManagement.yaml b/src/SOL009/NFVManoConfigurationAndInformationManagement/NFVManoConfigurationAndInformationManagement.yaml index 0edd920..3d62d5a 100644 --- a/src/SOL009/NFVManoConfigurationAndInformationManagement/NFVManoConfigurationAndInformationManagement.yaml +++ b/src/SOL009/NFVManoConfigurationAndInformationManagement/NFVManoConfigurationAndInformationManagement.yaml @@ -38,9 +38,9 @@ paths: tables 5.5.3.3.2-1 and 5.5.3.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - $ref: "#/components/parameters/Version" - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Authorization" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "200": $ref: "#/components/responses/mano_entity.get.200" @@ -74,9 +74,9 @@ paths: tables 5.5.3.3.4-1 and 5.5.3.3.4-2 for URI query parameters, request and response data structures, and response codes. parameters: - - $ref: "#/components/parameters/Version" - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Authorization" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" requestBody: $ref: "#/components/requestBodies/ModifyManoEntityRequest" responses: @@ -117,9 +117,9 @@ paths: 5.5.7.3.1-1 and 5.5.7.3.1-2 for URI query parameters, request and response data structures, and response codes. parameters: - - $ref: "#/components/parameters/Version" - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Authorization" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" requestBody: $ref: "#/components/requestBodies/ChangeManoEntityStateRequest" responses: @@ -158,14 +158,14 @@ paths: and response data structures, and response codes. parameters: - $ref: "#/components/parameters/filter.ManoServiceInterface" - - $ref: "#/components/parameters/all_fields" - - $ref: "#/components/parameters/fields" - - $ref: "#/components/parameters/exclude_fields" + - $ref: "../components/SOL009_params.yaml#/components/parameters/all_fields" + - $ref: "../components/SOL009_params.yaml#/components/parameters/fields" + - $ref: "../components/SOL009_params.yaml#/components/parameters/exclude_fields" - $ref: "#/components/parameters/exclude_default.ManoServiceInterface" - - $ref: "#/components/parameters/nextpage_opaque_marker" - - $ref: "#/components/parameters/Version" - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Authorization" + - $ref: "../components/SOL009_params.yaml#/components/parameters/nextpage_opaque_marker" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "200": $ref: "#/components/responses/mano_entity-mano_interfaces.get.200" @@ -200,9 +200,9 @@ paths: 5.5.11.3.2-1 and 5.5.11.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - $ref: "#/components/parameters/Version" - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Authorization" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "200": $ref: "#/components/responses/mano_entity-mano_interface.get.200" @@ -237,9 +237,9 @@ paths: 5.5.11.3.4-1 and 5.5.11.3.4-2 for URI query parameters, request and response data structures, and response codes. parameters: - - $ref: "#/components/parameters/Version" - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Authorization" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" requestBody: $ref: "#/components/requestBodies/ModifyManoEnityInterfaceRequest" responses: @@ -280,9 +280,9 @@ paths: 5.5.12.3.1-1 and 5.5.12.3.1-2 for URI query parameters, request and response data structures, and response codes. parameters: - - $ref: "#/components/parameters/Version" - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Authorization" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" requestBody: $ref: "#/components/requestBodies/ChangeManoEntityInterfaceStateRequest" responses: @@ -320,9 +320,9 @@ paths: 5.5.4.3.1-1 and 5.5.4.3.1-2 for URI query parameters, request and response data structures, and response codes. parameters: - - $ref: "#/components/parameters/Version" - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Authorization" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" requestBody: $ref: "#/components/requestBodies/CreateSubscriptionRequest" responses: @@ -361,10 +361,10 @@ paths: and response data structures, and response codes. parameters: - $ref: "#/components/parameters/filter.CimSubscription" - - $ref: "#/components/parameters/nextpage_opaque_marker" - - $ref: "#/components/parameters/Version" - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Authorization" + - $ref: "../components/SOL009_params.yaml#/components/parameters/nextpage_opaque_marker" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "200": $ref: "#/components/responses/subscriptions.get.200" @@ -399,9 +399,9 @@ paths: 5.5.5.3.2-1 and 5.5.5.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - $ref: "#/components/parameters/Version" - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Authorization" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "200": $ref: "#/components/responses/subscription.get.200" @@ -433,9 +433,9 @@ paths: 5.5.5.3.5-1 and 5.5.5.3.5-2 for URI query parameters, request and response data structures, and response codes. parameters: - - $ref: "#/components/parameters/Version" - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Authorization" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "204": $ref: "#/components/responses/subscription.delete.204" @@ -471,14 +471,14 @@ paths: response data structures, and response codes. parameters: - $ref: "#/components/parameters/filter.ChangeStateOpOcc" - - $ref: "#/components/parameters/all_fields" - - $ref: "#/components/parameters/fields" - - $ref: "#/components/parameters/exclude_fields" + - $ref: "../components/SOL009_params.yaml#/components/parameters/all_fields" + - $ref: "../components/SOL009_params.yaml#/components/parameters/fields" + - $ref: "../components/SOL009_params.yaml#/components/parameters/exclude_fields" - $ref: "#/components/parameters/exclude_default.ChangeStateOpOcc" - - $ref: "#/components/parameters/nextpage_opaque_marker" - - $ref: "#/components/parameters/Version" - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Authorization" + - $ref: "../components/SOL009_params.yaml#/components/parameters/nextpage_opaque_marker" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "200": $ref: "#/components/responses/change_state_ops.get.200" @@ -514,9 +514,9 @@ paths: 5.5.9.3.2-1 and 5.5.9.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - $ref: "#/components/parameters/Version" - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Authorization" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "200": $ref: "#/components/responses/change_state_op.get.200" @@ -552,9 +552,9 @@ paths: 5.5.13.3.1-1 and 5.5.13.3.1-2 for URI query parameters, request and response data structures, and response codes. parameters: - - $ref: "#/components/parameters/Version" - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Authorization" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" requestBody: $ref: "#/components/requestBodies/CreatePeerEntityRequest" responses: @@ -590,14 +590,14 @@ paths: and response data structures, and response codes. parameters: - $ref: "#/components/parameters/filter.PeerEntity" - - $ref: "#/components/parameters/all_fields" - - $ref: "#/components/parameters/fields" - - $ref: "#/components/parameters/exclude_fields" + - $ref: "../components/SOL009_params.yaml#/components/parameters/all_fields" + - $ref: "../components/SOL009_params.yaml#/components/parameters/fields" + - $ref: "../components/SOL009_params.yaml#/components/parameters/exclude_fields" - $ref: "#/components/parameters/exclude_default.PeerEntity" - - $ref: "#/components/parameters/nextpage_opaque_marker" - - $ref: "#/components/parameters/Version" - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Authorization" + - $ref: "../components/SOL009_params.yaml#/components/parameters/nextpage_opaque_marker" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "200": $ref: "#/components/responses/peer_entities.get.200" @@ -633,9 +633,9 @@ paths: 5.5.14.3.2-1 and 5.5.14.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - $ref: "#/components/parameters/Version" - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Authorization" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "200": $ref: "#/components/responses/peer_entitie.get.200" @@ -674,9 +674,9 @@ paths: 5.5.14.3.4-1 and 5.5.14.3.4-2 for URI query parameters, request and response data structures, and response codes. parameters: - - $ref: "#/components/parameters/Version" - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Authorization" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" requestBody: $ref: "#/components/requestBodies/ModifyPeerEntityRequest" responses: @@ -719,9 +719,9 @@ paths: 5.5.14.3.5-1 and 5.5.14.3.5-2 for URI query parameters, request and response data structures, and response codes. parameters: - - $ref: "#/components/parameters/Version" - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Authorization" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "204": $ref: "#/components/responses/peer_entitie.delete.204" @@ -771,7 +771,7 @@ components: the initial deployment of the NFV-MANO functional entity and its value allocated based on network operator policies. The value of this identifier shall be unique at least in the scope of the NFV-MANO deployment. - $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" type: description: > Type of NFV-MANO functional entity. @@ -796,7 +796,7 @@ components: softwareVersion: description: > The version of the software of the NFV-MANO functional entity. - $ref: "../components/SOL009_comps.yaml#/components/schemas/Version" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Version" manoEntityComponents: description: > The deployed NFV-MANO functional entity components which realize the @@ -887,19 +887,19 @@ components: properties: self: description: URI of this resource. - $ref: "../components/SOL009_comps.yaml#/components/schemas/Link" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Link" manoServiceInterfaces: description: Link to the "NFV-MANO service interfaces" resource. - $ref: "../components/SOL009_comps.yaml#/components/schemas/Link" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Link" peerEntities: description: Link to "Peer entities" resource. - $ref: "../components/SOL009_comps.yaml#/components/schemas/Link" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Link" changeState: description: Link to the "Change state" task resource. - $ref: "../components/SOL009_comps.yaml#/components/schemas/Link" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Link" changeStateOpOccs: description: Link to the "Change state operation occurrences" resource. - $ref: "../components/SOL009_comps.yaml#/components/schemas/Link" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Link" ManoConfigModificationRequest: description: > @@ -929,17 +929,17 @@ components: below this table. type: array items: - $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" defaultLogCompileBySizeValue: description: > New value of the "defaultLogCompileBySizeValue" attribute in the "ManoEntityConfigurableParams". - $ref: "../components/SOL009_comps.yaml#/components/schemas/UnsignedInt" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/UnsignedInt" defaultLogCompileByTimerValue: description: > New value of the "defaultLogCompileByTimerValue" attribute in the "ManoEntityConfigurableParams". - $ref: "../components/SOL009_comps.yaml#/components/schemas/UnsignedInt" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/UnsignedInt" manoServiceModifications: description: > New content of certain entries in the "manoServices" attribute array @@ -951,7 +951,7 @@ components: id: description: > Identifier of the NFV-MANO service to modify. - $ref: "../components/SOL009_comps.yaml#/components/schemas/IdentifierInManoEntity" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/IdentifierInManoEntity" name: description: > New value for the "name" attribute in the "ManoService". @@ -1002,19 +1002,19 @@ components: in clause 5.6.2.3. type: array items: - $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" defaultLogCompileBySizeValue: description: > If present, this attribute signals modifications of the "defaultLogCompileBySizeValue" attribute in the "ManoEntityConfigurableParams". - $ref: "../components/SOL009_comps.yaml#/components/schemas/UnsignedInt" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/UnsignedInt" defaultLogCompileByTimerValue: description: > If present, this attribute signals modifications of the "defaultLogCompileByTimerValue" attribute in the "ManoEntityConfigurableParams". - $ref: "../components/SOL009_comps.yaml#/components/schemas/UnsignedInt" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/UnsignedInt" manoServiceModifications: description: > If present, this attribute signals modifications of the "manoServices" @@ -1026,7 +1026,7 @@ components: id: description: > Identifier of the NFV-MANO service that has been modified. - $ref: "../components/SOL009_comps.yaml#/components/schemas/IdentifierInManoEntity" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/IdentifierInManoEntity" name: description: > If present, this attribute signals modification of the "name" @@ -1055,7 +1055,7 @@ components: callbackUri: description: > The URI of the endpoint to send the notification to. - $ref: "../components/SOL009_comps.yaml#/components/schemas/Uri" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Uri" authentication: description: > Authentication parameters to configure the use of Authorization when @@ -1064,7 +1064,7 @@ components: This attribute shall only be present if the subscriber requires authorization of notifications. - $ref: "../components/SOL009_comps.yaml#/components/schemas/SubscriptionAuthentication" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/SubscriptionAuthentication" required: - callbackUri @@ -1077,7 +1077,7 @@ components: id: description: > Identifier that identifies the subscription - $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" filter: description: > Filter settings for this subscription, to define the subset of all @@ -1087,7 +1087,7 @@ components: callbackUri: description: > The URI of the endpoint to send the notification to. - $ref: "../components/SOL009_comps.yaml#/components/schemas/Uri" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Uri" _links: description: > Links to resources related to this resource. @@ -1096,7 +1096,7 @@ components: self: description: > URI of this resource. - $ref: "../components/SOL009_comps.yaml#/components/schemas/Link" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Link" required: - self required: @@ -1116,7 +1116,7 @@ components: 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: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" notificationType: description: > Discriminator for the different notification types. Shall be set to @@ -1125,24 +1125,24 @@ components: subscriptionId: description: > Identifier of the subscription that this notification relates to. - $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" timeStamp: description: > Date and time of the generation of the notification. - $ref: "../components/SOL009_comps.yaml#/components/schemas/DateTime" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/DateTime" informationChangedTime: description: > Timestamp indicating when the information was changed. - $ref: "../components/SOL009_comps.yaml#/components/schemas/DateTime" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/DateTime" manoEntityId: description: > Identifier of the MANO entity of which the information was changed. - $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" changedInfo: description: > Data about the changed configuration and information of the NFV-MANO functional entity. - $ref: "../components/SOL009_comps.yaml#/components/schemas/KeyValuePairs" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/KeyValuePairs" _links: description: > Links to resources related to this notification. @@ -1151,11 +1151,11 @@ components: self: description: > Link to the related subscription. - $ref: "../components/SOL009_comps.yaml#/components/schemas/NotificationLink" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" subscription: description: > Link to the related subscription. - $ref: "../components/SOL009_comps.yaml#/components/schemas/NotificationLink" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" required: - self required: @@ -1236,7 +1236,7 @@ components: id: description: > Identifier of this change state operation occurrence. - $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" operationState: description: > The state of the "change state operation occurrence". @@ -1244,17 +1244,17 @@ components: stateEnteredTime: description: > Date-time when the current state was entered. - $ref: "../components/SOL009_comps.yaml#/components/schemas/DateTime" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/DateTime" startTime: description: > Date-time of the start of the operation. - $ref: "../components/SOL009_comps.yaml#/components/schemas/DateTime" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/DateTime" managedObjectRef: description: > Reference of the managed object to which the change state operation occurrence relates. The value of the "type" attribute shall be "MANO_ENTITY" or "MANO_SERVICE_IF". - $ref: "../components/SOL009_comps.yaml#/components/schemas/ManoManagedObjectReference" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ManoManagedObjectReference" changeOperationalStateRequest: description: > The type of the change of operational state that was requested. Shall @@ -1298,7 +1298,7 @@ components: 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: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" notificationType: description: > Discriminator for the different notification types. Shall be set to @@ -1307,20 +1307,20 @@ components: subscriptionId: description: > Identifier of the subscription that this notification relates to. - $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" timestamp: description: > Date-time of the generation of the notification. - $ref: "../components/SOL009_comps.yaml#/components/schemas/DateTime" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/DateTime" changeStateOpOccId: description: > Identifier of the change state operation occurrence associated to the notification. - $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" stateChangedTime: description: > Timestamp indicating when the state on the managed object was changed. - $ref: "../components/SOL009_comps.yaml#/components/schemas/DateTime" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/DateTime" changeStateOperationState: description: > The state of the "change state operation occurrence". @@ -1329,7 +1329,7 @@ components: description: > Reference of the managed object to which the state change notification relates. The value of the "type" attribute shall be "MANO_ENTITY" or "MANO_SERVICE_IF". - $ref: "../components/SOL009_comps.yaml#/components/schemas/ManoManagedObjectReference" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ManoManagedObjectReference" operationalState: description: > New operational state of the managed object. Shall only be present when @@ -1348,18 +1348,18 @@ components: subscription: description: > Link to the related subscription. - $ref: "../components/SOL009_comps.yaml#/components/schemas/NotificationLink" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" objectInstance: description: > Link to the resource representing the object to which the change state applies. Shall be present if the object instance is accessible as a resource. - $ref: "../components/SOL009_comps.yaml#/components/schemas/NotificationLink" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" changeStateOpOcc: description: > Link to the change state operation occurrence that this notification is related to. - $ref: "../components/SOL009_comps.yaml#/components/schemas/NotificationLink" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" required: - subscription - objectInstance @@ -1385,7 +1385,7 @@ components: id: description: > Identifier of the NFV-MANO functional entity interface. - $ref: "../components/SOL009_comps.yaml#/components/schemas/IdentifierInManoEntity" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/IdentifierInManoEntity" name: description: > Human-readable name of the NFV-MANO functional entity interface. @@ -1404,16 +1404,16 @@ components: NOTE 1: The information to be provided in this attribute shall relate to the specification and version of the specification. For instance, "ETSI GS NFV-SOL 003 (V2.4.1)". - $ref: "../components/SOL009_comps.yaml#/components/schemas/Version" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Version" providerSpecificApiVersion: description: > Provider-specific software API version. - $ref: "../components/SOL009_comps.yaml#/components/schemas/Version" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Version" apiVersion: description: > API version, in compliance with the version identifiers and parameters format specified in clause 9.1 of ETSI GS NFV-SOL 013. - $ref: "../components/SOL009_comps.yaml#/components/schemas/Version" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Version" apiEndpoint: description: > Exposed API endpoint of the interface. @@ -1427,7 +1427,7 @@ components: (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise. This attribute can be modified with the PATCH method. - $ref: "../components/SOL009_comps.yaml#/components/schemas/Uri" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Uri" apiName: description: > Indicates the interface name in an abbreviated form. Shall be present @@ -1452,7 +1452,7 @@ components: APIs specified by ETSI NFV, this attribute shall not be modified. Instead, changes are handled indirectly via patching of the "apiRoot" attribute’s value. - $ref: "../components/SOL009_comps.yaml#/components/schemas/Uri" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Uri" required: - apiUri maxConcurrentIntOpNumber: @@ -1528,7 +1528,7 @@ components: service interface. These attributes can be created, modified or removed with the PATCH method. - $ref: "../components/SOL009_comps.yaml#/components/schemas/KeyValuePairs" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/KeyValuePairs" required: - id - name @@ -1561,7 +1561,7 @@ components: NOTE: The change of apiRoot or apiUri on an enabled and in use API may be service disruptive. Also, that change invalidates any related URI that might have been cached at API consumers. - $ref: "../components/SOL009_comps.yaml#/components/schemas/Uri" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Uri" apiUri: description: > New value of the "apiUri" attribute in "ManoServiceInterface". @@ -1571,7 +1571,7 @@ components: might have been cached at API consumers. Shall not be provided if a change of "apiRoot" is present in the request. - $ref: "../components/SOL009_comps.yaml#/components/schemas/Uri" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Uri" securityInfo: description: > New value of the "securityInfo" attribute in "ManoServiceInterface". @@ -1589,7 +1589,7 @@ components: Modifications of the "metadata" attribute in "ManoServiceInterface". If present, these modifications shall be applied according to the rules of JSON Merge PATCH (see IETF RFC 7396). - $ref: "../components/SOL009_comps.yaml#/components/schemas/KeyValuePairs" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/KeyValuePairs" ManoServiceInterfaceModifications: description: > @@ -1610,12 +1610,12 @@ components: description: > If present, this attribute signals modifications of the "apiRoot" attribute in "ManoServiceInterface", as defined in clause 5.6.2.11. - $ref: "../components/SOL009_comps.yaml#/components/schemas/Uri" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Uri" apiUri: description: > If present, this attribute signals modifications of the "apiUri" attribute in "ManoServiceInterface", as defined in clause 5.6.2.11. - $ref: "../components/SOL009_comps.yaml#/components/schemas/Uri" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Uri" securityInfo: description: > If present, this attribute signals modifications of the "securityInfo" @@ -1632,7 +1632,7 @@ components: description: > If present, this attribute signals modifications of the "metadata" attribute in "ManoServiceInterface", as defined in clause 5.6.2.11. - $ref: "../components/SOL009_comps.yaml#/components/schemas/KeyValuePairs" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/KeyValuePairs" CreatePeerEntityRequest: description: > @@ -1647,7 +1647,7 @@ components: the "id" attribute in the "ManoEntity" of the corresponding NFV-MANO functional entity that acts as peer entity, and shall follow the uniqueness requirements set out in clause 5.6.2.2 for the "id" attribute. - $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" name: description: > Human-readable name of the peer functional entity. @@ -1697,7 +1697,7 @@ components: description: > Identifier of the resource representing the peer functional entity. This identifier is allocated by the producer NFV-MANO functional entity. - $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" peerEntityId: description: > Identifier of the peer functional entity. @@ -1706,7 +1706,7 @@ components: of the "id" attribute in the "ManoEntity" of the corresponding NFV-MANO functional entity that acts as peer entity, and shall follow the uniqueness requirements set out in clause 5.6.2.2 for the "id" attribute. - $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" name: description: > Human-readable name of the peer functional entity. @@ -1793,7 +1793,7 @@ components: attribute array in the " PeerEntity ", as defined below this table. type: array items: - $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" operationalState: description: > New content of the "operationalState" attribute in the "peerEntityState" @@ -1848,7 +1848,7 @@ components: clause 5.6.2.15. type: array items: - $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" operationalState: description: > If present, this attribute signals modifications of the "operationalState" @@ -1878,7 +1878,7 @@ components: id: description: > Identifier of the NFV-MANO functional entity component. - $ref: "../components/SOL009_comps.yaml#/components/schemas/IdentifierInManoEntity" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/IdentifierInManoEntity" manoServiceIds: description: > References to the NFV-MANO services that depend on the NFV-MANO functional @@ -1887,7 +1887,7 @@ components: component. type: array items: - $ref: "../components/SOL009_comps.yaml#/components/schemas/IdentifierInManoEntity" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/IdentifierInManoEntity" required: - id @@ -1900,7 +1900,7 @@ components: id: description: > Identifier of the NFV-MANO service. - $ref: "../components/SOL009_comps.yaml#/components/schemas/IdentifierInManoEntity" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/IdentifierInManoEntity" name: description: > Human-readable name of the NFV-MANO service. @@ -1925,7 +1925,7 @@ components: NFV-MANO service. type: array items: - $ref: "../components/SOL009_comps.yaml#/components/schemas/IdentifierInManoEntity" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/IdentifierInManoEntity" minItems: 1 _links: description: > @@ -1938,7 +1938,7 @@ components: information about the associated interfaces to the NFV-MANO service. type: array items: - $ref: "../components/SOL009_comps.yaml#/components/schemas/Link" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Link" minItems: 1 required: - manoServiceInterfaces @@ -1995,7 +1995,7 @@ components: NOTE: The information to be provided in this attribute shall relate to the specification and version of the specification. For instance, "ETSI GS NFV-SOL 001 (V2.5.1)". - $ref: "../components/SOL009_comps.yaml#/components/schemas/Version" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Version" required: - vnfdFormat - standardVersion @@ -2024,7 +2024,7 @@ components: NOTE: The information to be provided in this attribute shall relate to the specification and version of the specification. For instance, "ETSI GS NFV-SOL 001 (V2.5.1)". - $ref: "../components/SOL009_comps.yaml#/components/schemas/Version" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Version" required: - nsdFormat - standardVersion @@ -2088,7 +2088,7 @@ components: NOTE: The information to be provided in this attribute shall relate to the specification and version of the specification. For instance, "ETSI GS NFV-SOL 001 (V2.5.1)". - $ref: "../components/SOL009_comps.yaml#/components/schemas/Version" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Version" required: - vnfdFormat - standardVersion @@ -2122,11 +2122,11 @@ components: defaultLogCompileBySizeValue: description: Default value for the log compilation by size to be used. - $ref: "../components/SOL009_comps.yaml#/components/schemas/UnsignedInt" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/UnsignedInt" defaultLogCompileByTimerValue: description: Default value for the log compilation by timer to be used. - $ref: "../components/SOL009_comps.yaml#/components/schemas/UnsignedInt" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/UnsignedInt" required: - clockSyncs - defaultLogCompileBySizeValue @@ -2142,7 +2142,7 @@ components: description: > Identifier of the consumed NFV-MANO interface. This identifier is managed by the API consumer. - $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" name: description: > Human-readable name of the NFV-MANO interface. @@ -2159,12 +2159,12 @@ components: NOTE: The information to be provided in this attribute shall relate to the specification and its version. For instance, "ETSI GS NFV-SOL 003 (V2.4.1)". - $ref: "../components/SOL009_comps.yaml#/components/schemas/Version" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Version" apiVersion: description: > API version, in compliance with the version identifiers and parameters format specified in clause 9.1 of ETSI GS NFV-SOL 013. - $ref: "../components/SOL009_comps.yaml#/components/schemas/Version" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Version" apiEndpoint: description: > Consumable API endpoint of the interface. @@ -2179,7 +2179,7 @@ components: represent a prefix path. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise. - $ref: "../components/SOL009_comps.yaml#/components/schemas/Uri" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Uri" apiName: description: > Indicates the interface name in an abbreviated form. Shall be present @@ -2199,7 +2199,7 @@ components: URL of the API endpoint. For ETSI NFV specified RESTful NFV-MANO APIs, the following prefix structure is used (see also clause 4.1 of ETSI GS NFV-SOL 013): {apiRoot}/{apiName}/{apiMajorVersion} - $ref: "../components/SOL009_comps.yaml#/components/schemas/Uri" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Uri" required: - apiUri securityInfo: @@ -2236,7 +2236,7 @@ components: description: > Filter criteria to select the NFV-MANO functional entity and its associated managed objects. - $ref: "../components/SOL009_comps.yaml#/components/schemas/ManoEntitySubscriptionFilter" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ManoEntitySubscriptionFilter" notificationTypes: description: > Match particular notification types. @@ -2264,7 +2264,7 @@ components: description: > The identifier of the clock synchronization information entry. This identifier is managed by the API consumer. - $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" type: description: > Type of clock synchronization. @@ -2288,7 +2288,7 @@ components: NOTE: Either ipAddress or hostname shall be set, but not both at the same time. - $ref: "../components/SOL009_comps.yaml#/components/schemas/IpAddress" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/IpAddress" hostname: description: > Indicates the hostname of the NTP server. @@ -2300,7 +2300,7 @@ components: description: > Information for the other types of clock synchronization. May be present if type = "OTHER". - $ref: "../components/SOL009_comps.yaml#/components/schemas/KeyValuePairs" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/KeyValuePairs" required: - id - type @@ -2349,7 +2349,7 @@ components: Server where the WebFinger service is hosted. When used, the request to the WebFinger resource shall conform as specified in clause 5.1.3 of ETSI GS NFV-SEC 022. - $ref: "../components/SOL009_comps.yaml#/components/schemas/Uri" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Uri" required: - webFingerHost providedConfiguration: @@ -2364,7 +2364,7 @@ components: authServerId: description: > Authorization server identifier as defined in ETSI GS NFV-SEC 022. - $ref: "../components/SOL009_comps.yaml#/components/schemas/Uri" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Uri" required: - authServerId tlsCipherSuites: @@ -2650,33 +2650,7 @@ components: - OSS parameters: - Version: - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - Accept: - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF RFC 7231. - in: header - required: true - schema: - type: string - - Authorization: - name: Authorization - description: > - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - + filter.ManoServiceInterface: name: filter description: > @@ -2746,39 +2720,6 @@ components: schema: type: string - all_fields: - name: all_fields - description: > - Include all complex attributes in the response. See clause - 5.3 of ETSI GS NFV-SOL 013. The NFV-MANO functional entity - shall support this parameter. - in: query - required: false - schema: - type: string - - fields: - name: fields - description: > - Complex attributes to be included into the response. See clause - 5.3 of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional - entity should support this parameter. - in: query - required: false - schema: - type: string - - exclude_fields: - name: exclude_fields - description: > - Complex attributes to be excluded from the response. See clause - 5.3 of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional - entity should support this parameter. - in: query - required: false - schema: - type: string - exclude_default.ManoServiceInterface: name: exclude_default description: > @@ -2844,17 +2785,6 @@ components: schema: type: string - nextpage_opaque_marker: - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be supported by - the NFV-MANO functional entity if the entity supports alternative 2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource. - in: query - required: false - schema: - type: string - requestBodies: ModifyManoEntityRequest: description: > @@ -3011,7 +2941,7 @@ components: content: application/json: schema: - $ref: "../components/SOL009_comps.yaml#/components/schemas/ProblemDetails" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" mano_entity.patch.412: description: > 412 PRECONDITION FAILED @@ -3040,7 +2970,7 @@ components: content: application/json: schema: - $ref: "../components/SOL009_comps.yaml#/components/schemas/ProblemDetails" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" mano_entity-change_state.post.202: description: > @@ -3102,7 +3032,7 @@ components: content: application/json: schema: - $ref: "../components/SOL009_comps.yaml#/components/schemas/ProblemDetails" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" mano_entity-mano_interfaces.get.200: description: > @@ -3184,7 +3114,7 @@ components: content: application/json: schema: - $ref: "../components/SOL009_comps.yaml#/components/schemas/ProblemDetails" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" mano_entity-mano_interface.get.200: description: > @@ -3268,7 +3198,7 @@ components: content: application/json: schema: - $ref: "../components/SOL009_comps.yaml#/components/schemas/ProblemDetails" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" mano_entity-mano_interface.patch.412: description: > 412 PRECONDITION FAILED @@ -3298,7 +3228,7 @@ components: content: application/json: schema: - $ref: "../components/SOL009_comps.yaml#/components/schemas/ProblemDetails" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" mano_entity-mano_interface-change_state.post.202: description: > @@ -3362,7 +3292,7 @@ components: content: application/json: schema: - $ref: "../components/SOL009_comps.yaml#/components/schemas/ProblemDetails" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" subscriptions.post.201: description: > @@ -3512,7 +3442,7 @@ components: content: application/json: schema: - $ref: "../components/SOL009_comps.yaml#/components/schemas/ProblemDetails" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" subscription.get.200: description: > @@ -3642,7 +3572,7 @@ components: content: application/json: schema: - $ref: "../components/SOL009_comps.yaml#/components/schemas/ProblemDetails" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" change_state_op.get.200: description: > @@ -3789,7 +3719,7 @@ components: content: application/json: schema: - $ref: "../components/SOL009_comps.yaml#/components/schemas/ProblemDetails" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" peer_entitie.get.200: description: > @@ -3871,7 +3801,7 @@ components: content: application/json: schema: - $ref: "../components/SOL009_comps.yaml#/components/schemas/ProblemDetails" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" peer_entitie.patch.412: description: > 412 PRECONDITION FAILED @@ -3900,7 +3830,7 @@ components: content: application/json: schema: - $ref: "../components/SOL009_comps.yaml#/components/schemas/ProblemDetails" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" peer_entitie.delete.204: description: > 204 NO CONTENT @@ -3950,7 +3880,7 @@ components: content: application/json: schema: - $ref: "../components/SOL009_comps.yaml#/components/schemas/ProblemDetails" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" peer_entitie.delete.412: description: > 412 PRECONDITION FAILED @@ -3979,6 +3909,6 @@ components: content: application/json: schema: - $ref: "../components/SOL009_comps.yaml#/components/schemas/ProblemDetails" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" #callbacks: \ No newline at end of file diff --git a/src/SOL009/NFVManoPerformanceManagement/NFVManoPerformanceManagement.yaml b/src/SOL009/NFVManoPerformanceManagement/NFVManoPerformanceManagement.yaml index b772128..6fe53c2 100644 --- a/src/SOL009/NFVManoPerformanceManagement/NFVManoPerformanceManagement.yaml +++ b/src/SOL009/NFVManoPerformanceManagement/NFVManoPerformanceManagement.yaml @@ -40,9 +40,9 @@ paths: 6.5.3.3.1-1 and 6.5.3.3.1-2 for URI query parameters, request and response data structures, and response codes. parameters: - - $ref: "#/components/parameters/Version" - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Authorization" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" requestBody: $ref: "#/components/requestBodies/CreatePMJobRequest" responses: @@ -73,14 +73,14 @@ paths: The client can use this method to retrieve information about PM jobs. parameters: - $ref: "#/components/parameters/filter.PmJob" - - $ref: "#/components/parameters/all_fields" - - $ref: "#/components/parameters/fields" - - $ref: "#/components/parameters/exclude_fields" + - $ref: "../components/SOL009_params.yaml#/components/parameters/all_fields" + - $ref: "../components/SOL009_params.yaml#/components/parameters/fields" + - $ref: "../components/SOL009_params.yaml#/components/parameters/exclude_fields" - $ref: "#/components/parameters/exclude_default.PmJob" - - $ref: "#/components/parameters/nextpage_opaque_marker" - - $ref: "#/components/parameters/Version" - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Authorization" + - $ref: "../components/SOL009_params.yaml#/components/parameters/nextpage_opaque_marker" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "200": $ref: "#/components/responses/pm_jobs.get.200" @@ -110,9 +110,9 @@ paths: description: > The client can use this method for reading an individual PM job. parameters: - - $ref: "#/components/parameters/Version" - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Authorization" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "200": $ref: "#/components/responses/pm_job.get.200" @@ -140,9 +140,9 @@ paths: description: > This method terminates an individual PM job. parameters: - - $ref: "#/components/parameters/Version" - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Authorization" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "204": $ref: "#/components/responses/pm_job.delete.204" @@ -173,9 +173,9 @@ paths: The client can use this method for reading an individual performance report. parameters: - - $ref: "#/components/parameters/Version" - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Authorization" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "200": $ref: "#/components/responses/pm_job.report.get.200" @@ -205,9 +205,9 @@ paths: description: > The POST method can be used by the client to create a threshold. parameters: - - $ref: "#/components/parameters/Version" - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Authorization" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" requestBody: $ref: "#/components/requestBodies/CreateThesholdRequest" responses: @@ -238,10 +238,10 @@ paths: The client can use this method to query information about thresholds. parameters: - $ref: "#/components/parameters/filter.Threshold" - - $ref: "#/components/parameters/nextpage_opaque_marker" - - $ref: "#/components/parameters/Version" - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Authorization" + - $ref: "../components/SOL009_params.yaml#/components/parameters/nextpage_opaque_marker" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "200": $ref: "#/components/responses/thresholds.get.200" @@ -271,9 +271,9 @@ paths: description: > The client can use this method for reading an individual threshold parameters: - - $ref: "#/components/parameters/Version" - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Authorization" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "200": $ref: "#/components/responses/threshold.get.200" @@ -301,9 +301,9 @@ paths: description: > This method allows to delete a threshold. parameters: - - $ref: "#/components/parameters/Version" - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Authorization" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "204": $ref: "#/components/responses/threshold.delete.204" @@ -333,9 +333,9 @@ paths: description: > The POST method creates a new subscription. parameters: - - $ref: "#/components/parameters/Version" - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Authorization" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" requestBody: $ref: "#/components/requestBodies/CreateSubscriptionRequest" responses: @@ -369,10 +369,10 @@ paths: to performance management notifications subscribed by the client. parameters: - $ref: "#/components/parameters/filter.PmSubscription" - - $ref: "#/components/parameters/nextpage_opaque_marker" - - $ref: "#/components/parameters/Version" - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Authorization" + - $ref: "../components/SOL009_params.yaml#/components/parameters/nextpage_opaque_marker" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "200": $ref: "#/components/responses/subscriptions.get.200" @@ -403,9 +403,9 @@ paths: The client can use this method for reading an individual subscription about performance management notifications subscribed by the client. parameters: - - $ref: "#/components/parameters/Version" - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Authorization" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "200": $ref: "#/components/responses/subscription.get.200" @@ -433,9 +433,9 @@ paths: description: > This method terminates an individual subscription. parameters: - - $ref: "#/components/parameters/Version" - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Authorization" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "204": $ref: "#/components/responses/subscription.delete.204" @@ -476,7 +476,7 @@ components: callbackUri: description: > The URI of the endpoint to send the notification to. - $ref: "../components/SOL009_comps.yaml#/components/schemas/Uri" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Uri" authentication: description: > Authentication parameters to configure the use of Authorization when @@ -484,7 +484,7 @@ components: in clause 8.3.4 of ETSI GS NFV-SOL 013. This attribute shall only be present if the subscriber requires authorization of notifications. - $ref: "../components/SOL009_comps.yaml#/components/schemas/SubscriptionAuthentication" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/SubscriptionAuthentication" required: - callbackUri @@ -496,7 +496,7 @@ components: id: description: > Identifier that identifies the subscription - $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" filter: description: > Filter settings for this subscription, to define the subset of all @@ -511,11 +511,11 @@ components: links: description: > Links to resources related to this resource. - $ref: "../components/SOL009_comps.yaml#/components/schemas/Uri" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Uri" self: description: > URI of this resource. - $ref: "../components/SOL009_comps.yaml#/components/schemas/Link" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Link" required: - links - self @@ -539,51 +539,51 @@ components: 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: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" notificationType: description: > Discriminator for the different notification types. Shall be set to "ThresholdCrossedNotification" for this notification type. - $ref: "../components/SOL009_comps.yaml#/components/schemas/String" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/String" subscriptionId: description: > Identifier of the subscription that this notification relates to. - $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" timeStamp: description: > Date and time of the generation of the notification. - $ref: "../components/SOL009_comps.yaml#/components/schemas/DateTime" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/DateTime" thresholdId: description: > Identifier of the threshold which has been crossed. - $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" crossingDirection: description: > An indication of whether the threshold was crossed in upward or downward direction. - $ref: "../components/SOL009_comps.yaml#/components/schemas/CrossingDirectionType" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/CrossingDirectionType" objectType: description: > Type of measured object.The applicable measured object type for a measurement is defined in clause 8.2 of ETSI GS NFV-IFA 031. - $ref: "../components/SOL009_comps.yaml#/components/schemas/String" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/String" objectInstanceId: description: > Identifier of the measured object instance. This attribute shall contain the identifier of the instance of the measure object according to their type. See also definitions in clause 8.2 of ETSI GS NFV-IFA 031 - $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" subObjectInstanceId: description: > Identifier of the sub-object of the measured object to which the measurement applies. Shall be present if this is required in clause 8.2 of ETSI GS NFV-IFA 031 for the related measured object type. Shall be absent otherwise. - $ref: "../components/SOL009_comps.yaml#/components/schemas/IdentifierInManoEntity" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/IdentifierInManoEntity" performanceMetric: description: > Performance metric associated with the threshold. This attribute shall contain the related "Measurement Name" value as defined in clause 8.4 of ETSI GS NFV-IFA 031 - $ref: "../components/SOL009_comps.yaml#/components/schemas/String" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/String" performanceValue: description: > Value of the metric that resulted in threshold crossing. @@ -597,17 +597,17 @@ components: subscription: description: > Link to the related subscription. - $ref: "../components/SOL009_comps.yaml#/components/schemas/NotificationLink" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" objectInstance: description: > Link to the resource representing the measured object instance to which the notified change applies. Shall be present if the measured object instance information is accessible as a resource. - $ref: "../components/SOL009_comps.yaml#/components/schemas/NotificationLink" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" threshold: description: > Link to the resource that represents the threshold that was crossed. - $ref: "../components/SOL009_comps.yaml#/components/schemas/NotificationLink" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" required: - subscription - objectInstance @@ -634,33 +634,33 @@ components: 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: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" notificationType: description: > Discriminator for the different notification types. Shall be set to "PerformanceInformationAvailableNotification" for this notification type. - $ref: "../components/SOL009_comps.yaml#/components/schemas/String" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/String" subscriptionId: description: > Identifier of the subscription that this notification relates to. - $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" timeStamp: description: > Date and time of the generation of the notification. - $ref: "../components/SOL009_comps.yaml#/components/schemas/DateTime" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/DateTime" objectType: description: > Type of measured object. The applicable measured object type for a measurement is defined in clause 8.2 of ETSI GS NFV-IFA 031. - $ref: "../components/SOL009_comps.yaml#/components/schemas/String" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/String" objectInstanceId: description: > Type of measured object. The applicable measured object type for a measurement is defined in clause 8.2 of ETSI GS NFV-IFA 031 - $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" subObjectInstanceId: description: > Identifier of the sub-object of the measured object instance for which the @@ -668,7 +668,7 @@ components: set up to measure a sub-object instance of the measured object instance and a sub-object is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the related measured object type. Shall be absent otherwise. - $ref: "../components/SOL009_comps.yaml#/components/schemas/IdentifierInManoEntity" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/IdentifierInManoEntity" _links: description: > Links to resources related to this notification. @@ -677,24 +677,24 @@ components: subscription: description: > Link to the related subscription. - $ref: "../components/SOL009_comps.yaml#/components/schemas/NotificationLink" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" objectInstance: description: > Link to the resource representing the measured object instance to which the notification applies. Shall be present if the measured object instance information is accessible as a resource. - $ref: "../components/SOL009_comps.yaml#/components/schemas/NotificationLink" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" pmJob: description: > Link to the resource that represents the PM job for which performance information is available. - $ref: "../components/SOL009_comps.yaml#/components/schemas/NotificationLink" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" PerformanceReport: description: > Link from which the available performance information of data type "PerformanceReport" can be obtained. This link should point to an "Individual performance report" resource. - $ref: "../components/SOL009_comps.yaml#/components/schemas/NotificationLink" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" required: - subscription - pmJob @@ -728,7 +728,7 @@ components: object instances of the same type, for which the same criteria is then applicable. type: array items: - $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" minItems: 1 subObjectInstanceIds: description: > @@ -743,7 +743,7 @@ components: be taken for all sub-object instances of the measured object instance. type: array items: - $ref: "../components/SOL009_comps.yaml#/components/schemas/IdentifierInManoEntity" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/IdentifierInManoEntity" criteria: description: > Criteria of the collection of performance information. @@ -761,7 +761,7 @@ components: id: description: > Identifier of this PM job. - $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" objectType: description: > Type of measured object. The applicable measured object type for a measurement is @@ -775,7 +775,7 @@ components: See also definitions in clause 8.2 of ETSI GS NFV-IFA 031. type: array items: - $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" minItems: 1 subObjectInstanceIds: description: > @@ -790,7 +790,7 @@ components: be taken for all sub-object instances of the measured object instance. type: array items: - $ref: "../components/SOL009_comps.yaml#/components/schemas/IdentifierInManoEntity" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/IdentifierInManoEntity" criteria: description: > Criteria of the collection of performance information. @@ -805,19 +805,19 @@ components: href: description: > The Uri where the report can be obtained. - $ref: "../components/SOL009_comps.yaml#/components/schemas/Uri" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Uri" readyTime: description: > The time when the report was made available. - $ref: "../components/SOL009_comps.yaml#/components/schemas/DateTime" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/DateTime" expiryTime: description: > The time when the report will expire. - $ref: "../components/SOL009_comps.yaml#/components/schemas/DateTime" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/DateTime" fileSize: description: > The size of the report file in bytes, if known. - $ref: "../components/SOL009_comps.yaml#/components/schemas/UnsignedInt" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/UnsignedInt" required: - href - readyTime @@ -829,7 +829,7 @@ components: self: description: > URI of this resource. - $ref: "../components/SOL009_comps.yaml#/components/schemas/Link" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Link" objects: description: > Links to resources representing the measured object instances for which @@ -837,7 +837,7 @@ components: object instance information is accessible as a resource. type: array items: - $ref: "../components/SOL009_comps.yaml#/components/schemas/Link" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Link" required: - self required: @@ -863,7 +863,7 @@ components: This attribute shall contain the identifier of the instance of the measure object according to their type. See also definitions in clause 8.2 of ETSI GS NFV-IFA 031. - $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" subjObjectInstanceIds: description: > Identifiers of the sub-object instances of the measured object instance @@ -875,7 +875,7 @@ components: for all sub-object instances of the measured object instance. type: array items: - $ref: "../components/SOL009_comps.yaml#/components/schemas/IdentifierInManoEntity" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/IdentifierInManoEntity" criteria: description: > Criteria that define this threshold. @@ -893,7 +893,7 @@ components: id: description: > Identifier of this threshold resource. - $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" objectType: description: Type of measured object. The applicable measured object type for a measurement @@ -905,7 +905,7 @@ components: This attribute shall contain the identifier of the instance of the measure object according to their type. See also definitions in clause 8.2 of ETSI GS NFV-IFA 031. - $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" subjObjectInstanceIds: description: > Identifiers of the sub-object instances of the measured object instance @@ -917,7 +917,7 @@ components: all sub-object instances of the measured object instance. type: array items: - $ref: "../components/SOL009_comps.yaml#/components/schemas/IdentifierInManoEntity" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/IdentifierInManoEntity" criteria: description: > Criteria that define this threshold. @@ -930,13 +930,13 @@ components: self: description: > URI for this resource. - $ref: "../components/SOL009_comps.yaml#/components/schemas/Link" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Link" object: description: > Link to a resource representing the measured object instance for which performance information is collected. Shall be present if the measured object instance information is accessible as a resource. - $ref: "../components/SOL009_comps.yaml#/components/schemas/Link" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Link" required: - self required: @@ -974,13 +974,13 @@ components: is reported. This attribute shall contain the identifier of the instance of the measure object according to their type. See also definitions in clause 8.2 of ETSI GS NFV-IFA 031. - $ref: "../components/SOL009_comps.yaml#/components/schemas/ManoManagedObjectReference" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ManoManagedObjectReference" subObjectInstanceId: description: > Identifier of the sub-object instance of the measured object instance for which the performance metric is reported. Shall be present if this is required in clause 8.2 of ETSI GS NFV-IFA 031 [1] for the related measured object type. - $ref: "../components/SOL009_comps.yaml#/components/schemas/IdentifierInManoEntity" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/IdentifierInManoEntity" performanceMetric: description: > Name of the metric collected. This attribute shall contain the related @@ -996,7 +996,7 @@ components: timeStamp: description: > Time stamp indicating when the data was collected. - $ref: "../components/SOL009_comps.yaml#/components/schemas/DateTime" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/DateTime" value: description: > Value of the metric collected. The type of this attribute shall correspond to @@ -1005,7 +1005,7 @@ components: description: > Measurement context information related to the measured value. The set of applicable keys is defined per measurement in clause 8.4 of ETSI GS NFV-IFA 031. - $ref: "../components/SOL009_comps.yaml#/components/schemas/KeyValuePairs" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/KeyValuePairs" required: - timeStamp - value @@ -1036,7 +1036,7 @@ components: description: > pmSubscriptionFilter ManoEntitySubscriptionFilter 0..1 Filter criteria to select object instance about which to notify. - $ref: "../components/SOL009_comps.yaml#/components/schemas/ManoEntitySubscriptionFilter" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ManoEntitySubscriptionFilter" notificationTypes: description: > Match particular notification types. @@ -1114,7 +1114,7 @@ components: Identifies a time boundary after which the reporting will stop. The boundary shall allow a single reporting as well as periodic reporting up to the boundary. - $ref: "../components/SOL009_comps.yaml#/components/schemas/DateTime" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/DateTime" required: - collectionPeriod - reportingPeriod @@ -1150,7 +1150,7 @@ components: thresholdValue: description: > The threshold value. Shall be represented as a floating point number. - $ref: "../components/SOL009_comps.yaml#/components/schemas/Number" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Number" hysteresis: description: > The hysteresis of the threshold. @@ -1164,7 +1164,7 @@ components: When processing a request to create a threshold, implementations should enforce a suitable minimum value for this attribute (e.g. override the value or reject the request). - $ref: "../components/SOL009_comps.yaml#/components/schemas/Number" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Number" required: - thresholdValue - hysteresis @@ -1284,7 +1284,7 @@ components: content: application/json: schema: - $ref: "../components/SOL009_comps.yaml#/components/schemas/ProblemDetails" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" pm_job.get.200: description: > @@ -1465,7 +1465,7 @@ components: content: application/json: schema: - $ref: "../components/SOL009_comps.yaml#/components/schemas/ProblemDetails" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" threshold.get.200: description: > @@ -1651,7 +1651,7 @@ components: content: application/json: schema: - $ref: "../components/SOL009_comps.yaml#/components/schemas/ProblemDetails" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" subscription.get.200: description: > @@ -1701,32 +1701,6 @@ components: type: string parameters: - Version: - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - Accept: - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF RFC 7231. - in: header - required: true - schema: - type: string - - Authorization: - name: Authorization - description: > - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string filter.PmJob : name: filter @@ -1779,40 +1753,6 @@ components: required: false schema: type: string - - all_fields: - name: all_fields - description: > - Include all complex attributes in the response. See clause - 5.3 of ETSI GS NFV-SOL 013. The NFV-MANO functional entity - shall support this parameter. - in: query - required: false - schema: - type: string - - fields: - name: fields - description: > - Complex attributes to be included into the response. See clause - 5.3 of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional - entity should support this parameter. - in: query - required: false - schema: - type: string - - exclude_fields: - name: exclude_fields - description: > - Complex attributes to be excluded from the response. See clause - 5.3 of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional - entity should support this parameter. - in: query - required: false - schema: - type: string - exclude_default.PmJob : name: exclude_default description: > @@ -1829,18 +1769,7 @@ components: required: false schema: type: string - - nextpage_opaque_marker: - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be supported by - the NFV-MANO functional entity if the entity supports alternative 2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource. - in: query - required: false - schema: - type: string - + requestBodies: CreatePMJobRequest: description: > diff --git a/src/SOL009/components/SOL009_params.yaml b/src/SOL009/components/SOL009_params.yaml new file mode 100644 index 0000000..9cff435 --- /dev/null +++ b/src/SOL009/components/SOL009_params.yaml @@ -0,0 +1,72 @@ +components: + parameters: + Version: + name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + + Accept: + name: Accept + description: > + Content-Types that are acceptable for the response. Reference: IETF RFC 7231. + in: header + required: true + schema: + type: string + + Authorization: + name: Authorization + description: > + The authorization token for the request. Reference: IETF RFC 7235. + in: header + required: false + schema: + type: string + + all_fields: + name: all_fields + description: > + Include all complex attributes in the response. See clause + 5.3 of ETSI GS NFV-SOL 013. The NFV-MANO functional entity + shall support this parameter. + in: query + required: false + schema: + type: string + + fields: + name: fields + description: > + Complex attributes to be included into the response. See clause + 5.3 of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional + entity should support this parameter. + in: query + required: false + schema: + type: string + + exclude_fields: + name: exclude_fields + description: > + Complex attributes to be excluded from the response. See clause + 5.3 of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional + entity should support this parameter. + in: query + required: false + schema: + type: string + + nextpage_opaque_marker: + name: nextpage_opaque_marker + description: > + Marker to obtain the next page of a paged response. Shall be supported by + the NFV-MANO functional entity if the entity supports alternative 2 (paging) + according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource. + in: query + required: false + schema: + type: string diff --git a/src/SOL009/components/SOL009_resp.yaml b/src/SOL009/components/SOL009_resp.yaml new file mode 100644 index 0000000..b650294 --- /dev/null +++ b/src/SOL009/components/SOL009_resp.yaml @@ -0,0 +1,2 @@ +components: + responses: \ No newline at end of file diff --git a/src/SOL009/components/SOL009_comps.yaml b/src/SOL009/components/SOL009_schemas.yaml similarity index 99% rename from src/SOL009/components/SOL009_comps.yaml rename to src/SOL009/components/SOL009_schemas.yaml index 0e1999b..f1776c8 100644 --- a/src/SOL009/components/SOL009_comps.yaml +++ b/src/SOL009/components/SOL009_schemas.yaml @@ -445,9 +445,4 @@ components: problem. It may yield further information if dereferenced. type: string format: URI - #TODO: How to express "any additional attributes"? - - responses: - - parameters: - + #TODO: How to express "any additional attributes"? \ No newline at end of file -- GitLab From fb8f45a21c25622327d04da3f185ea19aa95075e Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Fri, 15 Nov 2019 16:00:22 +0100 Subject: [PATCH 23/55] updated common data types references --- .../SOL009NFVManoFaultManagement_def.yaml | 60 +++++----- .../NFVManoLogManagement.yaml | 111 +++++------------- .../NFVManoLogManagementNotification.yaml | 16 +-- src/SOL009/components/SOL009_schemas.yaml | 3 +- src/SOL009/endpoints/SOL009_endpoints.yaml | 2 +- src/SOL009/responses/SOL009_resp.yaml | 34 +++--- 6 files changed, 88 insertions(+), 138 deletions(-) diff --git a/src/SOL009/NFVManoFaultManagement/definitions/SOL009NFVManoFaultManagement_def.yaml b/src/SOL009/NFVManoFaultManagement/definitions/SOL009NFVManoFaultManagement_def.yaml index b3a1ea1..58a98ab 100644 --- a/src/SOL009/NFVManoFaultManagement/definitions/SOL009NFVManoFaultManagement_def.yaml +++ b/src/SOL009/NFVManoFaultManagement/definitions/SOL009NFVManoFaultManagement_def.yaml @@ -20,13 +20,13 @@ definitions: callbackUri: description: > The URI of the endpoint to send the notification to. - $ref: "../../definitions/SOL009_def.yaml#/definitions/Uri" + $ref: "../../components/SOL009_schemas.yaml#/components/schemas/Uri" authentication: description: > Authentication parameters to configure the use of Authorization when sending notifications corresponding to this subscription, as defined in clause 8.3.4 of ETSI GS NFV-SOL 013. This attribute shall only be present if the subscriber requires authorization of notifications. - $ref: "../../definitions/SOL009_def.yaml#/definitions/SubscriptionAuthentication" + $ref: "../../components/SOL009_schemas.yaml#/components/schemas/SubscriptionAuthentication" FmSubscription: description: > @@ -41,7 +41,7 @@ definitions: id: description: > Identifier of this "Individual subscription" resource. - $ref: "../../definitions/SOL009_def.yaml#/definitions/Identifier" + $ref: "../../components/SOL009_schemas.yaml#/components/schemas/Identifier" filter: description: > Filter settings for this subscription, to define the subset of all @@ -52,7 +52,7 @@ definitions: callbackUri: description: > The URI of the endpoint to send the notification to. - $ref: "../../definitions/SOL009_def.yaml#/definitions/Uri" + $ref: "../../components/SOL009_schemas.yaml#/components/schemas/Uri" _links: description: > Links for this resource. @@ -63,7 +63,7 @@ definitions: self: description: > URI of this resource. - $ref: "../../definitions/SOL009_def.yaml#/definitions/Link" + $ref: "../../components/SOL009_schemas.yaml#/components/schemas/Link" Alarm: description: > @@ -84,30 +84,30 @@ definitions: id: description: > Identifier of this Alarm information element. - $ref: "../../definitions/SOL009_def.yaml#/definitions/Identifier" + $ref: "../../components/SOL009_schemas.yaml#/components/schemas/Identifier" managedObjectId: description: > Identifier of the affected NFV-MANO instance. - $ref: "../../definitions/SOL009_def.yaml#/definitions/Identifier" + $ref: "../../components/SOL009_schemas.yaml#/components/schemas/Identifier" associatedFaultyInstanceId: description: > The resources that are causing the fault. - $ref: "../../definitions/SOL009_def.yaml#/definitions/ManoManagedObjectReference" + $ref: "../../components/SOL009_schemas.yaml#/components/schemas/ManoManagedObjectReference" alarmRaisedTime: description: > Time stamp indicating when the alarm is raised by the managed object. - $ref: "../../definitions/SOL009_def.yaml#/definitions/DateTime" + $ref: "../../components/SOL009_schemas.yaml#/components/schemas/DateTime" alarmChangedTime: description: > Time stamp indicating when the alarm was last changed. It shall be present if the alarm has been updated. - $ref: "../../definitions/SOL009_def.yaml#/definitions/DateTime" + $ref: "../../components/SOL009_schemas.yaml#/components/schemas/DateTime" alarmClearedTime: description: > Time stamp indicating when the alarm was cleared. It shall be present if the alarm has been cleared. - $ref: "../../definitions/SOL009_def.yaml#/definitions/DateTime" + $ref: "../../components/SOL009_schemas.yaml#/components/schemas/DateTime" ackState: description: > Acknowledgement state of the alarm. @@ -125,7 +125,7 @@ definitions: eventTime: description: > Time stamp indicating when the fault was observed. - $ref: "../../definitions/SOL009_def.yaml#/definitions/DateTime" + $ref: "../../components/SOL009_schemas.yaml#/components/schemas/DateTime" eventType: description: > Type of event. @@ -149,7 +149,7 @@ definitions: List of identifiers of other alarms correlated to this fault. type: array items: - $ref: "../../definitions/SOL009_def.yaml#/definitions/Identifier" + $ref: "../../components/SOL009_schemas.yaml#/components/schemas/Identifier" faultDetails: description: > Provides additional information about the fault. @@ -166,13 +166,13 @@ definitions: self: description: > URI of this resource. - $ref: "../../definitions/SOL009_def.yaml#/definitions/Link" + $ref: "../../components/SOL009_schemas.yaml#/components/schemas/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/SOL009_def.yaml#/definitions/Link" + $ref: "../../components/SOL009_schemas.yaml#/components/schemas/Link" AlarmNotification: description: > @@ -196,7 +196,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/SOL009_def.yaml#/definitions/Identifier" + $ref: "../../components/SOL009_schemas.yaml#/components/schemas/Identifier" notificationType: description: > Discriminator for the different notification types. Shall be set to @@ -207,11 +207,11 @@ definitions: subscriptionId: description: > Identifier of the subscription that this notification relates to. - $ref: "../../definitions/SOL009_def.yaml#/definitions/Identifier" + $ref: "../../components/SOL009_schemas.yaml#/components/schemas/Identifier" timeStamp: description: > Date-time of the generation of the notification. - $ref: "../../definitions/SOL009_def.yaml#/definitions/DateTime" + $ref: "../../components/SOL009_schemas.yaml#/components/schemas/DateTime" alarm: description: > Information about an alarm including AlarmId, affected VNF @@ -227,7 +227,7 @@ definitions: subscription: description: > Link to the related subscription. - $ref: "../../definitions/SOL009_def.yaml#/definitions/NotificationLink" + $ref: "../../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" AlarmClearedNotification: description: > @@ -249,7 +249,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/SOL009_def.yaml#/definitions/Identifier" + $ref: "../../components/SOL009_schemas.yaml#/components/schemas/Identifier" notificationType: description: > Discriminator for the different notification types. Shall be set to @@ -260,15 +260,15 @@ definitions: subscriptionId: description: > Identifier of the subscription that this notification relates to. - $ref: "../../definitions/SOL009_def.yaml#/definitions/Identifier" + $ref: "../../components/SOL009_schemas.yaml#/components/schemas/Identifier" timeStamp: description: > Date-time of the generation of the notification. - $ref: "../../definitions/SOL009_def.yaml#/definitions/DateTime" + $ref: "../../components/SOL009_schemas.yaml#/components/schemas/DateTime" alarmId: description: > Alarm identifier. - $ref: "../../definitions/SOL009_def.yaml#/definitions/Identifier" + $ref: "../../components/SOL009_schemas.yaml#/components/schemas/Identifier" alarmClearedTime: description: > The time stamp indicating when the alarm was cleared. @@ -283,11 +283,11 @@ definitions: subscription: description: > Link to the related subscription. - $ref: "../../definitions/SOL009_def.yaml#/definitions/NotificationLink" + $ref: "../../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" alarm: description: > Link to the resource that represents the related alarm. - $ref: "../../definitions/SOL009_def.yaml#/definitions/NotificationLink" + $ref: "../../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" AlarmListRebuiltNotification: description: > @@ -309,7 +309,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/SOL009_def.yaml#/definitions/Identifier" + $ref: "../../components/SOL009_schemas.yaml#/components/schemas/Identifier" notificationType: description: > Discriminator for the different notification types. Shall be set to @@ -320,11 +320,11 @@ definitions: subscriptionId: description: > Identifier of the subscription that this notification relates to. - $ref: "../../definitions/SOL009_def.yaml#/definitions/Identifier" + $ref: "../../components/SOL009_schemas.yaml#/components/schemas/Identifier" timeStamp: description: > Date-time of the generation of the notification. - $ref: "../../definitions/SOL009_def.yaml#/definitions/DateTime" + $ref: "../../components/SOL009_schemas.yaml#/components/schemas/DateTime" _links: description: > Links to resources related to this notification. @@ -336,11 +336,11 @@ definitions: subscription: description: > Link to the related subscription. - $ref: "../../definitions/SOL009_def.yaml#/definitions/NotificationLink" + $ref: "../../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" alarms: description: > Link to the alarm list, i.e. the "Alarms" resource. - $ref: "../../definitions/SOL009_def.yaml#/definitions/NotificationLink" + $ref: "../../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" AlarmModifications: description: > diff --git a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml index 1067f67..cac8fd9 100644 --- a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml +++ b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml @@ -464,7 +464,7 @@ components: Identifier of the logging job. required: true schema: - $ref: '../definitions/SOL009_def.yaml#/definitions/Identifier' + $ref: '../components/SOL009_schemas.yaml#/components/schemas/Identifier' logJReportId: name: logJReportId in: path @@ -472,7 +472,7 @@ components: Identifier of the report. required: true schema: - $ref: '../definitions/SOL009_def.yaml#/definitions/Identifier' + $ref: '../components/SOL009_schemas.yaml#/components/schemas/Identifier' subscriptionId: name: subscriptionId in: path @@ -480,7 +480,7 @@ components: Identifier of the subscription required: true schema: - $ref: '../definitions/SOL009_def.yaml#/definitions/Identifier' + $ref: '../components/SOL009_schemas.yaml#/components/schemas/Identifier' filter: name: filter in: query @@ -843,7 +843,7 @@ components: content: application/json: schema: - $ref: '../definitions/SOL009_def.yaml#/definitions/ProblemDetails' + $ref: '../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails' LogReport.Get: description: >- @@ -1016,7 +1016,7 @@ components: id: description: >- Identifier that identifies the subscription. - $ref: '../definitions/SOL009_def.yaml#/definitions/Identifier' + $ref: '../components/SOL009_schemas.yaml#/components/schemas/Identifier' filter: description: >- Filter settings for this subscription, to define the subset of all notifications this subscription @@ -1026,7 +1026,7 @@ components: callbackUri: description: >- The URI of the endpoint to send the notification to. - $ref: '../definitions/SOL009_def.yaml#/definitions/Uri' + $ref: '../components/SOL009_schemas.yaml#/components/schemas/Uri' _links: description: >- Links to resources related to this resource. @@ -1037,7 +1037,7 @@ components: self: description: >- URI of this resource. - $ref: '../definitions/SOL009_def.yaml#/definitions/Link' + $ref: '../components/SOL009_schemas.yaml#/components/schemas/Link' LogmNotificationsFilter: description: >- @@ -1083,13 +1083,13 @@ components: manoEntityId: description: >- If present, match the NFV-MANO functional entity with an instance identifier listed in this attribute. - $ref: '../definitions/SOL009_def.yaml#/definitions/Identifier' + $ref: '../components/SOL009_schemas.yaml#/components/schemas/Identifier' manoServiceIds: description: >- If present, match NFV-MANO services with an instance identifier listed in this attribute. type: array items: - $ref: '../definitions/SOL009_def.yaml#/definitions/IdentifierInManoEntity' + $ref: '../components/SOL009_schemas.yaml#/components/schemas/IdentifierInManoEntity' manoServiceNames: description: >- If present, match NFV-MANO services with an NFV-MANO service name listed in this attribute. @@ -1102,7 +1102,7 @@ components: identifier listed in this attribute. type: array items: - $ref: '../definitions/SOL009_def.yaml#/definitions/IdentifierInManoEntity' + $ref: '../components/SOL009_schemas.yaml#/components/schemas/IdentifierInManoEntity' manoServiceInterfaceNames: description: >- If present, match NFV-MANO functional entity produced interfaces with an instance Name listed in @@ -1116,7 +1116,7 @@ components: listed in this attribute. type: array items: - $ref: '../definitions/SOL009_def.yaml#/definitions/Identifier' + $ref: '../components/SOL009_schemas.yaml#/components/schemas/Identifier' consumedManoInterfaceNames: description: >- If present, match NFV-MANO functional entity consumed interfaces with an instance Name @@ -1156,13 +1156,13 @@ components: id: description: >- Identifier of this log report. - $ref: '../definitions/SOL009_def.yaml#/definitions/Identifier' + $ref: '../components/SOL009_schemas.yaml#/components/schemas/Identifier' objectInstanceId: description: >- Identifiers of the object instance for which logging information is collected. This attribute shall contain the identifier of the instance of the object that is logged according to their type. - $ref: '#/components/schemas/ManoManagedObjectReference' + $ref: '../components/SOL009_schemas.yaml#/components/schemas/ManoManagedObjectReference' compilationTrigger: description: >- The trigger for the compilation of the log file. @@ -1175,11 +1175,11 @@ components: readyTime: description: >- The time when the report and log file was made available. - $ref: '../definitions/SOL009_def.yaml#/definitions/DateTime' + $ref: '../components/SOL009_schemas.yaml#/components/schemas/DateTime' expiryTime: description: >- The time when the report and log file will expire. - $ref: '../definitions/SOL009_def.yaml#/definitions/DateTime' + $ref: '../components/SOL009_schemas.yaml#/components/schemas/DateTime' fileSize: description: >- The size of the compiled log file in bytes, if known. @@ -1270,14 +1270,14 @@ components: self: description: >- URI of this resource. - $ref: '../definitions/SOL009_def.yaml#/definitions/Link' + $ref: '../components/SOL009_schemas.yaml#/components/schemas/Link' objects: description: >- Links to resources representing the object instances that are logged. Shall be present if the logged object instance information is accessible as a resource. type: array items: - $ref: '../definitions/SOL009_def.yaml#/definitions/Link' + $ref: '../components/SOL009_schemas.yaml#/components/schemas/Link' LogmSubscriptionRequest: description: >- @@ -1296,13 +1296,13 @@ components: callbackUri: description: > The URI of the endpoint to send the notification to. - $ref: "../definitions/SOL009_def.yaml#/definitions/Uri" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Uri" authentication: description: > Authentication parameters to configure the use of Authorization when sending notifications corresponding to this subscription, as defined in clause 8.3.4 of ETSI GS NFV-SOL 013. This attribute shall only be present if the subscriber requires authorization of notifications. - $ref: "../definitions/SOL009_def.yaml#/definitions/SubscriptionAuthentication" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/SubscriptionAuthentication" CreateLoggingJobRequest: description: >- @@ -1322,7 +1322,7 @@ components: type: array minItems: 1 items: - $ref: "#/components/schemas/ManoManagedObjectReference" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ManoManagedObjectReference" jobCriteria: description: >- Criteria of the collection of logging information. @@ -1332,57 +1332,6 @@ components: Configuration about the logging job. $ref: "#/components/schemas/LoggingJobConfig" - ManoManagedObjectReference: - description: >- - This type represents the identifier to reference a managed object of a particular type. - It shall comply with the provisions defined in Table 4.3.2.3-1. - type: object - required: - - type - - objectId - properties: - type: - description: >- - Indicates the type of managed object. - - Permitted values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - type: string - enum: [MANO_ENTITY, MANO_SERVICE, MANO_SERVICE_IF, CONSUMED_MANO_IF, MANO_ENTITY_COMPONENT] - objectId: - description: >- - Identifier of the managed object. - - - If type="MANO_ENTITY", it corresponds to the value of the attribute "id" of the "ManoEntity" - representing an NFV-MANO functional entity. - - If type="MANO_SERVICE", it corresponds to the value of the attribute "id" of the "ManoEntity" - representing the NFV-MANO functional entity that contains the "ManoService" sub-object. - - If type="MANO_SERVICE_IF", it corresponds to the value of the attribute "id" of the - "ManoServiceInterface" representing the NFV-MANO functional entity that contains the - "ManoServiceInterface" sub-object. - - If type="CONSUMED_MANO_IF", the value corresponds to the value of the attribute "id" of the - "ConsumedManoInterfaceInfo" representing a consumed NFV-MANO service interface from a peer - functional entity. - - If type="MANO_ENTITY_COMPONENT", the value corresponds to the value of the attribute "id" of the - "ManoEntity" representing the NFV-MANO functional entity that contains - $ref: '../definitions/SOL009_def.yaml#/definitions/Identifier' - subObjectId: - description: >- - Identifier of the managed sub-object. It shall be present if type equals to "MANO_SERVICE" or - "MANO_SERVICE_IF" or "MANO_ENTITY_COMPONENT". - - - If type="MANO_SERVICE", it corresponds to the value of the attribute "id" of the "ManoService" - representing an individual NFV-MANO service. - - If type="MANO_SERVICE_IF", it corresponds to the value of the attribute "id" of the "ManoServiceInterface" - representing an individual NFV-MANO service interface. - - If type="MANO_ENTITY_COMPONENT", it corresponds to the value of the attribute "id" of the "ManoEntityComponent" - representing an NFV-MANO functional entity component - $ref: '../definitions/SOL009_def.yaml#/definitions/IdentifierInManoEntity' - LoggingJob: description: >- This type represents a logging job. It shall comply with the provisions defined in table 8.6.2.6-1. @@ -1397,7 +1346,7 @@ components: id: description: >- Identifier of this logging job. - $ref: '../definitions/SOL009_def.yaml#/definitions/Identifier' + $ref: '../components/SOL009_schemas.yaml#/components/schemas/Identifier' objectInstanceIds: description: >- Identifiers of the object instance for which logging information is collected. This attribute shall @@ -1426,11 +1375,11 @@ components: logReportId: description: >- Identifier of the available log report. - $ref: '../definitions/SOL009_def.yaml#/definitions/Identifier' + $ref: '../components/SOL009_schemas.yaml#/components/schemas/Identifier' logReportLoc: description: >- Link to the available log report. - $ref: '../definitions/SOL009_def.yaml#/definitions/Link' + $ref: '../components/SOL009_schemas.yaml#/components/schemas/Link' _links: description: >- Links for this resource. @@ -1441,14 +1390,14 @@ components: self: description: >- URI of this resource. - $ref: '../definitions/SOL009_def.yaml#/definitions/Link' + $ref: '../components/SOL009_schemas.yaml#/components/schemas/Link' objects: description: >- Links to resources representing the object instances that are logged. Shall be present if the logged object instance information is accessible as a resource. type: array items: - $ref: '../definitions/SOL009_def.yaml#/definitions/Link' + $ref: '../components/SOL009_schemas.yaml#/components/schemas/Link' LoggingJobCriteria: description: >- @@ -1529,7 +1478,7 @@ components: description: >- IP address to match the source IP address of request messages to log. The API producer shall support this attribute. - $ref: '../definitions/SOL009_def.yaml#/definitions/IpAddress' + $ref: '../components/SOL009_schemas.yaml#/components/schemas/IpAddress' requestMethod: description: >- HTTP request method to be matched. To match, the HTTP request method of the message shall be the @@ -1547,7 +1496,7 @@ components: description: >- IP address to match the destination IP address of response messages to log. The API producer shall support this attribute - $ref: '../definitions/SOL009_def.yaml#/definitions/IpAddress' + $ref: '../components/SOL009_schemas.yaml#/components/schemas/IpAddress' responseCodes: description: >- HTTP response codes or patterns to match. A list of all valid HTTP response codes and their @@ -1610,7 +1559,7 @@ components: systemLogs: description: >- Values for the provider enabled system logs. - $ref: "../definitions/SOL009_def.yaml#/definitions/KeyValuePairs" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/KeyValuePairs" severityLevelScheme: description: >- Identifies a severity level scheme. @@ -1639,12 +1588,12 @@ components: description: >- Specifies the time for the logging job to be started. If not provided, the logging job is requested to start immediately. - $ref: "../definitions/SOL009_def.yaml#/definitions/DateTime" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/DateTime" endTime: description: >- Specifies the time after which the logging job will stop. Shall only be provided if the logging job is requested to stop at a specific time. - $ref: "../definitions/SOL009_def.yaml#/definitions/DateTime" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/DateTime" reportingCondition: description: >- Specifies the condition under which the producer will report to the consumer about the compiled log data. diff --git a/src/SOL009/NFVManoLogManagementNotification/NFVManoLogManagementNotification.yaml b/src/SOL009/NFVManoLogManagementNotification/NFVManoLogManagementNotification.yaml index e56fdbb..8181ba1 100644 --- a/src/SOL009/NFVManoLogManagementNotification/NFVManoLogManagementNotification.yaml +++ b/src/SOL009/NFVManoLogManagementNotification/NFVManoLogManagementNotification.yaml @@ -202,7 +202,7 @@ components: 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/SOL009_def.yaml#/definitions/Identifier' + $ref: '../components/SOL009_schemas.yaml#/components/schemas/Identifier' notificationType: description: >- Discriminator for the different notification types. @@ -211,16 +211,16 @@ components: subscriptionId: description: >- Identifier of the subscription that this notification relates to. - $ref: '../definitions/SOL009_def.yaml#/definitions/Identifier' + $ref: '../components/SOL009_schemas.yaml#/components/schemas/Identifier' timeStamp: description: >- Date and time of the generation of the notification. - $ref: '../definitions/SOL009_def.yaml#/definitions/DateTime' + $ref: '../components/SOL009_schemas.yaml#/components/schemas/DateTime' objectInstanceId: description: >- Identifier that identifies the object instance for which the log report is available. This attribute shall contain the identifier of the logged object according to their type. - $ref: "../NFVManoLogManagement/NFVManoLogManagement.yaml#/components/schemas/ManoManagedObjectReference" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ManoManagedObjectReference" _links: description: >- Links to resources related to this notification. @@ -232,16 +232,16 @@ components: subscription: description: >- Link to the related subscription. - $ref: '../definitions/SOL009_def.yaml#/definitions/NotificationLink' + $ref: '../components/SOL009_schemas.yaml#/components/schemas/NotificationLink' objectInstance: description: >- Link to the resource representing the measured object instance to which the notified change applies. Shall be present if the measured object instance information is accessible as a resource. - $ref: '../definitions/SOL009_def.yaml#/definitions/NotificationLink' + $ref: '../components/SOL009_schemas.yaml#/components/schemas/NotificationLink' LoggingJob: description: >- Link to the resource that represents the logging job for which the log report is available. - $ref: '../definitions/SOL009_def.yaml#/definitions/NotificationLink' + $ref: '../components/SOL009_schemas.yaml#/components/schemas/NotificationLink' logReports: description: >- Link from which the available log report can be obtained. Due to the relationship of the logging @@ -249,4 +249,4 @@ components: notification link can be provided. type: array items: - $ref: '../definitions/SOL009_def.yaml#/definitions/NotificationLink' + $ref: '../components/SOL009_schemas.yaml#/components/schemas/NotificationLink' diff --git a/src/SOL009/components/SOL009_schemas.yaml b/src/SOL009/components/SOL009_schemas.yaml index f1776c8..1559f0f 100644 --- a/src/SOL009/components/SOL009_schemas.yaml +++ b/src/SOL009/components/SOL009_schemas.yaml @@ -445,4 +445,5 @@ components: problem. It may yield further information if dereferenced. type: string format: URI - #TODO: How to express "any additional attributes"? \ No newline at end of file + #TODO: How to express "any additional attributes"? + diff --git a/src/SOL009/endpoints/SOL009_endpoints.yaml b/src/SOL009/endpoints/SOL009_endpoints.yaml index c60fb8e..49a1486 100644 --- a/src/SOL009/endpoints/SOL009_endpoints.yaml +++ b/src/SOL009/endpoints/SOL009_endpoints.yaml @@ -34,7 +34,7 @@ endpoints: content: application/json: schema: - $ref: '../definitions/SOL009_def.yaml#/definitions/ApiVersionInformation' + $ref: '../components/SOL009_schemas.yaml#/components/schemas/ApiVersionInformation' headers: Content-Type: description: The MIME type of the body of the response. diff --git a/src/SOL009/responses/SOL009_resp.yaml b/src/SOL009/responses/SOL009_resp.yaml index bc50721..fad944b 100644 --- a/src/SOL009/responses/SOL009_resp.yaml +++ b/src/SOL009/responses/SOL009_resp.yaml @@ -39,7 +39,7 @@ responses: content: application/json: schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" 303: description: > @@ -122,7 +122,7 @@ responses: content: application/json: schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" 401: description: > @@ -158,7 +158,7 @@ responses: content: application/json: schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" 403: description: > @@ -194,7 +194,7 @@ responses: content: application/json: schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" 404: description: > @@ -235,7 +235,7 @@ responses: content: application/json: schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" 405: description: > @@ -269,7 +269,7 @@ responses: content: application/json: schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" 406: description: > @@ -304,7 +304,7 @@ responses: content: application/json: schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" 409: description: > @@ -335,7 +335,7 @@ responses: content: application/json: schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" 412: description: > @@ -371,7 +371,7 @@ responses: content: application/json: schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" 413: description: > @@ -406,7 +406,7 @@ responses: content: application/json: schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" 414: description: > @@ -441,7 +441,7 @@ responses: content: application/json: schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" 416: description: > @@ -472,7 +472,7 @@ responses: content: application/json: schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" 422: description: > @@ -510,7 +510,7 @@ responses: content: application/json: schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" 429: description: > @@ -550,7 +550,7 @@ responses: content: application/json: schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" 500: description: > @@ -586,7 +586,7 @@ responses: content: application/json: schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" 503: description: > @@ -622,7 +622,7 @@ responses: content: application/json: schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" 504: description: > @@ -657,4 +657,4 @@ responses: content: application/json: schema: - $ref: "../definitions/SOL009_def.yaml#/definitions/ProblemDetails" \ No newline at end of file + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" \ No newline at end of file -- GitLab From 909feccce8ee70b90e298b73a6ccaeb0e8b0d598 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Fri, 15 Nov 2019 16:06:55 +0100 Subject: [PATCH 24/55] fix --- src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml index cac8fd9..a91fac5 100644 --- a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml +++ b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml @@ -1353,7 +1353,7 @@ components: contain the identifier of the instance of the object that is logged according to their type. type: array items: - $ref: "#/components/schemas/ManoManagedObjectReference" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ManoManagedObjectReference" jobCriteria: description: >- Criteria of the collection of logging information. -- GitLab From 9e39a1ae6dc7526c02cece2362a2570081324f24 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Fri, 15 Nov 2019 16:07:55 +0100 Subject: [PATCH 25/55] fix --- src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml index a91fac5..9fe0565 100644 --- a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml +++ b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml @@ -1137,7 +1137,7 @@ components: value shall correspond to an object instance for which log data is being collected as specified in the corresponding "LoggingJob". If not present, the compile log request is requested for all managed object instances associated to the logging job. - $ref: "#/components/schemas/ManoManagedObjectReference" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ManoManagedObjectReference" LogReport: description: > This type represents a log report, which provides information about a compiled log and how to obtain it. -- GitLab From a6597270a3cf70bb9a0be2f5e8768d56971dcee6 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Fri, 15 Nov 2019 16:17:38 +0100 Subject: [PATCH 26/55] updated common responses --- ...ConfigurationAndInformationManagement.yaml | 346 ++++----- .../NFVManoFaultManagement.yaml | 146 ++-- .../NFVManoFaultManagementNotification.yaml | 84 +-- .../NFVManoLogManagement.yaml | 194 +++--- .../NFVManoLogManagementNotification.yaml | 40 +- .../NFVManoPerformanceManagement.yaml | 254 +++---- src/SOL009/components/SOL009_resp.yaml | 658 +++++++++++++++++- src/SOL009/endpoints/SOL009_endpoints.yaml | 28 +- 8 files changed, 1203 insertions(+), 547 deletions(-) diff --git a/src/SOL009/NFVManoConfigurationAndInformationManagement/NFVManoConfigurationAndInformationManagement.yaml b/src/SOL009/NFVManoConfigurationAndInformationManagement/NFVManoConfigurationAndInformationManagement.yaml index 3d62d5a..5c8ef40 100644 --- a/src/SOL009/NFVManoConfigurationAndInformationManagement/NFVManoConfigurationAndInformationManagement.yaml +++ b/src/SOL009/NFVManoConfigurationAndInformationManagement/NFVManoConfigurationAndInformationManagement.yaml @@ -45,25 +45,25 @@ paths: "200": $ref: "#/components/responses/mano_entity.get.200" "400": - $ref: ../responses/SOL009_resp.yaml#/responses/400 + $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: ../components/SOL009_resp.yaml#/components/responses/404 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL009_resp.yaml#/responses/422 + $ref: ../components/SOL009_resp.yaml#/components/responses/422 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: ../components/SOL009_resp.yaml#/components/responses/504 patch: description: > Modifies the NFV-MANO entity resource. @@ -87,25 +87,25 @@ paths: "412": $ref: "#/components/responses/mano_entity.patch.412" "400": - $ref: ../responses/SOL009_resp.yaml#/responses/400 + $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: ../components/SOL009_resp.yaml#/components/responses/404 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL009_resp.yaml#/responses/422 + $ref: ../components/SOL009_resp.yaml#/components/responses/422 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: ../components/SOL009_resp.yaml#/components/responses/504 /mano_entity/change_state: post: @@ -128,25 +128,25 @@ paths: "409": $ref: "#/components/responses/mano_entity-change_state.post.409" "400": - $ref: ../responses/SOL009_resp.yaml#/responses/400 + $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: ../components/SOL009_resp.yaml#/components/responses/404 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL009_resp.yaml#/responses/422 + $ref: ../components/SOL009_resp.yaml#/components/responses/422 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: ../components/SOL009_resp.yaml#/components/responses/504 /mano_entity/mano_interfaces: get: @@ -172,23 +172,23 @@ paths: "400": $ref: "#/components/responses/mano_entity-mano_interfaces.get.400" "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: ../components/SOL009_resp.yaml#/components/responses/404 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL009_resp.yaml#/responses/422 + $ref: ../components/SOL009_resp.yaml#/components/responses/422 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: ../components/SOL009_resp.yaml#/components/responses/504 /mano_entity/mano_interfaces/{manoServiceInterfaceId}: get: description: > @@ -207,23 +207,23 @@ paths: "200": $ref: "#/components/responses/mano_entity-mano_interface.get.200" "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: ../components/SOL009_resp.yaml#/components/responses/404 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL009_resp.yaml#/responses/422 + $ref: ../components/SOL009_resp.yaml#/components/responses/422 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: ../components/SOL009_resp.yaml#/components/responses/504 patch: description: > Modifies an "Individual NFV-MANO service interface" resource. @@ -250,25 +250,25 @@ paths: "412": $ref: "#/components/responses/mano_entity-mano_interface.patch.412" "400": - $ref: ../responses/SOL009_resp.yaml#/responses/400 + $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: ../components/SOL009_resp.yaml#/components/responses/404 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL009_resp.yaml#/responses/422 + $ref: ../components/SOL009_resp.yaml#/components/responses/422 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: ../components/SOL009_resp.yaml#/components/responses/504 /mano_entity/mano_interfaces/{manoServiceInterfaceId}/change_state: post: @@ -291,25 +291,25 @@ paths: "409": $ref: "#/components/responses/mano_entity-mano_interface-change_state.post.409" "400": - $ref: ../responses/SOL009_resp.yaml#/responses/400 + $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: ../components/SOL009_resp.yaml#/components/responses/404 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL009_resp.yaml#/responses/422 + $ref: ../components/SOL009_resp.yaml#/components/responses/422 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: ../components/SOL009_resp.yaml#/components/responses/504 /subscriptions: post: @@ -331,25 +331,25 @@ paths: "303": $ref: "#/components/responses/subscriptions.post.303" "400": - $ref: ../responses/SOL009_resp.yaml#/responses/400 + $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: ../components/SOL009_resp.yaml#/components/responses/404 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL009_resp.yaml#/responses/422 + $ref: ../components/SOL009_resp.yaml#/components/responses/422 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: ../components/SOL009_resp.yaml#/components/responses/504 get: description: > queries the list of active subscriptions of the API consumer that @@ -371,23 +371,23 @@ paths: "400": $ref: "#/components/responses/subscriptions.get.400" "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: ../components/SOL009_resp.yaml#/components/responses/404 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL009_resp.yaml#/responses/422 + $ref: ../components/SOL009_resp.yaml#/components/responses/422 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: ../components/SOL009_resp.yaml#/components/responses/504 /subscriptions/{subscriptionId}: get: @@ -406,25 +406,25 @@ paths: "200": $ref: "#/components/responses/subscription.get.200" "400": - $ref: ../responses/SOL009_resp.yaml#/responses/400 + $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: ../components/SOL009_resp.yaml#/components/responses/404 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL009_resp.yaml#/responses/422 + $ref: ../components/SOL009_resp.yaml#/components/responses/422 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: ../components/SOL009_resp.yaml#/components/responses/504 delete: description: > Terminates an individual subscription. @@ -440,25 +440,25 @@ paths: "204": $ref: "#/components/responses/subscription.delete.204" "400": - $ref: ../responses/SOL009_resp.yaml#/responses/400 + $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: ../components/SOL009_resp.yaml#/components/responses/404 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL009_resp.yaml#/responses/422 + $ref: ../components/SOL009_resp.yaml#/components/responses/422 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: ../components/SOL009_resp.yaml#/components/responses/504 /change_state_ops: get: @@ -485,23 +485,23 @@ paths: "400": $ref: "#/components/responses/change_state_ops.get.400" "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: ../components/SOL009_resp.yaml#/components/responses/404 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL009_resp.yaml#/responses/422 + $ref: ../components/SOL009_resp.yaml#/components/responses/422 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: ../components/SOL009_resp.yaml#/components/responses/504 /change_state_ops/{changeStateOpOccId}: get: @@ -521,25 +521,25 @@ paths: "200": $ref: "#/components/responses/change_state_op.get.200" "400": - $ref: ../responses/SOL009_resp.yaml#/responses/400 + $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: ../components/SOL009_resp.yaml#/components/responses/404 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL009_resp.yaml#/responses/422 + $ref: ../components/SOL009_resp.yaml#/components/responses/422 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: ../components/SOL009_resp.yaml#/components/responses/504 /peer_entities: post: @@ -561,25 +561,25 @@ paths: "201": $ref: "#/components/responses/peer_entities.post.201" "400": - $ref: ../responses/SOL009_resp.yaml#/responses/400 + $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: ../components/SOL009_resp.yaml#/components/responses/404 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL009_resp.yaml#/responses/422 + $ref: ../components/SOL009_resp.yaml#/components/responses/422 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: ../components/SOL009_resp.yaml#/components/responses/504 get: description: > Queries information and configuration in the producer NFV-MANO @@ -604,23 +604,23 @@ paths: "400": $ref: "#/components/responses/peer_entities.get.400" "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: ../components/SOL009_resp.yaml#/components/responses/404 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL009_resp.yaml#/responses/422 + $ref: ../components/SOL009_resp.yaml#/components/responses/422 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: ../components/SOL009_resp.yaml#/components/responses/504 /peer_entities/{peerEntityId}: get: @@ -640,25 +640,25 @@ paths: "200": $ref: "#/components/responses/peer_entitie.get.200" "400": - $ref: ../responses/SOL009_resp.yaml#/responses/400 + $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: ../components/SOL009_resp.yaml#/components/responses/404 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL009_resp.yaml#/responses/422 + $ref: ../components/SOL009_resp.yaml#/components/responses/422 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: ../components/SOL009_resp.yaml#/components/responses/504 patch: description: > Modifies configuration and information of the producer NFV-MANO @@ -687,23 +687,23 @@ paths: "412": $ref: "#/components/responses/peer_entitie.patch.412" "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: ../components/SOL009_resp.yaml#/components/responses/404 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL009_resp.yaml#/responses/422 + $ref: ../components/SOL009_resp.yaml#/components/responses/422 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: ../components/SOL009_resp.yaml#/components/responses/504 delete: description: > Ddeletes an individual peer entity resource. By deleting such @@ -730,23 +730,23 @@ paths: "412": $ref: "#/components/responses/peer_entitie.delete.412" "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: ../components/SOL009_resp.yaml#/components/responses/404 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL009_resp.yaml#/responses/422 + $ref: ../components/SOL009_resp.yaml#/components/responses/422 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: ../components/SOL009_resp.yaml#/components/responses/504 components: schemas: diff --git a/src/SOL009/NFVManoFaultManagement/NFVManoFaultManagement.yaml b/src/SOL009/NFVManoFaultManagement/NFVManoFaultManagement.yaml index aa54929..a287970 100644 --- a/src/SOL009/NFVManoFaultManagement/NFVManoFaultManagement.yaml +++ b/src/SOL009/NFVManoFaultManagement/NFVManoFaultManagement.yaml @@ -118,25 +118,25 @@ paths: items: $ref: definitions/SOL009NFVManoFaultManagement_def.yaml#/definitions/Alarm "400": - $ref: ../responses/SOL009_resp.yaml#/responses/400 + $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: ../components/SOL009_resp.yaml#/components/responses/404 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL009_resp.yaml#/responses/422 + $ref: ../components/SOL009_resp.yaml#/components/responses/422 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: ../components/SOL009_resp.yaml#/components/responses/504 "/alarms/{alarmId}": parameters: - name: alarmId @@ -207,25 +207,25 @@ paths: schema: $ref: definitions/SOL009NFVManoFaultManagement_def.yaml#/definitions/Alarm "400": - $ref: ../responses/SOL009_resp.yaml#/responses/400 + $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: ../components/SOL009_resp.yaml#/components/responses/404 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL009_resp.yaml#/responses/422 + $ref: ../components/SOL009_resp.yaml#/components/responses/422 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: ../components/SOL009_resp.yaml#/components/responses/504 patch: description: > This method modifies an "Individual alarm" resource. This method shall @@ -305,29 +305,29 @@ paths: schema: $ref: definitions/SOL009NFVManoFaultManagement_def.yaml#/definitions/AlarmModifications "400": - $ref: ../responses/SOL009_resp.yaml#/responses/400 + $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: ../components/SOL009_resp.yaml#/components/responses/404 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "409": - $ref: ../responses/SOL009_resp.yaml#/responses/409 + $ref: ../components/SOL009_resp.yaml#/components/responses/409 "412": - $ref: ../responses/SOL009_resp.yaml#/responses/412 + $ref: ../components/SOL009_resp.yaml#/components/responses/412 "422": - $ref: ../responses/SOL009_resp.yaml#/responses/422 + $ref: ../components/SOL009_resp.yaml#/components/responses/422 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: ../components/SOL009_resp.yaml#/components/responses/504 /subscriptions: post: description: > @@ -427,27 +427,27 @@ paths: schema: $ref: definitions/SOL009NFVManoFaultManagement_def.yaml#/definitions/FmSubscription "303": - $ref: ../responses/SOL009_resp.yaml#/responses/303 + $ref: ../components/SOL009_resp.yaml#/components/responses/303 "400": - $ref: ../responses/SOL009_resp.yaml#/responses/400 + $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: ../components/SOL009_resp.yaml#/components/responses/404 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL009_resp.yaml#/responses/422 + $ref: ../components/SOL009_resp.yaml#/components/responses/422 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: ../components/SOL009_resp.yaml#/components/responses/504 get: description: > Query Subscription Information @@ -560,25 +560,25 @@ paths: schema: $ref: definitions/SOL009NFVManoFaultManagement_def.yaml#/definitions/FmSubscription "400": - $ref: ../responses/SOL009_resp.yaml#/responses/400 + $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: ../components/SOL009_resp.yaml#/components/responses/404 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL009_resp.yaml#/responses/422 + $ref: ../components/SOL009_resp.yaml#/components/responses/422 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: ../components/SOL009_resp.yaml#/components/responses/504 "/subscriptions/{subscriptionId}": parameters: - name: subscriptionId @@ -666,25 +666,25 @@ paths: schema: $ref: definitions/SOL009NFVManoFaultManagement_def.yaml#/definitions/FmSubscription "400": - $ref: ../responses/SOL009_resp.yaml#/responses/400 + $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: ../components/SOL009_resp.yaml#/components/responses/404 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL009_resp.yaml#/responses/422 + $ref: ../components/SOL009_resp.yaml#/components/responses/422 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: ../components/SOL009_resp.yaml#/components/responses/504 delete: description: > Terminate Subscription. This method terminates an individual @@ -737,23 +737,23 @@ paths: minimum: 1 maximum: 1 "400": - $ref: ../responses/SOL009_resp.yaml#/responses/400 + $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: ../components/SOL009_resp.yaml#/components/responses/404 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL009_resp.yaml#/responses/422 + $ref: ../components/SOL009_resp.yaml#/components/responses/422 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: ../components/SOL009_resp.yaml#/components/responses/504 diff --git a/src/SOL009/NFVManoFaultManagementNotification/NFVManoFaultManagementNotification.yaml b/src/SOL009/NFVManoFaultManagementNotification/NFVManoFaultManagementNotification.yaml index 285b37c..bb5e188 100644 --- a/src/SOL009/NFVManoFaultManagementNotification/NFVManoFaultManagementNotification.yaml +++ b/src/SOL009/NFVManoFaultManagementNotification/NFVManoFaultManagementNotification.yaml @@ -88,19 +88,19 @@ paths: minimum: 1 maximum: 1 "400": - $ref: ../responses/SOL009_resp.yaml#/responses/400 + $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 get: description: > The GET method allows the server to test the notification endpoint that @@ -148,19 +148,19 @@ paths: minimum: 1 maximum: 1 "400": - $ref: ../responses/SOL009_resp.yaml#/responses/400 + $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 /URI-is-provided-by-the-client-when-creating-the-subscription-AlarmClearedNotification: post: description: > @@ -225,19 +225,19 @@ paths: minimum: 1 maximum: 1 "400": - $ref: ../responses/SOL009_resp.yaml#/responses/400 + $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 get: description: > The GET method allows the server to test the notification endpoint that @@ -285,19 +285,19 @@ paths: minimum: 1 maximum: 1 "400": - $ref: ../responses/SOL009_resp.yaml#/responses/400 + $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 /URI-is-provided-by-the-client-when-creating-the-subscription-AlarmListRebuiltNotification: post: description: > @@ -363,19 +363,19 @@ paths: minimum: 1 maximum: 1 "400": - $ref: ../responses/SOL009_resp.yaml#/responses/400 + $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 get: description: > The GET method allows the server to test the notification endpoint that @@ -422,17 +422,17 @@ paths: minimum: 1 maximum: 1 "400": - $ref: ../responses/SOL009_resp.yaml#/responses/400 + $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 diff --git a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml index 9fe0565..75e0789 100644 --- a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml +++ b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml @@ -46,25 +46,25 @@ paths: "201": $ref: '#/components/responses/LoggingJob.Post' "400": - $ref: ../responses/SOL009_resp.yaml#/responses/400 + $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: ../components/SOL009_resp.yaml#/components/responses/404 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL009_resp.yaml#/responses/422 + $ref: ../components/SOL009_resp.yaml#/components/responses/422 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: ../components/SOL009_resp.yaml#/components/responses/504 get: description: >- The API consumer can use this method to retrieve information about logging jobs. @@ -84,25 +84,25 @@ paths: "200": $ref: '#/components/responses/LoggingJobs.Get' "400": - $ref: ../responses/SOL009_resp.yaml#/responses/400 + $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: ../components/SOL009_resp.yaml#/components/responses/404 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL009_resp.yaml#/responses/422 + $ref: ../components/SOL009_resp.yaml#/components/responses/422 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: ../components/SOL009_resp.yaml#/components/responses/504 "/log_jobs/{logJobId}": description: >- @@ -123,25 +123,25 @@ paths: "200": $ref: '#/components/responses/LoggingJob.Get' "400": - $ref: ../responses/SOL009_resp.yaml#/responses/400 + $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: ../components/SOL009_resp.yaml#/components/responses/404 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL009_resp.yaml#/responses/422 + $ref: ../components/SOL009_resp.yaml#/components/responses/422 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: ../components/SOL009_resp.yaml#/components/responses/504 delete: description: >- @@ -157,25 +157,25 @@ paths: "204": $ref: '#/components/responses/LoggingJob.Delete' "400": - $ref: '../responses/SOL009_resp.yaml#/responses/400' + $ref: '../components/SOL009_resp.yaml#/components/responses/400' "401": - $ref: '../responses/SOL009_resp.yaml#/responses/401' + $ref: '../components/SOL009_resp.yaml#/components/responses/401' "403": - $ref: '../responses/SOL009_resp.yaml#/responses/403' + $ref: '../components/SOL009_resp.yaml#/components/responses/403' "404": - $ref: '../responses/SOL009_resp.yaml#/responses/404' + $ref: '../components/SOL009_resp.yaml#/components/responses/404' "405": - $ref: '../responses/SOL009_resp.yaml#/responses/405' + $ref: '../components/SOL009_resp.yaml#/components/responses/405' "406": - $ref: '../responses/SOL009_resp.yaml#/responses/406' + $ref: '../components/SOL009_resp.yaml#/components/responses/406' "422": - $ref: '../responses/SOL009_resp.yaml#/responses/422' + $ref: '../components/SOL009_resp.yaml#/components/responses/422' "500": - $ref: '../responses/SOL009_resp.yaml#/responses/500' + $ref: '../components/SOL009_resp.yaml#/components/responses/500' "503": - $ref: '../responses/SOL009_resp.yaml#/responses/503' + $ref: '../components/SOL009_resp.yaml#/components/responses/503' "504": - $ref: '../responses/SOL009_resp.yaml#/responses/504' + $ref: '../components/SOL009_resp.yaml#/components/responses/504' "/log_jobs/{logJobId}/log_reports/{logReportId}": description: >- @@ -201,25 +201,25 @@ paths: "202": $ref: '#/components/responses/LogReport.Get.202' "400": - $ref: '../responses/SOL009_resp.yaml#/responses/400' + $ref: '../components/SOL009_resp.yaml#/components/responses/400' "401": - $ref: '../responses/SOL009_resp.yaml#/responses/401' + $ref: '../components/SOL009_resp.yaml#/components/responses/401' "403": - $ref: '../responses/SOL009_resp.yaml#/responses/403' + $ref: '../components/SOL009_resp.yaml#/components/responses/403' "404": - $ref: '../responses/SOL009_resp.yaml#/responses/404' + $ref: '../components/SOL009_resp.yaml#/components/responses/404' "405": - $ref: '../responses/SOL009_resp.yaml#/responses/405' + $ref: '../components/SOL009_resp.yaml#/components/responses/405' "406": - $ref: '../responses/SOL009_resp.yaml#/responses/406' + $ref: '../components/SOL009_resp.yaml#/components/responses/406' "422": - $ref: '../responses/SOL009_resp.yaml#/responses/422' + $ref: '../components/SOL009_resp.yaml#/components/responses/422' "500": - $ref: '../responses/SOL009_resp.yaml#/responses/500' + $ref: '../components/SOL009_resp.yaml#/components/responses/500' "503": - $ref: '../responses/SOL009_resp.yaml#/responses/503' + $ref: '../components/SOL009_resp.yaml#/components/responses/503' "504": - $ref: '../responses/SOL009_resp.yaml#/responses/504' + $ref: '../components/SOL009_resp.yaml#/components/responses/504' "/log_jobs/{logJobId}/compile_log": description: >- @@ -253,23 +253,23 @@ paths: "422": $ref: '#/components/responses/LogReportCompiled.422' "400": - $ref: '../responses/SOL009_resp.yaml#/responses/400' + $ref: '../components/SOL009_resp.yaml#/components/responses/400' "401": - $ref: '../responses/SOL009_resp.yaml#/responses/401' + $ref: '../components/SOL009_resp.yaml#/components/responses/401' "403": - $ref: '../responses/SOL009_resp.yaml#/responses/403' + $ref: '../components/SOL009_resp.yaml#/components/responses/403' "404": - $ref: '../responses/SOL009_resp.yaml#/responses/404' + $ref: '../components/SOL009_resp.yaml#/components/responses/404' "405": - $ref: '../responses/SOL009_resp.yaml#/responses/405' + $ref: '../components/SOL009_resp.yaml#/components/responses/405' "406": - $ref: '../responses/SOL009_resp.yaml#/responses/406' + $ref: '../components/SOL009_resp.yaml#/components/responses/406' "500": - $ref: '../responses/SOL009_resp.yaml#/responses/500' + $ref: '../components/SOL009_resp.yaml#/components/responses/500' "503": - $ref: '../responses/SOL009_resp.yaml#/responses/503' + $ref: '../components/SOL009_resp.yaml#/components/responses/503' "504": - $ref: '../responses/SOL009_resp.yaml#/responses/504' + $ref: '../components/SOL009_resp.yaml#/components/responses/504' "/subscriptions": description: >- @@ -301,25 +301,25 @@ paths: "303": $ref: '#/components/responses/LogmSubscription.303' "422": - $ref: '../responses/SOL009_resp.yaml#/responses/422' + $ref: '../components/SOL009_resp.yaml#/components/responses/422' "400": - $ref: '../responses/SOL009_resp.yaml#/responses/400' + $ref: '../components/SOL009_resp.yaml#/components/responses/400' "401": - $ref: '../responses/SOL009_resp.yaml#/responses/401' + $ref: '../components/SOL009_resp.yaml#/components/responses/401' "403": - $ref: '../responses/SOL009_resp.yaml#/responses/403' + $ref: '../components/SOL009_resp.yaml#/components/responses/403' "404": - $ref: '../responses/SOL009_resp.yaml#/responses/404' + $ref: '../components/SOL009_resp.yaml#/components/responses/404' "405": - $ref: '../responses/SOL009_resp.yaml#/responses/405' + $ref: '../components/SOL009_resp.yaml#/components/responses/405' "406": - $ref: '../responses/SOL009_resp.yaml#/responses/406' + $ref: '../components/SOL009_resp.yaml#/components/responses/406' "500": - $ref: '../responses/SOL009_resp.yaml#/responses/500' + $ref: '../components/SOL009_resp.yaml#/components/responses/500' "503": - $ref: '../responses/SOL009_resp.yaml#/responses/503' + $ref: '../components/SOL009_resp.yaml#/components/responses/503' "504": - $ref: '../responses/SOL009_resp.yaml#/responses/504' + $ref: '../components/SOL009_resp.yaml#/components/responses/504' get: description: >- The API consumer can use this method to query the list of active subscriptions to log management @@ -337,23 +337,23 @@ paths: "200": $ref: '#/components/responses/LogmSubscriptions' "400": - $ref: '../responses/SOL009_resp.yaml#/responses/400' + $ref: '../components/SOL009_resp.yaml#/components/responses/400' "401": - $ref: '../responses/SOL009_resp.yaml#/responses/401' + $ref: '../components/SOL009_resp.yaml#/components/responses/401' "403": - $ref: '../responses/SOL009_resp.yaml#/responses/403' + $ref: '../components/SOL009_resp.yaml#/components/responses/403' "404": - $ref: '../responses/SOL009_resp.yaml#/responses/404' + $ref: '../components/SOL009_resp.yaml#/components/responses/404' "405": - $ref: '../responses/SOL009_resp.yaml#/responses/405' + $ref: '../components/SOL009_resp.yaml#/components/responses/405' "406": - $ref: '../responses/SOL009_resp.yaml#/responses/406' + $ref: '../components/SOL009_resp.yaml#/components/responses/406' "500": - $ref: '../responses/SOL009_resp.yaml#/responses/500' + $ref: '../components/SOL009_resp.yaml#/components/responses/500' "503": - $ref: '../responses/SOL009_resp.yaml#/responses/503' + $ref: '../components/SOL009_resp.yaml#/components/responses/503' "504": - $ref: '../responses/SOL009_resp.yaml#/responses/504' + $ref: '../components/SOL009_resp.yaml#/components/responses/504' "/subscriptions/{subscriptionId}": description: >- @@ -376,23 +376,23 @@ paths: "200": $ref: '#/components/responses/LogmSubscription.Get' "400": - $ref: '../responses/SOL009_resp.yaml#/responses/400' + $ref: '../components/SOL009_resp.yaml#/components/responses/400' "401": - $ref: '../responses/SOL009_resp.yaml#/responses/401' + $ref: '../components/SOL009_resp.yaml#/components/responses/401' "403": - $ref: '../responses/SOL009_resp.yaml#/responses/403' + $ref: '../components/SOL009_resp.yaml#/components/responses/403' "404": - $ref: '../responses/SOL009_resp.yaml#/responses/404' + $ref: '../components/SOL009_resp.yaml#/components/responses/404' "405": - $ref: '../responses/SOL009_resp.yaml#/responses/405' + $ref: '../components/SOL009_resp.yaml#/components/responses/405' "406": - $ref: '../responses/SOL009_resp.yaml#/responses/406' + $ref: '../components/SOL009_resp.yaml#/components/responses/406' "500": - $ref: '../responses/SOL009_resp.yaml#/responses/500' + $ref: '../components/SOL009_resp.yaml#/components/responses/500' "503": - $ref: '../responses/SOL009_resp.yaml#/responses/503' + $ref: '../components/SOL009_resp.yaml#/components/responses/503' "504": - $ref: '../responses/SOL009_resp.yaml#/responses/504' + $ref: '../components/SOL009_resp.yaml#/components/responses/504' delete: description: >- @@ -411,25 +411,25 @@ paths: "204": $ref: '#/components/responses/LogmSubscription.Delete' "400": - $ref: '../responses/SOL009_resp.yaml#/responses/400' + $ref: '../components/SOL009_resp.yaml#/components/responses/400' "401": - $ref: '../responses/SOL009_resp.yaml#/responses/401' + $ref: '../components/SOL009_resp.yaml#/components/responses/401' "403": - $ref: '../responses/SOL009_resp.yaml#/responses/403' + $ref: '../components/SOL009_resp.yaml#/components/responses/403' "404": - $ref: '../responses/SOL009_resp.yaml#/responses/404' + $ref: '../components/SOL009_resp.yaml#/components/responses/404' "405": - $ref: '../responses/SOL009_resp.yaml#/responses/405' + $ref: '../components/SOL009_resp.yaml#/components/responses/405' "406": - $ref: '../responses/SOL009_resp.yaml#/responses/406' + $ref: '../components/SOL009_resp.yaml#/components/responses/406' "422": - $ref: '../responses/SOL009_resp.yaml#/responses/422' + $ref: '../components/SOL009_resp.yaml#/components/responses/422' "500": - $ref: '../responses/SOL009_resp.yaml#/responses/500' + $ref: '../components/SOL009_resp.yaml#/components/responses/500' "503": - $ref: '../responses/SOL009_resp.yaml#/responses/503' + $ref: '../components/SOL009_resp.yaml#/components/responses/503' "504": - $ref: '../responses/SOL009_resp.yaml#/responses/504' + $ref: '../components/SOL009_resp.yaml#/components/responses/504' components: parameters: diff --git a/src/SOL009/NFVManoLogManagementNotification/NFVManoLogManagementNotification.yaml b/src/SOL009/NFVManoLogManagementNotification/NFVManoLogManagementNotification.yaml index 8181ba1..be21078 100644 --- a/src/SOL009/NFVManoLogManagementNotification/NFVManoLogManagementNotification.yaml +++ b/src/SOL009/NFVManoLogManagementNotification/NFVManoLogManagementNotification.yaml @@ -48,25 +48,25 @@ paths: "204": $ref: '#/components/responses/LogReportAvailableNotification' "400": - $ref: '../responses/SOL009_resp.yaml#/responses/400' + $ref: '../components/SOL009_resp.yaml#/components/responses/400' "401": - $ref: '../responses/SOL009_resp.yaml#/responses/401' + $ref: '../components/SOL009_resp.yaml#/components/responses/401' "403": - $ref: '../responses/SOL009_resp.yaml#/responses/403' + $ref: '../components/SOL009_resp.yaml#/components/responses/403' "404": - $ref: '../responses/SOL009_resp.yaml#/responses/404' + $ref: '../components/SOL009_resp.yaml#/components/responses/404' "405": - $ref: '../responses/SOL009_resp.yaml#/responses/405' + $ref: '../components/SOL009_resp.yaml#/components/responses/405' "406": - $ref: '../responses/SOL009_resp.yaml#/responses/406' + $ref: '../components/SOL009_resp.yaml#/components/responses/406' "422": - $ref: '../responses/SOL009_resp.yaml#/responses/422' + $ref: '../components/SOL009_resp.yaml#/components/responses/422' "500": - $ref: '../responses/SOL009_resp.yaml#/responses/500' + $ref: '../components/SOL009_resp.yaml#/components/responses/500' "503": - $ref: '../responses/SOL009_resp.yaml#/responses/503' + $ref: '../components/SOL009_resp.yaml#/components/responses/503' "504": - $ref: '../responses/SOL009_resp.yaml#/responses/504' + $ref: '../components/SOL009_resp.yaml#/components/responses/504' get: description: >- @@ -82,25 +82,25 @@ paths: "204": $ref: '#/components/responses/LogReportNotification.Get' "400": - $ref: '../responses/SOL009_resp.yaml#/responses/400' + $ref: '../components/SOL009_resp.yaml#/components/responses/400' "401": - $ref: '../responses/SOL009_resp.yaml#/responses/401' + $ref: '../components/SOL009_resp.yaml#/components/responses/401' "403": - $ref: '../responses/SOL009_resp.yaml#/responses/403' + $ref: '../components/SOL009_resp.yaml#/components/responses/403' "404": - $ref: '../responses/SOL009_resp.yaml#/responses/404' + $ref: '../components/SOL009_resp.yaml#/components/responses/404' "405": - $ref: '../responses/SOL009_resp.yaml#/responses/405' + $ref: '../components/SOL009_resp.yaml#/components/responses/405' "406": - $ref: '../responses/SOL009_resp.yaml#/responses/406' + $ref: '../components/SOL009_resp.yaml#/components/responses/406' "422": - $ref: '../responses/SOL009_resp.yaml#/responses/422' + $ref: '../components/SOL009_resp.yaml#/components/responses/422' "500": - $ref: '../responses/SOL009_resp.yaml#/responses/500' + $ref: '../components/SOL009_resp.yaml#/components/responses/500' "503": - $ref: '../responses/SOL009_resp.yaml#/responses/503' + $ref: '../components/SOL009_resp.yaml#/components/responses/503' "504": - $ref: '../responses/SOL009_resp.yaml#/responses/504' + $ref: '../components/SOL009_resp.yaml#/components/responses/504' components: parameters: diff --git a/src/SOL009/NFVManoPerformanceManagement/NFVManoPerformanceManagement.yaml b/src/SOL009/NFVManoPerformanceManagement/NFVManoPerformanceManagement.yaml index 6fe53c2..2901626 100644 --- a/src/SOL009/NFVManoPerformanceManagement/NFVManoPerformanceManagement.yaml +++ b/src/SOL009/NFVManoPerformanceManagement/NFVManoPerformanceManagement.yaml @@ -49,25 +49,25 @@ paths: "201": $ref: "#/components/responses/pm_jobs.post.201" "400": - $ref: ../responses/SOL009_resp.yaml#/responses/400 + $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: ../components/SOL009_resp.yaml#/components/responses/404 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL009_resp.yaml#/responses/422 + $ref: ../components/SOL009_resp.yaml#/components/responses/422 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: ../components/SOL009_resp.yaml#/components/responses/504 get: description: > The client can use this method to retrieve information about PM jobs. @@ -87,23 +87,23 @@ paths: "400": $ref: "#/components/responses/pm_jobs.get.400" "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: ../components/SOL009_resp.yaml#/components/responses/404 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL009_resp.yaml#/responses/422 + $ref: ../components/SOL009_resp.yaml#/components/responses/422 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: ../components/SOL009_resp.yaml#/components/responses/504 /pm_jobs/{pmJobId}: get: @@ -117,25 +117,25 @@ paths: "200": $ref: "#/components/responses/pm_job.get.200" "400": - $ref: ../responses/SOL009_resp.yaml#/responses/400 + $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: ../components/SOL009_resp.yaml#/components/responses/404 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL009_resp.yaml#/responses/422 + $ref: ../components/SOL009_resp.yaml#/components/responses/422 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: ../components/SOL009_resp.yaml#/components/responses/504 delete: description: > This method terminates an individual PM job. @@ -147,25 +147,25 @@ paths: "204": $ref: "#/components/responses/pm_job.delete.204" "400": - $ref: ../responses/SOL009_resp.yaml#/responses/400 + $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: ../components/SOL009_resp.yaml#/components/responses/404 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL009_resp.yaml#/responses/422 + $ref: ../components/SOL009_resp.yaml#/components/responses/422 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: ../components/SOL009_resp.yaml#/components/responses/504 /pm_jobs/{pmJobId}/reports/{reportId}: get: @@ -180,25 +180,25 @@ paths: "200": $ref: "#/components/responses/pm_job.report.get.200" "400": - $ref: ../responses/SOL009_resp.yaml#/responses/400 + $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: ../components/SOL009_resp.yaml#/components/responses/404 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL009_resp.yaml#/responses/422 + $ref: ../components/SOL009_resp.yaml#/components/responses/422 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: ../components/SOL009_resp.yaml#/components/responses/504 /thresholds: post: @@ -214,25 +214,25 @@ paths: "201": $ref: "#/components/responses/thresholds.post.201" "400": - $ref: ../responses/SOL009_resp.yaml#/responses/400 + $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: ../components/SOL009_resp.yaml#/components/responses/404 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL009_resp.yaml#/responses/422 + $ref: ../components/SOL009_resp.yaml#/components/responses/422 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: ../components/SOL009_resp.yaml#/components/responses/504 get: description: > The client can use this method to query information about thresholds. @@ -248,23 +248,23 @@ paths: "400": $ref: "#/components/responses/thresholds.get.400" "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: ../components/SOL009_resp.yaml#/components/responses/404 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL009_resp.yaml#/responses/422 + $ref: ../components/SOL009_resp.yaml#/components/responses/422 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: ../components/SOL009_resp.yaml#/components/responses/504 /thresholds/{thresholdId}: get: @@ -278,25 +278,25 @@ paths: "200": $ref: "#/components/responses/threshold.get.200" "400": - $ref: ../responses/SOL009_resp.yaml#/responses/400 + $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: ../components/SOL009_resp.yaml#/components/responses/404 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL009_resp.yaml#/responses/422 + $ref: ../components/SOL009_resp.yaml#/components/responses/422 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: ../components/SOL009_resp.yaml#/components/responses/504 delete: description: > This method allows to delete a threshold. @@ -308,25 +308,25 @@ paths: "204": $ref: "#/components/responses/threshold.delete.204" "400": - $ref: ../responses/SOL009_resp.yaml#/responses/400 + $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: ../components/SOL009_resp.yaml#/components/responses/404 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL009_resp.yaml#/responses/422 + $ref: ../components/SOL009_resp.yaml#/components/responses/422 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: ../components/SOL009_resp.yaml#/components/responses/504 /subscriptions: post: @@ -344,25 +344,25 @@ paths: "303": $ref: "#/components/responses/subscriptions.post.303" "400": - $ref: ../responses/SOL009_resp.yaml#/responses/400 + $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: ../components/SOL009_resp.yaml#/components/responses/404 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL009_resp.yaml#/responses/422 + $ref: ../components/SOL009_resp.yaml#/components/responses/422 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: ../components/SOL009_resp.yaml#/components/responses/504 get: description: > The client can use this method to query the list of active subscriptions @@ -379,23 +379,23 @@ paths: "400": $ref: "#/components/responses/subscriptions.get.400" "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: ../components/SOL009_resp.yaml#/components/responses/404 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL009_resp.yaml#/responses/422 + $ref: ../components/SOL009_resp.yaml#/components/responses/422 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: ../components/SOL009_resp.yaml#/components/responses/504 /subscriptions/{subscriptionId}: get: @@ -410,25 +410,25 @@ paths: "200": $ref: "#/components/responses/subscription.get.200" "400": - $ref: ../responses/SOL009_resp.yaml#/responses/400 + $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: ../components/SOL009_resp.yaml#/components/responses/404 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL009_resp.yaml#/responses/422 + $ref: ../components/SOL009_resp.yaml#/components/responses/422 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: ../components/SOL009_resp.yaml#/components/responses/504 delete: description: > This method terminates an individual subscription. @@ -440,25 +440,25 @@ paths: "204": $ref: "#/components/responses/subscription.delete.204" "400": - $ref: ../responses/SOL009_resp.yaml#/responses/400 + $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: ../components/SOL009_resp.yaml#/components/responses/404 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL009_resp.yaml#/responses/422 + $ref: ../components/SOL009_resp.yaml#/components/responses/422 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: ../components/SOL009_resp.yaml#/components/responses/504 components: schemas: diff --git a/src/SOL009/components/SOL009_resp.yaml b/src/SOL009/components/SOL009_resp.yaml index b650294..bd62d2d 100644 --- a/src/SOL009/components/SOL009_resp.yaml +++ b/src/SOL009/components/SOL009_resp.yaml @@ -1,2 +1,658 @@ components: - responses: \ No newline at end of file + responses: + 206: + description: > + 206 PARTIAL CONTENT + headers: + Content-Type: + description: > + The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + Content-Range: + description: > + The Content-Range response HTTP header indicates where in a full body message a partial message belongs. + schema: + 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" + + 303: + description: > + 303 See Other + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + + 400: + description: > + 400 BAD REQUEST + + 400 code can be returned in the following specified cases, the specific cause has to be proper specified in the + "ProblemDetails" structure to be returned. + + If the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect + query parameters or the payload body contains a syntactically incorrect data structure), + the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided, + and should include in the "detail" attribute more information about the source of the problem. + + If the response to a GET request which queries a container resource would be so big that the performance + of the API producer is adversely affected, and the API producer does not support paging for the affected resource, + it shall respond with this response code. The "ProblemDetails" structure shall be provided, and should include + in the "detail" attribute more information about the source of the problem. + + If there is an application error related to the client's input that cannot be easily mapped to any other + HTTP response code ("catch all error"), the API producer shall respond with this response code. + The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information + about the source of the problem. + + If the request contains a malformed access token, the API producer should respond with this response. + The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 + and IETF RFC 7235. The ProblemDetails structure may be provided. + + The use of this HTTP error response code described above is applicable to the use of the OAuth 2.0 + for the authorization of API requests and notifications, as defined in clauses 4.5.3.3 and 4.5.3.4. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" + + 401: + description: > + 401 UNAUTHORIZED + + If the request contains no access token even though one is required, or if the request contains an authorization + token that is invalid (e.g. expired or revoked), the API producer should respond with this response. + The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 + and IETF RFC 7235. The ProblemDetails structure may be provided. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" + + 403: + description: > + 403 FORBIDDEN + + If the API consumer is not allowed to perform a particular request to a particular resource, + the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided. + It should include in the "detail" attribute information about the source of the problem, + and may indicate how to solve it. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" + + 404: + description: > + 404 NOT FOUND + + If the API producer did not find a current representation for the resource addressed by the URI passed + in the request or is not willing to disclose that one exists, it shall respond with this response code. + The "ProblemDetails" structure may be provided, including in the "detail" attribute information about + the source of the problem, e.g. a wrong resource URI variable. + + This response code is not appropriate in case the resource addressed by the URI is a container resource + which is designed to contain child resources, but does not contain any child resource at the time + the request is received. For a GET request to an existing empty container resource, a typical response + contains a 200 OK response code and a payload body with an empty array. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" + + 405: + description: > + 405 METHOD NOT ALLOWED + + If a particular HTTP method is not supported for a particular resource, the API producer shall respond + with this response code. The "ProblemDetails" structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" + + 406: + description: > + 406 NOT ACCEPTABLE + + If the "Accept" HTTP header does not contain at least one name of a content type + that is acceptable to the API producer, the API producer shall respond with this + response code. The "ProblemDetails" structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" + + 409: + description: > + 409 CONFLICT + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" + + 412: + description: > + 412 PRECONDITION FAILED + + Error: A precondition given in an HTTP request header is not fulfilled. + Typically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. + The response body should 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. + schema: + 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" + + 413: + description: > + 413 PAYLOAD TOO LARGE + + If the payload body of a request is larger than the amount of data the API producer is willing or able to process, + it shall respond with this response code, following the provisions in IETF RFC 7231 for the use + of the "Retry-After" HTTP header and for closing the connection. The "ProblemDetails" structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" + + 414: + description: > + 414 URI TOO LONG + + If the request URI of a request is longer than the API producer is willing or able to process, + it shall respond with this response code. This condition can e.g. be caused by passing long queries + in the request URI of a GET request. The "ProblemDetails" structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" + + 416: + description: > + 416 Range Not Satisfiable + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" + + 422: + description: > + 422 UNPROCESSABLE ENTITY + + If the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data + cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond + with this response code. The "ProblemDetails" structure shall be provided, and should include in the "detail" + attribute more information about the source of the problem. + + This error response code is only applicable for methods that have a request body. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" + + 429: + description: > + 429 TOO MANY REQUESTS + + If the API consumer has sent too many requests in a defined period of time and the API producer is able + to detect that condition ("rate limiting"), the API producer shall respond with this response code, + following the provisions in IETF RFC 6585 [17] for the use of the "Retry-After" HTTP header. + The "ProblemDetails" structure shall be provided and shall include in the "detail" attribute more information + about the source of the problem. + + The period of time and allowed number of requests are configured within the API producer by means + outside the scope of the present document. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" + + 500: + description: > + 500 INTERNAL SERVER ERROR + + If there is an application error not related to the client's input that cannot be easily mapped to any other + HTTP response code ("catch all error"), the API producer shall respond with this response code. + The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information + about the source of the problem. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" + + 503: + description: > + 503 SERVICE UNAVAILABLE + + If the API producer encounters an internal overload situation of itself or of a system it relies on, + it should respond with this response code, following the provisions in IETF RFC 7231 for the use of + the "Retry-After" HTTP header and for the alternative to refuse the connection. The "ProblemDetails" + structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" + + 504: + description: > + 504 GATEWAY TIMEOUT + + If the API producer encounters a timeout while waiting for a response from an upstream server + (i.e. a server that the API producer communicates with when fulfilling a request), it should respond + with this response code. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + 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. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" \ No newline at end of file diff --git a/src/SOL009/endpoints/SOL009_endpoints.yaml b/src/SOL009/endpoints/SOL009_endpoints.yaml index 49a1486..a8fb098 100644 --- a/src/SOL009/endpoints/SOL009_endpoints.yaml +++ b/src/SOL009/endpoints/SOL009_endpoints.yaml @@ -58,30 +58,30 @@ endpoints: maximum: 1 minimum: 1 400: - $ref: '../responses/SOL009_resp.yaml#/responses/400' + $ref: '../components/SOL009_resp.yaml#/components/responses/400' 401: - $ref: '../responses/SOL009_resp.yaml#/responses/401' + $ref: '../components/SOL009_resp.yaml#/components/responses/401' 403: - $ref: '../responses/SOL009_resp.yaml#/responses/403' + $ref: '../components/SOL009_resp.yaml#/components/responses/403' 404: - $ref: '../responses/SOL009_resp.yaml#/responses/404' + $ref: '../components/SOL009_resp.yaml#/components/responses/404' 405: - $ref: '../responses/SOL009_resp.yaml#/responses/405' + $ref: '../components/SOL009_resp.yaml#/components/responses/405' 406: - $ref: '../responses/SOL009_resp.yaml#/responses/406' + $ref: '../components/SOL009_resp.yaml#/components/responses/406' 413: - $ref: '../responses/SOL009_resp.yaml#/responses/413' + $ref: '../components/SOL009_resp.yaml#/components/responses/413' 414: - $ref: '../responses/SOL009_resp.yaml#/responses/414' + $ref: '../components/SOL009_resp.yaml#/components/responses/414' 416: - $ref: '../responses/SOL009_resp.yaml#/responses/416' + $ref: '../components/SOL009_resp.yaml#/components/responses/416' 422: - $ref: '../responses/SOL009_resp.yaml#/responses/422' + $ref: '../components/SOL009_resp.yaml#/components/responses/422' 429: - $ref: '../responses/SOL009_resp.yaml#/responses/429' + $ref: '../components/SOL009_resp.yaml#/components/responses/429' 500: - $ref: '../responses/SOL009_resp.yaml#/responses/500' + $ref: '../components/SOL009_resp.yaml#/components/responses/500' 503: - $ref: '../responses/SOL009_resp.yaml#/responses/503' + $ref: '../components/SOL009_resp.yaml#/components/responses/503' 504: - $ref: '../responses/SOL009_resp.yaml#/responses/504' \ No newline at end of file + $ref: '../components/SOL009_resp.yaml#/components/responses/504' \ No newline at end of file -- GitLab From 9f0bd374ed7197e3fe581bced8aa0fd6191faf05 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Fri, 15 Nov 2019 16:21:47 +0100 Subject: [PATCH 27/55] removed old common data types --- src/SOL009/definitions/SOL009_def.yaml | 335 ------------- src/SOL009/responses/SOL009_resp.yaml | 660 ------------------------- 2 files changed, 995 deletions(-) delete mode 100644 src/SOL009/definitions/SOL009_def.yaml delete mode 100644 src/SOL009/responses/SOL009_resp.yaml diff --git a/src/SOL009/definitions/SOL009_def.yaml b/src/SOL009/definitions/SOL009_def.yaml deleted file mode 100644 index 74d859d..0000000 --- a/src/SOL009/definitions/SOL009_def.yaml +++ /dev/null @@ -1,335 +0,0 @@ -# Copyright (c) ETSI 2019. -# https://forge.etsi.org/etsi-forge-copyright-notice.txt -definitions: - Link: - description: > - This type represents a link to a resource using an absolute URI. - type: object - required: - - href - properties: - href: - description: > - URI of another resource referenced from a resource. - Shall be an absolute URI (i.e. a UTI that contains {apiRoot}). - $ref: "#/definitions/Uri" - - NotificationLink: - description: > - This type represents a link to a resource in a notification, using an absolute or relative URI. - type: object - required: - - href - properties: - href: - description: > - URI of a resource referenced from a notification. - Should be an absolute URI (i.e. a URI that contains - {apiRoot}), however, may be a relative URI (i.e. a URI - where the {apiRoot} part is omitted) if the {apiRoot} - information is not available. - $ref: "#/definitions/Uri" - IpAddress: - description: > - An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal - integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that - consists of groups of zero to four hexadecimal digits, separated by colons. - type: string - format: IP - - KeyValuePairs: - description: > - This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, - a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 - of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", - "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of - different type. - type: object - - ApiVersionInformation: - description: > - This type represents API version information. - type: object - required: - - uriPrefix - - apiVersions - properties: - uriPrefix: - description: > - Specifies the URI prefix for the API, in the following - form {apiRoot}/{apiName}/{apiMajorVersion}/. - type: string - apiVersions: - description: > - Version(s) supported for the API signaled by the - uriPrefix attribute. - type: array - items: - type: object - required: - - version - properties: - version: - description: > - Identifies a supported version. The value of the - version attribute shall be a version identifier as - specified in clause 9.1 (SOL013). - type: string - isDeprecated: - description: > - If such information is available, this attribute indicates - whether use of the version signaled by the version - attribute is deprecated (true) or not (false). - - A deprecated version is still supported by the API producer but is recommended - not to be used any longer. - When a version is no longer supported, it does not appear in the response body. - type: boolean - retirementDate: - description: > - The date and time after which the API version will no - longer be supported. - This attribute may be included if the value of the - isDeprecated attribute is set to true and shall be - absent otherwise. - $ref: "#/definitions/DateTime" - - Identifier: - description: > - An identifier with the intention of being globally unique. - type: string - - IdentifierInManoEntity: - description: > - An identifier that is unique for the respective type within a NFV-MANO functional entity, - but that need not be globally unique. Representation: string of variable length.. - type: string - - IdentifierLocal: - description: > - An identifier that is unique within a limited local scope other than above listed identifiers, - such as within a complex data structure or within a request-response pair. - Representation: string of variable length. - type: string - - DateTime: - description: > - Date-time stamp. - Representation: String formatted according to IETF RFC 3339. - type: string - format: date-time - - Uri: - description: > - String formatted according to IETF RFC 3986. - type: string - - Boolean: - description: > - The Boolean is a data type having two values (true and false). - type: boolean - - Version: - description: > - A version. - type: string - - String: - description: > - A string defined in IETF RFC 8259. - type: string - - Number: - description: > - A number defined in IETF RFC 8259. - type: number - - ProblemDetails: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present document, - to ensure that the response contains additional textual information about - an error. IETF RFC 7807 [19] foresees extensibility of the - "ProblemDetails" type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to define - additional attributes that provide more information about the error. - The description column only provides some explanation of the meaning to - Facilitate understanding of the design. For a full description, see - IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies the - problem type. It is encouraged that the URI provides human-readable - documentation for the problem (e.g. using HTML) when dereferenced. - When this member is not present, its value is assumed to be - "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should not - change from occurrence to occurrence of the problem, except for - purposes of localization. If type is given and other than - "about:blank", this attribute shall also be provided. - A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of the - problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by the origin - server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of the - problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - #TODO: How to express "any additional attributes"? - - SubscriptionAuthentication: - type: object - required: - - authType - properties: - authType: - description: > - Defines the types of Authentication / Authorization which the API - consumer is willing to accept when receiving a notification. - Permitted values: - * BASIC: In every HTTP request to the notification endpoint, use - HTTP Basic authentication with the client credentials. - * OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the - notification endpoint, use an OAuth 2.0 Bearer token, obtained - using the client credentials grant type. - * TLS_CERT: Every HTTP request to the notification endpoint is sent - over a mutually authenticated TLS session, i.e. not only the - server is authenticated, but also the client is authenticated - during the TLS tunnel setup. - type: array - items: - type: string - enum: - - BASIC - - OAUTH2_CLIENT_CREDENTIALS - - TLS_CERT - paramsBasic: - description: > - Parameters for authentication/authorization using BASIC. - Shall be present if authType is "BASIC" and the contained - information has not been provisioned out of band. - Shall be absent otherwise. - type: object - properties: - userName: - description: > - Username to be used in HTTP Basic authentication. Shall be - present if it has not been provisioned out of band. - type: string - password: - description: > - Password to be used in HTTP Basic authentication. Shall be - present if it has not been provisioned out of band. - type: string - paramsOauth2ClientCredentials: - description: > - Parameters for authentication/authorization using - OAUTH2_CLIENT_CREDENTIALS. - Shall be present if authType is "OAUTH2_CLIENT_CREDENTIALS" and the - contained information has not been provisioned out of band. - Shall be absent otherwise. - type: object - properties: - clientId: - description: > - Client identifier to be used in the access token request of the - OAuth 2.0 client credentials grant type. - Shall be present if it has not been provisioned out of band. - The clientId and clientPassword passed in a subscription shall - not be the same as the clientId and clientPassword that are used - to obtain authorization for API requests. Client credentials may - differ between subscriptions. The value of clientPassword should - be generated by a random process. - type: string - clientPassword: - description: > - Client password to be used in the access token request of the - OAuth 2.0 client credentials grant type. - Shall be present if it has not been provisioned out of band. - The clientId and clientPassword passed in a subscription shall - not be the same as the clientId and clientPassword that are used - to obtain authorization for API requests. Client credentials may - differ between subscriptions. The value of clientPassword should - be generated by a random process. - type: string - tokenEndpoint: - description: > - The token endpoint from which the access token can be obtained. - Shall be present if it has not been provisioned out of band. - $ref: "#/definitions/Uri" - - ManoManagedObjectReference: - description: > - This type represents the identifier to reference a managed object of a particular type. - It shall comply with the provisions defined in Table 4.3.2.3-1. - type: object - required: - - type - - objectId - properties: - type: - description: > - Indicates the type of managed object. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: > - Identifier of the managed object. - - If type="MANO_ENTITY", it corresponds to the value of the attribute "id" of the "ManoEntity" - representing an NFV-MANO functional entity. - - If type="MANO_SERVICE", it corresponds to the value of the attribute "id" of the "ManoEntity" - representing the NFV-MANO functional entity that contains the "ManoService" sub-object. - - If type="MANO_SERVICE_IF", it corresponds to the value of the attribute "id" of the - "ManoServiceInterface" representing the NFV-MANO functional entity that contains the - "ManoServiceInterface" sub-object. - - If type="CONSUMED_MANO_IF", the value corresponds to the value of the attribute "id" of the - "ConsumedManoInterfaceInfo" representing a consumed NFV-MANO service interface from a peer - functional entity. - - If type="MANO_ENTITY_COMPONENT", the value corresponds to the value of the attribute "id" of the - "ManoEntity" representing the NFV-MANO functional entity that contains the "ManoEntityComponent" sub-object. - $ref: "#/definitions/Identifier" - subObjectId: - description: > - Identifier of the managed sub-object. It shall be present if type equals to "MANO_SERVICE" or - "MANO_SERVICE_IF" or "MANO_ENTITY_COMPONENT". - - - If type="MANO_SERVICE", it corresponds to the value of the attribute "id" of the "ManoService" - representing an individual NFV-MANO service. - - If type="MANO_SERVICE_IF", it corresponds to the value of the attribute "id" of the - "ManoServiceInterface" representing an individual NFV-MANO service interface. - - If type="MANO_ENTITY_COMPONENT", it corresponds to the value of the attribute "id" of the - "ManoEntityComponent" representing an NFV-MANO functional entity component. - $ref: "#/definitions/IdentifierInManoEntity" - - - diff --git a/src/SOL009/responses/SOL009_resp.yaml b/src/SOL009/responses/SOL009_resp.yaml deleted file mode 100644 index fad944b..0000000 --- a/src/SOL009/responses/SOL009_resp.yaml +++ /dev/null @@ -1,660 +0,0 @@ -# Copyright (c) ETSI 2017. -# https://forge.etsi.org/etsi-forge-copyright-notice.txt - -responses: - 206: - description: > - 206 PARTIAL CONTENT - headers: - Content-Type: - description: > - The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - Content-Range: - description: > - The Content-Range response HTTP header indicates where in a full body message a partial message belongs. - schema: - 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. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" - - 303: - description: > - 303 See Other - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - 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. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - - 400: - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the specific cause has to be proper specified in the - "ProblemDetails" structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect - query parameters or the payload body contains a syntactically incorrect data structure), - the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided, - and should include in the "detail" attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource would be so big that the performance - of the API producer is adversely affected, and the API producer does not support paging for the affected resource, - it shall respond with this response code. The "ProblemDetails" structure shall be provided, and should include - in the "detail" attribute more information about the source of the problem. - - If there is an application error related to the client's input that cannot be easily mapped to any other - HTTP response code ("catch all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information - about the source of the problem. - - If the request contains a malformed access token, the API producer should respond with this response. - The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 - and IETF RFC 7235. The ProblemDetails structure may be provided. - - The use of this HTTP error response code described above is applicable to the use of the OAuth 2.0 - for the authorization of API requests and notifications, as defined in clauses 4.5.3.3 and 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - 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. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" - - 401: - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, or if the request contains an authorization - token that is invalid (e.g. expired or revoked), the API producer should respond with this response. - The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 - and IETF RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - 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. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" - - 403: - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request to a particular resource, - the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided. - It should include in the "detail" attribute information about the source of the problem, - and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - 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. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" - - 404: - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the resource addressed by the URI passed - in the request or is not willing to disclose that one exists, it shall respond with this response code. - The "ProblemDetails" structure may be provided, including in the "detail" attribute information about - the source of the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed by the URI is a container resource - which is designed to contain child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty container resource, a typical response - contains a 200 OK response code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - 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. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" - - 405: - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular resource, the API producer shall respond - with this response code. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - 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. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" - - 406: - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a content type - that is acceptable to the API producer, the API producer shall respond with this - response code. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - 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. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" - - 409: - description: > - 409 CONFLICT - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - 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. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" - - 412: - description: > - 412 PRECONDITION FAILED - - Error: A precondition given in an HTTP request header is not fulfilled. - Typically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. - The response body should 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. - schema: - 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. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" - - 413: - description: > - 413 PAYLOAD TOO LARGE - - If the payload body of a request is larger than the amount of data the API producer is willing or able to process, - it shall respond with this response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for closing the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - 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. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" - - 414: - description: > - 414 URI TOO LONG - - If the request URI of a request is longer than the API producer is willing or able to process, - it shall respond with this response code. This condition can e.g. be caused by passing long queries - in the request URI of a GET request. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - 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. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" - - 416: - description: > - 416 Range Not Satisfiable - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - 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. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" - - 422: - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data - cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond - with this response code. The "ProblemDetails" structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - 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. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" - - 429: - description: > - 429 TOO MANY REQUESTS - - If the API consumer has sent too many requests in a defined period of time and the API producer is able - to detect that condition ("rate limiting"), the API producer shall respond with this response code, - following the provisions in IETF RFC 6585 [17] for the use of the "Retry-After" HTTP header. - The "ProblemDetails" structure shall be provided and shall include in the "detail" attribute more information - about the source of the problem. - - The period of time and allowed number of requests are configured within the API producer by means - outside the scope of the present document. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - 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. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" - - 500: - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input that cannot be easily mapped to any other - HTTP response code ("catch all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information - about the source of the problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - 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. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" - - 503: - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of itself or of a system it relies on, - it should respond with this response code, following the provisions in IETF RFC 7231 for the use of - the "Retry-After" HTTP header and for the alternative to refuse the connection. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - 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. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" - - 504: - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a response from an upstream server - (i.e. a server that the API producer communicates with when fulfilling a request), it should respond - with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - 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. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails" \ No newline at end of file -- GitLab From 1fc8f313fbe9fdd52006f77ecf6d05b6257942fa Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Fri, 15 Nov 2019 17:43:26 +0100 Subject: [PATCH 28/55] updated usage of common parameters data types --- .../NFVManoFaultManagement.yaml | 256 ++---------------- .../NFVManoFaultManagementNotification.yaml | 131 ++------- .../NFVManoLogManagement.yaml | 160 +++-------- .../NFVManoLogManagementNotification.yaml | 37 +-- src/SOL009/components/SOL009_params.yaml | 34 +++ 5 files changed, 123 insertions(+), 495 deletions(-) diff --git a/src/SOL009/NFVManoFaultManagement/NFVManoFaultManagement.yaml b/src/SOL009/NFVManoFaultManagement/NFVManoFaultManagement.yaml index a287970..cd9df07 100644 --- a/src/SOL009/NFVManoFaultManagement/NFVManoFaultManagement.yaml +++ b/src/SOL009/NFVManoFaultManagement/NFVManoFaultManagement.yaml @@ -30,51 +30,11 @@ paths: in the tables 7.5.3.3.2-1 and 7.5.3.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 - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - schema: - type: string - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI - GS NFV-SOL 013. The NFV-MANO functional entity shall support - receiving this parameter as part of the URI query string. The API - consumer may supply this parameter. The following attribute names - shall be supported by the NFV-MANO functional entity in the - attribute-based filtering expression: id, managedObjectId, - eventType, perceivedSeverity, probableCause. - in: query - required: false - schema: - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged resource. Shall be - supported by the NFV-MANO functional entity if the entity supports - alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS - NFV-SOL 013 for this resource. - in: query - required: false - schema: - type: string - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" + - $ref: "../components/SOL009_params.yaml#/components/parameters/filter" + - $ref: "../components/SOL009_params.yaml#/components/parameters/nextpage_opaque_marker" responses: "200": description: > @@ -157,35 +117,9 @@ paths: 7.5.4.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 - schema: - type: string - - name: Content-Type - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - schema: - type: string - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "200": description: > @@ -233,38 +167,10 @@ paths: 7.5.4.3.4-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 - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - schema: - type: string - - name: Content-Type - description: > - The Content-Type header shall be set to - "application/merge-patch+json" according to IETF RFC 7396. - in: header - required: true - schema: - type: string - enum: - - application/merge-patch+json - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" + - $ref: "../components/SOL009_params.yaml#/components/parameters/ContentType" requestBody: content: application/json: @@ -350,35 +256,10 @@ paths: referencing the existing "Individual subscription" resource with the same filter and callbackUri). parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231 - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - schema: - type: string - - name: Content-Type - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - in: header - required: true - schema: - type: string - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" + - $ref: "../components/SOL009_params.yaml#/components/parameters/ContentType" requestBody: content: application/json: @@ -457,58 +338,11 @@ paths: shall follow the provisions specified in the tables 7.5.5.3.2-1 and 7.5.5.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 - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - schema: - type: string - - name: Content-Type - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - in: header - required: true - schema: - type: string - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI - GS NFV-SOL 013. The NFV-MANO functional entity shall support - receiving this parameter as part of the URI query string. The API - consumer may supply this parameter. All attribute names that appear - in the FmSubscription and in data types referenced from it shall be - supported by the NFV-MANO functional entity in the filter - expression. - in: query - required: false - schema: - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be - supported by the NFV-MANO functional entity if the entity supports - alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS - NFV-SOL 013 for this resource. - in: query - required: false - schema: - type: string - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" + - $ref: "../components/SOL009_params.yaml#/components/parameters/filter" + - $ref: "../components/SOL009_params.yaml#/components/parameters/nextpage_opaque_marker" responses: "200": description: > @@ -600,35 +434,9 @@ paths: specified in the tables 7.5.6.3.2-1 and 7.5.6.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 - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - schema: - type: string - - name: Content-Type - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - in: header - required: true - schema: - type: string - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "200": description: > @@ -698,20 +506,8 @@ paths: be received by the formerly-subscribed API consumer for a certain time period after the deletion. parameters: - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - schema: - type: string - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "204": description: > diff --git a/src/SOL009/NFVManoFaultManagementNotification/NFVManoFaultManagementNotification.yaml b/src/SOL009/NFVManoFaultManagementNotification/NFVManoFaultManagementNotification.yaml index bb5e188..0f9e3e1 100644 --- a/src/SOL009/NFVManoFaultManagementNotification/NFVManoFaultManagementNotification.yaml +++ b/src/SOL009/NFVManoFaultManagementNotification/NFVManoFaultManagementNotification.yaml @@ -34,28 +34,9 @@ paths: 7.5.7.3.1-1 and 7.5.7.3.1-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: Authorization - description: > - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - schema: - type: string - - name: Content-Type - description: > - The Content-Type header shall be set to - "application/merge-patch+json" according to IETF RFC 7396. - in: header - required: true - schema: - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/ContentType" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" requestBody: content: application/json: @@ -109,20 +90,8 @@ paths: 7.5.7.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - schema: - type: string - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "204": description: > @@ -171,28 +140,9 @@ paths: 7.5.7.3.1-1 and 7.5.7.3.1-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - schema: - type: string - - name: Content-Type - description: > - The Content-Type header shall be set to - "application/merge-patch+json" according to IETF RFC 7396. - in: header - required: true - schema: - type: string - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/ContentType" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" requestBody: content: application/json: @@ -246,20 +196,8 @@ paths: 7.5.7.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - schema: - type: string - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "204": description: > @@ -308,28 +246,9 @@ paths: 7.5.7.3.1-1 and 7.5.7.3.1-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - schema: - type: string - - name: Content-Type - description: > - The Content-Type header shall be set to - "application/merge-patch+json" according to IETF RFC 7396. - in: header - required: true - schema: - type: string - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/ContentType" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" requestBody: content: application/json: @@ -384,29 +303,17 @@ paths: 7.5.7.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - schema: - type: string - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "204": description: > 204 NO CONTENT Shall be returned to indicate that the notification endpoint has been tested successfully. The response body shall be empty. - headers: - WWW-Authenticate: - description: > + 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. @@ -415,7 +322,7 @@ paths: minimum: 0 maximum: 1 Version: - description: | + description: >- Version of the API used in the response. schema: type: string diff --git a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml index 75e0789..833384d 100644 --- a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml +++ b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml @@ -37,9 +37,10 @@ paths: As the result of successfully executing this method, a new "Individual logging job" resource as defined in clause 9.5.4 shall have been created. parameters: - - $ref: "#/components/parameters/Version" - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Authorization" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/ContentType" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" requestBody: $ref: "#/components/requestBodies/CreateLoggingJobRequest" responses: @@ -71,15 +72,15 @@ paths: This method shall follow the provisions specified in the tables 8.5.3.3.2-1 and 8.5.3.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - $ref: "#/components/parameters/filter" - - $ref: "#/components/parameters/all_fields" - - $ref: "#/components/parameters/fields" - - $ref: "#/components/parameters/exclude_fields" - - $ref: "#/components/parameters/exclude_default" - - $ref: "#/components/parameters/nextpage_opaque_marker" - - $ref: "#/components/parameters/Version" - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Authorization" + - $ref: "../components/SOL009_params.yaml#/components/parameters/filter" + - $ref: "../components/SOL009_params.yaml#/components/parameters/all_fields" + - $ref: "../components/SOL009_params.yaml#/components/parameters/fields" + - $ref: "../components/SOL009_params.yaml#/components/parameters/exclude_fields" + - $ref: "../components/SOL009_params.yaml#/components/parameters/exclude_default" + - $ref: "../components/SOL009_params.yaml#/components/parameters/nextpage_opaque_marker" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "200": $ref: '#/components/responses/LoggingJobs.Get' @@ -115,9 +116,9 @@ paths: URI query parameters, request and response data structures, and response codes. parameters: - $ref: "#/components/parameters/logJobId" - - $ref: "#/components/parameters/Version" - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Authorization" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "200": @@ -151,8 +152,8 @@ paths: As the result of successfully executing this method, the "Individual logging job" resource shall not exist any longer parameters: - - $ref: "#/components/parameters/Version" - - $ref: "#/components/parameters/Authorization" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "204": $ref: '#/components/responses/LoggingJob.Delete' @@ -192,9 +193,9 @@ paths: parameters: - $ref: "#/components/parameters/logJobId" - $ref: "#/components/parameters/logJReportId" - - $ref: "#/components/parameters/Version" - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Authorization" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "200": $ref: '#/components/responses/LogReport.Get' @@ -238,9 +239,10 @@ paths: query parameters, request and response data structures, and response codes. parameters: - $ref: "#/components/parameters/logJobId" - - $ref: "#/components/parameters/Version" - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Authorization" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/ContentType" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" requestBody: $ref: "#/components/requestBodies/CompileLogRequest" responses: @@ -290,9 +292,10 @@ paths: to not create a duplicate "Individual subscription" resource (in which case it shall return a "303 See Other" response code referencing the existing "Individual subscription" resource with the same filter and callbackUri). parameters: - - $ref: "#/components/parameters/Version" - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Authorization" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/ContentType" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" requestBody: $ref: '#/components/requestBodies/LogmSubscriptionRequest' responses: @@ -328,11 +331,11 @@ paths: query parameters, request and response data structures, and response codes. parameters: - - $ref: "#/components/parameters/filter" - - $ref: "#/components/parameters/nextpage_opaque_marker" - - $ref: "#/components/parameters/Version" - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Authorization" + - $ref: "../components/SOL009_params.yaml#/components/parameters/filter" + - $ref: "../components/SOL009_params.yaml#/components/parameters/nextpage_opaque_marker" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "200": $ref: '#/components/responses/LogmSubscriptions' @@ -369,9 +372,9 @@ paths: This method shall follow the provisions specified in the tables 8.5.8.3.2-1 and 8.5.8.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - $ref: "#/components/parameters/Version" - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Authorization" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "200": $ref: '#/components/responses/LogmSubscription.Get' @@ -405,8 +408,8 @@ paths: NOTE: Due to race conditions, some notifications might still be received by the formerly-subscribed API consumer for a certain time period after the deletion. parameters: - - $ref: "#/components/parameters/Version" - - $ref: "#/components/parameters/Authorization" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "204": $ref: '#/components/responses/LogmSubscription.Delete' @@ -433,30 +436,6 @@ paths: components: parameters: - Version: - name: Version - description: >- - Version of the API requested to use when responding to this request - in: header - required: true - schema: - type: string - Accept: - name: Accept - description: >- - Content-Types that are acceptable for the response. Reference: IETF RFC 7231 - in: header - required: true - schema: - type: string - Authorization: - name: Authorization - description: >- - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - schema: - type: string logJobId: name: logJobId in: path @@ -481,67 +460,6 @@ components: required: true schema: $ref: '../components/SOL009_schemas.yaml#/components/schemas/Identifier' - filter: - name: filter - in: query - description: >- - Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013. - The NFV-MANO functional entity shall support receiving this parameter as part of the URI query string. - The API consumer may supply this parameter. - All attribute names that appear in the LoggingJob and in data types referenced from it shall be supported by - the NFV-MANO functional entity in the filter expression - required: false - schema: - type: string - all_fields: - name: all_fields - in: query - description: >- - Include all complex attributes in the response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. - The NFV-MANO functional entity shall support this parameter. - required: false - schema: - type: string - fields: - name: fields - in: query - description: >- - Complex attributes to be included into the response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. - The NFV-MANO functional entity should support this parameter. - required: false - schema: - type: string - exclude_fields: - name: exclude_fields - in: query - description: >- - Complex attributes to be excluded from the response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. - The NFV-MANO functional entity should support this parameter. - required: false - schema: - type: string - exclude_default: - name: exclude_default - in: query - description: >- - Indicates to exclude the following complex attributes from the response. See clause 5.3 of ETSI GS NFV-SOL 013 - for details. The NFV-MANO functional entity shall support this parameter. - The following attributes shall be excluded from the LoggingJob structure in the response body if this parameter - is provided, or none of the parameters "all_fields," "fields", "exclude_fields", "exclude_default" are provided - -logReports - required: false - schema: - type: string - nextpage_opaque_marker: - name: nextpage_opaque_marker - in: query - description: >- - Marker to obtain the next page of a paged response. Shall be supported by the NFV-MANO functional entity if - the NFV-MANO functional entity supports alternative 2 (paging) according to clause 5.4.2.1 of - ETSI GS NFV-SOL 013 for this resource. - required: false - schema: - type: string requestBodies: LogmSubscriptionRequest: diff --git a/src/SOL009/NFVManoLogManagementNotification/NFVManoLogManagementNotification.yaml b/src/SOL009/NFVManoLogManagementNotification/NFVManoLogManagementNotification.yaml index be21078..5915319 100644 --- a/src/SOL009/NFVManoLogManagementNotification/NFVManoLogManagementNotification.yaml +++ b/src/SOL009/NFVManoLogManagementNotification/NFVManoLogManagementNotification.yaml @@ -39,9 +39,8 @@ paths: This method shall follow the provisions specified in the tables 8.5.9.3.1-1 and 8.5.9.3.1-2 for URI query parameters, request and response data structures, and response codes. parameters: - - $ref: "#/components/parameters/Version" - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Authorization" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" requestBody: $ref: "#/components/requestBodies/LogReportAvailableNotification" responses: @@ -75,9 +74,9 @@ paths: This method shall follow the provisions specified in the tables 8.5.9.3.2-1 and 8.5.9.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - $ref: "#/components/parameters/Version" - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Authorization" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "204": $ref: '#/components/responses/LogReportNotification.Get' @@ -103,32 +102,6 @@ paths: $ref: '../components/SOL009_resp.yaml#/components/responses/504' components: - parameters: - Version: - name: Version - description: >- - Version of the API requested to use when responding to this request - in: header - required: true - schema: - type: string - Accept: - name: Accept - description: >- - Content-Types that are acceptable for the response. Reference: IETF RFC 7231 - in: header - required: true - schema: - type: string - Authorization: - name: Authorization - description: >- - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - schema: - type: string - requestBodies: LogReportAvailableNotification: description: >- diff --git a/src/SOL009/components/SOL009_params.yaml b/src/SOL009/components/SOL009_params.yaml index 9cff435..6cef958 100644 --- a/src/SOL009/components/SOL009_params.yaml +++ b/src/SOL009/components/SOL009_params.yaml @@ -27,6 +27,30 @@ components: schema: type: string + ContentType: + - name: Content-Type + description: | + The MIME type of the body of the request. Reference: IETF RFC 7231 + in: header + required: true + schema: + type: string + + filter: + - name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of ETSI + GS NFV-SOL 013. The NFV-MANO functional entity shall support + receiving this parameter as part of the URI query string. The API + consumer may supply this parameter. All attribute names that appear + in the FmSubscription and in data types referenced from it shall be + supported by the NFV-MANO functional entity in the filter + expression. + in: query + required: false + schema: + type: string + all_fields: name: all_fields description: > @@ -60,6 +84,16 @@ components: schema: type: string + exclude_default: + name: exclude_default + in: query + description: >- + Indicates to exclude the following complex attributes from the response. See clause 5.3 of ETSI GS NFV-SOL 013 + for details. The NFV-MANO functional entity shall support this parameter. + required: false + schema: + type: string + nextpage_opaque_marker: name: nextpage_opaque_marker description: > -- GitLab From f6c066a9da9e1b851ff486f368d104e520405e26 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Fri, 15 Nov 2019 17:47:09 +0100 Subject: [PATCH 29/55] fix --- src/SOL009/components/SOL009_params.yaml | 26 ++++++++++++------------ 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/SOL009/components/SOL009_params.yaml b/src/SOL009/components/SOL009_params.yaml index 6cef958..64829d5 100644 --- a/src/SOL009/components/SOL009_params.yaml +++ b/src/SOL009/components/SOL009_params.yaml @@ -37,19 +37,19 @@ components: type: string filter: - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI - GS NFV-SOL 013. The NFV-MANO functional entity shall support - receiving this parameter as part of the URI query string. The API - consumer may supply this parameter. All attribute names that appear - in the FmSubscription and in data types referenced from it shall be - supported by the NFV-MANO functional entity in the filter - expression. - in: query - required: false - schema: - type: string + name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of ETSI + GS NFV-SOL 013. The NFV-MANO functional entity shall support + receiving this parameter as part of the URI query string. The API + consumer may supply this parameter. All attribute names that appear + in the FmSubscription and in data types referenced from it shall be + supported by the NFV-MANO functional entity in the filter + expression. + in: query + required: false + schema: + type: string all_fields: name: all_fields -- GitLab From 83b35f7ce02450378bc13105e585c66146f2468d Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Fri, 15 Nov 2019 17:47:51 +0100 Subject: [PATCH 30/55] fix --- src/SOL009/components/SOL009_params.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/SOL009/components/SOL009_params.yaml b/src/SOL009/components/SOL009_params.yaml index 64829d5..dbb92ea 100644 --- a/src/SOL009/components/SOL009_params.yaml +++ b/src/SOL009/components/SOL009_params.yaml @@ -28,13 +28,13 @@ components: type: string ContentType: - - name: Content-Type - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - in: header - required: true - schema: - type: string + name: Content-Type + description: | + The MIME type of the body of the request. Reference: IETF RFC 7231 + in: header + required: true + schema: + type: string filter: name: filter -- GitLab From 4058020b828f0320667f1e19d662b1611ffbfa16 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Fri, 15 Nov 2019 18:15:32 +0100 Subject: [PATCH 31/55] updated usage of FM common data types --- .../NFVManoFaultManagement.yaml | 258 ++++++++++++++++-- .../NFVManoFaultManagementNotification.yaml | 175 +++++++++++- src/SOL009/components/SOL009_schemas.yaml | 108 ++++++++ 3 files changed, 508 insertions(+), 33 deletions(-) diff --git a/src/SOL009/NFVManoFaultManagement/NFVManoFaultManagement.yaml b/src/SOL009/NFVManoFaultManagement/NFVManoFaultManagement.yaml index cd9df07..3c52ccd 100644 --- a/src/SOL009/NFVManoFaultManagement/NFVManoFaultManagement.yaml +++ b/src/SOL009/NFVManoFaultManagement/NFVManoFaultManagement.yaml @@ -76,7 +76,7 @@ paths: schema: type: array items: - $ref: definitions/SOL009NFVManoFaultManagement_def.yaml#/definitions/Alarm + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Alarm" "400": $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": @@ -99,17 +99,7 @@ paths: $ref: ../components/SOL009_resp.yaml#/components/responses/504 "/alarms/{alarmId}": 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 - required: true - schema: - type: string + - $ref: "#/components/parameters/alarmId" get: description: > The client can use this method to read an individual alarm. This method @@ -139,7 +129,7 @@ paths: content: application/json: schema: - $ref: definitions/SOL009NFVManoFaultManagement_def.yaml#/definitions/Alarm + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Alarm" "400": $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": @@ -175,7 +165,7 @@ paths: content: application/json: schema: - $ref: definitions/SOL009NFVManoFaultManagement_def.yaml#/definitions/AlarmModifications + $ref: "#/components/schemas/AlarmModifications" description: > The parameter for the alarm modification, as defined in clause 7.6.2.8. The Content-Type header shall be set to @@ -209,7 +199,7 @@ paths: content: application/json: schema: - $ref: definitions/SOL009NFVManoFaultManagement_def.yaml#/definitions/AlarmModifications + $ref: "#/components/schemas/AlarmModifications" "400": $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": @@ -264,7 +254,7 @@ paths: content: application/json: schema: - $ref: definitions/SOL009NFVManoFaultManagement_def.yaml#/definitions/FmSubscriptionRequest + $ref: "#/components/schemas/FmSubscriptionRequest" description: > Details of the subscription to be created, as defined in clause 7.6.2.2. @@ -306,7 +296,7 @@ paths: content: application/json: schema: - $ref: definitions/SOL009NFVManoFaultManagement_def.yaml#/definitions/FmSubscription + $ref: "#/components/schemas/FmSubscription" "303": $ref: ../components/SOL009_resp.yaml#/components/responses/303 "400": @@ -392,7 +382,7 @@ paths: content: application/json: schema: - $ref: definitions/SOL009NFVManoFaultManagement_def.yaml#/definitions/FmSubscription + $ref: "#/components/schemas/FmSubscription" "400": $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": @@ -415,17 +405,7 @@ paths: $ref: ../components/SOL009_resp.yaml#/components/responses/504 "/subscriptions/{subscriptionId}": 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 "Individual subscription" resource. - It can also be retrieved from the "id" attribute in the payload body - of that response. - in: path - required: true - schema: - type: string + - $ref: "#/components/parameters/subscriptionId" get: description: > Query Subscription Information. The client can use this method for @@ -472,7 +452,7 @@ paths: content: application/json: schema: - $ref: definitions/SOL009NFVManoFaultManagement_def.yaml#/definitions/FmSubscription + $ref: "#/components/schemas/FmSubscription" "400": $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": @@ -553,3 +533,221 @@ paths: "504": $ref: ../components/SOL009_resp.yaml#/components/responses/504 +components: + parameters: + alarmId: + 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 + required: true + schema: + type: string + subscriptionId: + 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 "Individual subscription" resource. + It can also be retrieved from the "id" attribute in the payload body + of that response. + in: path + required: true + schema: + type: string + schemas: + FmSubscriptionRequest: + description: > + This type represents a subscription request related to notifications + about NFV-MANO 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: "#/components/schemas/FmNotificationsFilter" + callbackUri: + description: > + The URI of the endpoint to send the notification to. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Uri" + authentication: + description: > + Authentication parameters to configure the use of Authorization when sending notifications + corresponding to this subscription, as defined in clause 8.3.4 of ETSI GS NFV-SOL 013. + This attribute shall only be present if the subscriber requires authorization of notifications. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/SubscriptionAuthentication" + + 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 "Individual subscription" resource. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/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: "#/components/schemas/FmNotificationsFilter" + callbackUri: + description: > + The URI of the endpoint to send the notification to. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Uri" + _links: + description: > + Links for this resource. + type: object + required: + - self + properties: + self: + description: > + URI of this resource. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/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 + + FmNotificationsFilter: + description: > + This type represents a subscription filter related to notifications about NFV-MANO functional entity faults. + It shall comply with the provisions defined in table 7.6.3.2-1. 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: + 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 + perceivedSeverities: + description: > + Match VNF alarms with a perceived severity listed in this attribute. + type: array + items: + $ref: "#/components/schemas/PerceivedSeverityType" + eventTypes: + description: > + Match VNF alarms with an event type listed in this attribute. + type: array + items: + $ref: "#/components/schemas/EventType" + probableCauses: + description: > + Match VNF alarms with a probable cause listed in this attribute. + type: array + items: + type: string + + 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/SOL009/NFVManoFaultManagementNotification/NFVManoFaultManagementNotification.yaml b/src/SOL009/NFVManoFaultManagementNotification/NFVManoFaultManagementNotification.yaml index 0f9e3e1..133384e 100644 --- a/src/SOL009/NFVManoFaultManagementNotification/NFVManoFaultManagementNotification.yaml +++ b/src/SOL009/NFVManoFaultManagementNotification/NFVManoFaultManagementNotification.yaml @@ -41,7 +41,7 @@ paths: content: application/json: schema: - $ref: ../NFVManoFaultManagement/definitions/SOL009NFVManoFaultManagement_def.yaml#/definitions/AlarmNotification + $ref: "#/components/schemas/AlarmNotification" description: > Information of a NFV-MANO functional entity alarm. required: true @@ -147,7 +147,7 @@ paths: content: application/json: schema: - $ref: ../NFVManoFaultManagement/definitions/SOL009NFVManoFaultManagement_def.yaml#/definitions/AlarmClearedNotification + $ref: "#/components/schemas/AlarmClearedNotification" description: | Information of the clearance of an NFV-MANO functional entity alarm. required: true @@ -253,7 +253,7 @@ paths: content: application/json: schema: - $ref: ../NFVManoFaultManagement/definitions/SOL009NFVManoFaultManagement_def.yaml#/definitions/AlarmListRebuiltNotification + $ref: "#/components/schemas/AlarmListRebuiltNotification" description: > Information that the alarm list has been rebuilt by the NFV-MANO functional entity. @@ -343,3 +343,172 @@ paths: "503": $ref: ../components/SOL009_resp.yaml#/components/responses/503 +components: + schemas: + AlarmNotification: + description: > + This type represents an alarm notification about NFV-MANO functional entity faults. + It shall comply with the provisions defined in table 7.6.2.5-1. + This notification shall be triggered by the NFV-MANO functional entity when: + - An alarm has been created. + - An alarm has been updated, e.g. if the severity of the alarm has changed. + + 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: "../components/SOL009_schemas.yaml#/components/schemas/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: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" + timeStamp: + description: > + Date-time of the generation of the notification. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/DateTime" + alarm: + description: > + Information about an alarm including AlarmId, affected VNF + identifier, and FaultDetails. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Alarm" + _links: + description: > + Links to resources related to this notification. + type: object + required: + - subscription + properties: + subscription: + description: > + Link to the related subscription. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" + + 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: "../components/SOL009_schemas.yaml#/components/schemas/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: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" + timeStamp: + description: > + Date-time of the generation of the notification. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/DateTime" + alarmId: + description: > + Alarm identifier. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/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: "../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" + alarm: + description: > + Link to the resource that represents the related alarm. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" + + 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: "../components/SOL009_schemas.yaml#/components/schemas/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: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" + timeStamp: + description: > + Date-time of the generation of the notification. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/DateTime" + _links: + description: > + Links to resources related to this notification. + type: object + required: + - subscription + - alarms + properties: + subscription: + description: > + Link to the related subscription. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" + alarms: + description: > + Link to the alarm list, i.e. the "Alarms" resource. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" diff --git a/src/SOL009/components/SOL009_schemas.yaml b/src/SOL009/components/SOL009_schemas.yaml index 1559f0f..de50e58 100644 --- a/src/SOL009/components/SOL009_schemas.yaml +++ b/src/SOL009/components/SOL009_schemas.yaml @@ -447,3 +447,111 @@ components: format: URI #TODO: How to express "any additional attributes"? + Alarm: + description: > + The alarm data type encapsulates information about an alarm. + type: object + required: + - id + - managedObjectId + - alarmRaisedTime + - ackState + - perceivedSeverity + - eventTime + - eventType + - probableCause + - isRootCause + - _links + properties: + id: + description: > + Identifier of this Alarm information element. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" + managedObjectId: + description: > + Identifier of the affected NFV-MANO instance. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" + associatedFaultyInstanceId: + description: > + The resources that are causing the fault. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ManoManagedObjectReference" + alarmRaisedTime: + description: > + Time stamp indicating when the alarm is raised by the managed + object. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/DateTime" + alarmChangedTime: + description: > + Time stamp indicating when the alarm was last changed. It shall be + present if the alarm has been updated. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/DateTime" + alarmClearedTime: + description: > + Time stamp indicating when the alarm was cleared. It shall be + present if the alarm has been cleared. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/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: "#/components/schemas/PerceivedSeverityType" + eventTime: + description: > + Time stamp indicating when the fault was observed. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/DateTime" + eventType: + description: > + Type of event. + $ref: "#/components/schemas/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: "../components/SOL009_schemas.yaml#/components/schemas/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: "../components/SOL009_schemas.yaml#/components/schemas/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: "../components/SOL009_schemas.yaml#/components/schemas/Link" \ No newline at end of file -- GitLab From 8c11f037208f20e33c01a3795ed2af2a732abeb8 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Fri, 15 Nov 2019 18:19:07 +0100 Subject: [PATCH 32/55] fix --- .../NFVManoFaultManagement.yaml | 68 +------------------ src/SOL009/components/SOL009_schemas.yaml | 66 +++++++++++++++++- 2 files changed, 67 insertions(+), 67 deletions(-) diff --git a/src/SOL009/NFVManoFaultManagement/NFVManoFaultManagement.yaml b/src/SOL009/NFVManoFaultManagement/NFVManoFaultManagement.yaml index 3c52ccd..6197cbb 100644 --- a/src/SOL009/NFVManoFaultManagement/NFVManoFaultManagement.yaml +++ b/src/SOL009/NFVManoFaultManagement/NFVManoFaultManagement.yaml @@ -642,30 +642,6 @@ components: 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 - FmNotificationsFilter: description: > This type represents a subscription filter related to notifications about NFV-MANO functional entity faults. @@ -698,56 +674,16 @@ components: Match VNF alarms with a perceived severity listed in this attribute. type: array items: - $ref: "#/components/schemas/PerceivedSeverityType" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/PerceivedSeverityType" eventTypes: description: > Match VNF alarms with an event type listed in this attribute. type: array items: - $ref: "#/components/schemas/EventType" + $ref: ""../components/SOL009_schemas.yaml#/components/schemas/EventType" probableCauses: description: > Match VNF alarms with a probable cause listed in this attribute. type: array items: type: string - - 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/SOL009/components/SOL009_schemas.yaml b/src/SOL009/components/SOL009_schemas.yaml index de50e58..6f96d1a 100644 --- a/src/SOL009/components/SOL009_schemas.yaml +++ b/src/SOL009/components/SOL009_schemas.yaml @@ -554,4 +554,68 @@ components: 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: "../components/SOL009_schemas.yaml#/components/schemas/Link" \ No newline at end of file + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Link" + + 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 + + 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 -- GitLab From a29749b761c61f5127af1b58793ef6f0c3a92cdc Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Fri, 15 Nov 2019 18:19:42 +0100 Subject: [PATCH 33/55] fix --- src/SOL009/NFVManoFaultManagement/NFVManoFaultManagement.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SOL009/NFVManoFaultManagement/NFVManoFaultManagement.yaml b/src/SOL009/NFVManoFaultManagement/NFVManoFaultManagement.yaml index 6197cbb..091f91c 100644 --- a/src/SOL009/NFVManoFaultManagement/NFVManoFaultManagement.yaml +++ b/src/SOL009/NFVManoFaultManagement/NFVManoFaultManagement.yaml @@ -680,7 +680,7 @@ components: Match VNF alarms with an event type listed in this attribute. type: array items: - $ref: ""../components/SOL009_schemas.yaml#/components/schemas/EventType" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/EventType" probableCauses: description: > Match VNF alarms with a probable cause listed in this attribute. -- GitLab From 59b6a38885cb15ba3471fb9639bdbe4666e7aa67 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Fri, 15 Nov 2019 18:20:44 +0100 Subject: [PATCH 34/55] deleted old common type --- .../SOL009NFVManoFaultManagement_def.yaml | 472 ------------------ 1 file changed, 472 deletions(-) delete mode 100644 src/SOL009/NFVManoFaultManagement/definitions/SOL009NFVManoFaultManagement_def.yaml diff --git a/src/SOL009/NFVManoFaultManagement/definitions/SOL009NFVManoFaultManagement_def.yaml b/src/SOL009/NFVManoFaultManagement/definitions/SOL009NFVManoFaultManagement_def.yaml deleted file mode 100644 index 58a98ab..0000000 --- a/src/SOL009/NFVManoFaultManagement/definitions/SOL009NFVManoFaultManagement_def.yaml +++ /dev/null @@ -1,472 +0,0 @@ -# Copyright (c) ETSI 2019. -# https://forge.etsi.org/etsi-forge-copyright-notice.txt - -definitions: - FmSubscriptionRequest: - description: > - This type represents a subscription request related to notifications - about NFV-MANO 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. - $ref: "../../components/SOL009_schemas.yaml#/components/schemas/Uri" - authentication: - description: > - Authentication parameters to configure the use of Authorization when sending notifications - corresponding to this subscription, as defined in clause 8.3.4 of ETSI GS NFV-SOL 013. - This attribute shall only be present if the subscriber requires authorization of notifications. - $ref: "../../components/SOL009_schemas.yaml#/components/schemas/SubscriptionAuthentication" - - 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 "Individual subscription" resource. - $ref: "../../components/SOL009_schemas.yaml#/components/schemas/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. - $ref: "../../components/SOL009_schemas.yaml#/components/schemas/Uri" - _links: - description: > - Links for this resource. - type: object - required: - - self - properties: - self: - description: > - URI of this resource. - $ref: "../../components/SOL009_schemas.yaml#/components/schemas/Link" - - Alarm: - description: > - The alarm data type encapsulates information about an alarm. - type: object - required: - - id - - managedObjectId - - alarmRaisedTime - - ackState - - perceivedSeverity - - eventTime - - eventType - - probableCause - - isRootCause - - _links - properties: - id: - description: > - Identifier of this Alarm information element. - $ref: "../../components/SOL009_schemas.yaml#/components/schemas/Identifier" - managedObjectId: - description: > - Identifier of the affected NFV-MANO instance. - $ref: "../../components/SOL009_schemas.yaml#/components/schemas/Identifier" - associatedFaultyInstanceId: - description: > - The resources that are causing the fault. - $ref: "../../components/SOL009_schemas.yaml#/components/schemas/ManoManagedObjectReference" - alarmRaisedTime: - description: > - Time stamp indicating when the alarm is raised by the managed - object. - $ref: "../../components/SOL009_schemas.yaml#/components/schemas/DateTime" - alarmChangedTime: - description: > - Time stamp indicating when the alarm was last changed. It shall be - present if the alarm has been updated. - $ref: "../../components/SOL009_schemas.yaml#/components/schemas/DateTime" - alarmClearedTime: - description: > - Time stamp indicating when the alarm was cleared. It shall be - present if the alarm has been cleared. - $ref: "../../components/SOL009_schemas.yaml#/components/schemas/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/PerceivedSeverityType" - eventTime: - description: > - Time stamp indicating when the fault was observed. - $ref: "../../components/SOL009_schemas.yaml#/components/schemas/DateTime" - eventType: - description: > - Type of event. - $ref: "#/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: "../../components/SOL009_schemas.yaml#/components/schemas/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: "../../components/SOL009_schemas.yaml#/components/schemas/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: "../../components/SOL009_schemas.yaml#/components/schemas/Link" - - AlarmNotification: - description: > - This type represents an alarm notification about NFV-MANO functional entity faults. - It shall comply with the provisions defined in table 7.6.2.5-1. - This notification shall be triggered by the NFV-MANO functional entity when: - - An alarm has been created. - - An alarm has been updated, e.g. if the severity of the alarm has changed. - - 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: "../../components/SOL009_schemas.yaml#/components/schemas/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: "../../components/SOL009_schemas.yaml#/components/schemas/Identifier" - timeStamp: - description: > - Date-time of the generation of the notification. - $ref: "../../components/SOL009_schemas.yaml#/components/schemas/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: "../../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" - - 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: "../../components/SOL009_schemas.yaml#/components/schemas/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: "../../components/SOL009_schemas.yaml#/components/schemas/Identifier" - timeStamp: - description: > - Date-time of the generation of the notification. - $ref: "../../components/SOL009_schemas.yaml#/components/schemas/DateTime" - alarmId: - description: > - Alarm identifier. - $ref: "../../components/SOL009_schemas.yaml#/components/schemas/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: "../../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" - alarm: - description: > - Link to the resource that represents the related alarm. - $ref: "../../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" - - 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: "../../components/SOL009_schemas.yaml#/components/schemas/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: "../../components/SOL009_schemas.yaml#/components/schemas/Identifier" - timeStamp: - description: > - Date-time of the generation of the notification. - $ref: "../../components/SOL009_schemas.yaml#/components/schemas/DateTime" - _links: - description: > - Links to resources related to this notification. - type: object - required: - - subscription - - alarms - properties: - subscription: - description: > - Link to the related subscription. - $ref: "../../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" - alarms: - description: > - Link to the alarm list, i.e. the "Alarms" resource. - $ref: "../../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" - - 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 - - FmNotificationsFilter: - description: > - This type represents a subscription filter related to notifications about NFV-MANO functional entity faults. - It shall comply with the provisions defined in table 7.6.3.2-1. 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: - 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 - perceivedSeverities: - description: > - Match VNF alarms with a perceived severity listed in this attribute. - type: array - items: - $ref: "#/definitions/PerceivedSeverityType" - eventTypes: - description: > - Match VNF alarms with an event type listed in this attribute. - type: array - items: - $ref: "#/definitions/EventType" - probableCauses: - description: > - Match VNF alarms with a probable cause listed in this attribute. - type: array - items: - type: string - - 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 -- GitLab From 04ea1809d05c851b28d177b0c8e1d301ce62c2c2 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Fri, 15 Nov 2019 18:31:31 +0100 Subject: [PATCH 35/55] Added notification endpoints for CIM & PM interfaces --- ...nAndInformationManagementNotification.yaml | 161 ++++++++++++++++++ ...ManoPerformanceManagementNotification.yaml | 160 +++++++++++++++++ 2 files changed, 321 insertions(+) create mode 100644 src/SOL009/NFVManoConfigurationAndInformationManagementNotification/NFVManoConfigurationAndInformationManagementNotification.yaml create mode 100644 src/SOL009/NFVManoPerformanceManagementNotification/NFVManoPerformanceManagementNotification.yaml diff --git a/src/SOL009/NFVManoConfigurationAndInformationManagementNotification/NFVManoConfigurationAndInformationManagementNotification.yaml b/src/SOL009/NFVManoConfigurationAndInformationManagementNotification/NFVManoConfigurationAndInformationManagementNotification.yaml new file mode 100644 index 0000000..f951de7 --- /dev/null +++ b/src/SOL009/NFVManoConfigurationAndInformationManagementNotification/NFVManoConfigurationAndInformationManagementNotification.yaml @@ -0,0 +1,161 @@ +openapi: 3.0.2 +info: + version: 1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + title: SOL009 - NFV-MANO Configuration and Information Management Notification Interface + description: > + SOL009 - NFV-MANO Configuration and Information 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 and has not been + approved by the ETSI NFV ISG. In case of discrepancies the published ETSI + Group Specification takes precedence. + Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + license: + name: ETSI Forge copyright notice + url: https://forge.etsi.org/etsi-forge-copyright-notice.txt + contact: + name: NFV-SOL WG +externalDocs: + description: ETSI GS NFV-SOL 009 V0.8.0 + url: https://docbox.etsi.org/ISG/NFV/Open/Drafts/SOL009ed331_MANO_mgmt_stage_3/NFV-SOL009ed331v080.zip + +servers: + - url: http://0.0.0.0/callback/v1 + description: > + API HTTP Server + - url: https://0.0.0.0/callback/v1 + description: > + API HTTPS Server + +paths: + /URI-is-provided-by-the-client-when-creating-the-subscription-ConfigurationAndInformationNotification: + description: > + This resource represents a notification endpoint. The API producer can use this + resource to send notifications related to NFV-MANO configuration and information + management to a subscribed API consumer, which has provided the URI of this + resource during the subscription process. + post: + description: > + The POST method delivers a notification from the API producer to an API consumer. + The API consumer shall have previously created an "Individual subscription" + resource with a matching filter. + parameters: + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" + requestBody: + $ref: "#/components/requestBodies/CreateConfigurationAnfInformationNotificationRequest" + responses: + "204": + $ref: "#/components/responses/notification.post.204" + "400": + $ref: ../responses/SOL009_resp.yaml#/responses/400 + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "422": + $ref: ../responses/SOL009_resp.yaml#/responses/422 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + + get: + description: > + TThe GET method allows the API producer to test the notification endpoint that + is provided by the API consumer, e.g., during the subscription process. + parameters: + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" + responses: + "204": + $ref: "#/components/responses/notification.get.204" + "400": + $ref: ../responses/SOL009_resp.yaml#/responses/400 + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "422": + $ref: ../responses/SOL009_resp.yaml#/responses/422 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + +components: + responses: + notification.post.204: + description: > + 204 NO CONTENT + + Shall be returned when the notification has been delivered successfully. + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + + notification.get.204: + description: > + 204 NO CONTENT + + Shall be returned to indicate that the notification endpoint has been + tested successfully. + + The response body shall be empty. + headers: + WWW-Authenticate: + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + + requestBodies: + CreateConfigurationAnfInformationNotificationRequest: + description: > + A notification about configuration and information data changes of the + NFV-MANO functional entity, or state changes of the NFV-MANO functional + entity and its managed objects. + content: + application/json: + schema: + oneOf: + - $ref: "../NFVManoConfigurationAndInformationManagement/NFVManoConfigurationAndInformationManagement.yaml#/components/schemas/InformationChangedNotification" + - $ref: "../NFVManoConfigurationAndInformationManagement/NFVManoConfigurationAndInformationManagement.yaml#/components/schemas/ChangeStateNotification" + required: true + + diff --git a/src/SOL009/NFVManoPerformanceManagementNotification/NFVManoPerformanceManagementNotification.yaml b/src/SOL009/NFVManoPerformanceManagementNotification/NFVManoPerformanceManagementNotification.yaml new file mode 100644 index 0000000..32eeca1 --- /dev/null +++ b/src/SOL009/NFVManoPerformanceManagementNotification/NFVManoPerformanceManagementNotification.yaml @@ -0,0 +1,160 @@ +openapi: 3.0.2 +info: + version: 1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + title: SOL009 - NFV-MANO Performance Management Notification Interface + description: > + SOL009 - NFV-MANO 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 and has not been + approved by the ETSI NFV ISG. In case of discrepancies the published ETSI + Group Specification takes precedence. + Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + license: + name: ETSI Forge copyright notice + url: https://forge.etsi.org/etsi-forge-copyright-notice.txt + contact: + name: NFV-SOL WG +externalDocs: + description: ETSI GS NFV-SOL 009 V0.8.0 + url: https://docbox.etsi.org/ISG/NFV/Open/Drafts/SOL009ed331_MANO_mgmt_stage_3/NFV-SOL009ed331v080.zip + +servers: + - url: http://0.0.0.0/callback/v1 + description: > + API HTTP Server + - url: https://0.0.0.0/callback/v1 + description: > + API HTTPS Server + +paths: + /URI-is-provided-by-the-client-when-creating-the-subscription-PerformanceInformationNotification: + description: > + This resource represents a notification endpoint for NFV-MANO performance management. + The API producer can use this resource to send notifications related to performance + management events to a subscribed API consumer, which has provided the URI of this + resource during the subscription process. + post: + description: > + The POST method delivers a notification regarding a performance management event + from the API producer to an API consumer. The API consumer shall have previously + created an "Individual subscription" resource with a matching filter. + parameters: + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" + requestBody: + $ref: "#/components/requestBodies/CreatePerfomanceInfoNotificationRequest" + responses: + "204": + $ref: "#/components/responses/notification.post.204" + "400": + $ref: ../responses/SOL009_resp.yaml#/responses/400 + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "422": + $ref: ../responses/SOL009_resp.yaml#/responses/422 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + + get: + description: > + The GET method allows the server to test the notification endpoint that is + provided by the client, e.g. during subscription. + parameters: + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" + responses: + "204": + $ref: "#/components/responses/notification.get.204" + "400": + $ref: ../responses/SOL009_resp.yaml#/responses/400 + "401": + $ref: ../responses/SOL009_resp.yaml#/responses/401 + "403": + $ref: ../responses/SOL009_resp.yaml#/responses/403 + "404": + $ref: ../responses/SOL009_resp.yaml#/responses/404 + "405": + $ref: ../responses/SOL009_resp.yaml#/responses/405 + "406": + $ref: ../responses/SOL009_resp.yaml#/responses/406 + "422": + $ref: ../responses/SOL009_resp.yaml#/responses/422 + "500": + $ref: ../responses/SOL009_resp.yaml#/responses/500 + "503": + $ref: ../responses/SOL009_resp.yaml#/responses/503 + "504": + $ref: ../responses/SOL009_resp.yaml#/responses/504 + +components: + responses: + notification.post.204: + description: > + 204 NO CONTENT + + Shall be returned when the notification has been delivered successfully. + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + + notification.get.204: + description: > + 204 NO CONTENT + + Shall be returned to indicate that the notification endpoint has been + tested successfully. + + The response body shall be empty. + headers: + WWW-Authenticate: + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + + requestBodies: + CreatePerfomanceInfoNotificationRequest: + description: > + Notification about the avaialbility of a performance information or a threshold + crossing. + content: + application/json: + schema: + oneOf: + - $ref: "../NFVManoPerformanceManagement/NFVManoPerformanceManagement.yaml#/components/schemas/PerformanceInformationAvailableNotification" + - $ref: "../NFVManoPerformanceManagement/NFVManoPerformanceManagement.yaml#/components/schemas/ThresholdCrossedNotification" + required: true + + -- GitLab From c9aade11436381ff99e0c7fcf81592f0fdddf24e Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Sun, 17 Nov 2019 17:31:48 +0100 Subject: [PATCH 36/55] fixed refs --- ...nAndInformationManagementNotification.yaml | 40 +++++++++---------- ...ManoPerformanceManagementNotification.yaml | 40 +++++++++---------- 2 files changed, 40 insertions(+), 40 deletions(-) diff --git a/src/SOL009/NFVManoConfigurationAndInformationManagementNotification/NFVManoConfigurationAndInformationManagementNotification.yaml b/src/SOL009/NFVManoConfigurationAndInformationManagementNotification/NFVManoConfigurationAndInformationManagementNotification.yaml index f951de7..6a94132 100644 --- a/src/SOL009/NFVManoConfigurationAndInformationManagementNotification/NFVManoConfigurationAndInformationManagementNotification.yaml +++ b/src/SOL009/NFVManoConfigurationAndInformationManagementNotification/NFVManoConfigurationAndInformationManagementNotification.yaml @@ -49,25 +49,25 @@ paths: "204": $ref: "#/components/responses/notification.post.204" "400": - $ref: ../responses/SOL009_resp.yaml#/responses/400 + $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: ../components/SOL009_resp.yaml#/components/responses/404 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL009_resp.yaml#/responses/422 + $ref: ../components/SOL009_resp.yaml#/components/responses/422 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: ../components/SOL009_resp.yaml#/components/responses/504 get: description: > @@ -81,25 +81,25 @@ paths: "204": $ref: "#/components/responses/notification.get.204" "400": - $ref: ../responses/SOL009_resp.yaml#/responses/400 + $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: ../components/SOL009_resp.yaml#/components/responses/404 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL009_resp.yaml#/responses/422 + $ref: ../components/SOL009_resp.yaml#/components/responses/422 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: ../components/SOL009_resp.yaml#/components/responses/504 components: responses: diff --git a/src/SOL009/NFVManoPerformanceManagementNotification/NFVManoPerformanceManagementNotification.yaml b/src/SOL009/NFVManoPerformanceManagementNotification/NFVManoPerformanceManagementNotification.yaml index 32eeca1..6efde66 100644 --- a/src/SOL009/NFVManoPerformanceManagementNotification/NFVManoPerformanceManagementNotification.yaml +++ b/src/SOL009/NFVManoPerformanceManagementNotification/NFVManoPerformanceManagementNotification.yaml @@ -49,25 +49,25 @@ paths: "204": $ref: "#/components/responses/notification.post.204" "400": - $ref: ../responses/SOL009_resp.yaml#/responses/400 + $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: ../components/SOL009_resp.yaml#/components/responses/404 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL009_resp.yaml#/responses/422 + $ref: ../components/SOL009_resp.yaml#/components/responses/422 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: ../components/SOL009_resp.yaml#/components/responses/504 get: description: > @@ -81,25 +81,25 @@ paths: "204": $ref: "#/components/responses/notification.get.204" "400": - $ref: ../responses/SOL009_resp.yaml#/responses/400 + $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": - $ref: ../responses/SOL009_resp.yaml#/responses/401 + $ref: ../components/SOL009_resp.yaml#/components/responses/401 "403": - $ref: ../responses/SOL009_resp.yaml#/responses/403 + $ref: ../components/SOL009_resp.yaml#/components/responses/403 "404": - $ref: ../responses/SOL009_resp.yaml#/responses/404 + $ref: ../components/SOL009_resp.yaml#/components/responses/404 "405": - $ref: ../responses/SOL009_resp.yaml#/responses/405 + $ref: ../components/SOL009_resp.yaml#/components/responses/405 "406": - $ref: ../responses/SOL009_resp.yaml#/responses/406 + $ref: ../components/SOL009_resp.yaml#/components/responses/406 "422": - $ref: ../responses/SOL009_resp.yaml#/responses/422 + $ref: ../components/SOL009_resp.yaml#/components/responses/422 "500": - $ref: ../responses/SOL009_resp.yaml#/responses/500 + $ref: ../components/SOL009_resp.yaml#/components/responses/500 "503": - $ref: ../responses/SOL009_resp.yaml#/responses/503 + $ref: ../components/SOL009_resp.yaml#/components/responses/503 "504": - $ref: ../responses/SOL009_resp.yaml#/responses/504 + $ref: ../components/SOL009_resp.yaml#/components/responses/504 components: responses: -- GitLab From 791d84519f458db94cd5b3aadcc4e07b558b2687 Mon Sep 17 00:00:00 2001 From: Michele Carignani Date: Sun, 17 Nov 2019 16:35:54 +0100 Subject: [PATCH 37/55] add validation scripts --- .jenkins.sh | 19 +++++++ docker/Dockerfile | 33 ++++++++++++ docker/build-container.sh | 25 +++++++++ docker/oas2pdf | 61 +++++++++++++++++++++ docker/run-container.sh | 27 ++++++++++ docker/swg2mrkup | 17 ++++++ docker/validate-in-docker.sh | 100 +++++++++++++++++++++++++++++++++++ 7 files changed, 282 insertions(+) create mode 100644 .jenkins.sh create mode 100644 docker/Dockerfile create mode 100644 docker/build-container.sh create mode 100644 docker/oas2pdf create mode 100644 docker/run-container.sh create mode 100644 docker/swg2mrkup create mode 100644 docker/validate-in-docker.sh diff --git a/.jenkins.sh b/.jenkins.sh new file mode 100644 index 0000000..2a971ec --- /dev/null +++ b/.jenkins.sh @@ -0,0 +1,19 @@ +#!/bin/bash +# Copyright ETSI 2017 +# See: https://forge.etsi.org/etsi-forge-copyright-statement.txt + +cd "$(dirname "$0")" + +run_dir="$(pwd)" + +rm build/*-API.yaml +rm build/*-API.json + +cd docker + +./build-container.sh + +./run-container.sh "${run_dir}" +OUTCOME=$? + +exit $OUTCOME diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 0000000..d9edc42 --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,33 @@ +# Copyright ETSI 2017 +# See: https://forge.etsi.org/etsi-forge-copyright-statement.txt + +FROM alpine:3.6 + +RUN env +RUN apk update +RUN apk add bash +RUN apk add nodejs +RUN apk add nodejs-npm +RUN apk add asciidoctor +RUN apk add openjdk8 +RUN apk add ca-certificates wget && update-ca-certificates +RUN apk add openssl +RUN gem install rdoc --pre || gem install rdoc --pre +RUN gem install asciidoctor-pdf-cjk +RUN wget https://forge.etsi.org/swagger2markup-cli-1.3.2.jar +RUN npm config set proxy $http_proxy +RUN npm install -g swagger-tools@0.10.3 +RUN npm install -g json-refs@3.0.2 +RUN npm install -g yamljs@0.3.0 + +ADD validate-in-docker.sh /validate-in-docker.sh +RUN chmod +x /validate-in-docker.sh + +ADD swg2mrkup /bin/swg2mrkup +RUN chmod +x /bin/swg2mrkup + +ADD oas2pdf /bin/oas2pdf +RUN chmod +x /bin/oas2pdf + +ENTRYPOINT ["/validate-in-docker.sh"] + diff --git a/docker/build-container.sh b/docker/build-container.sh new file mode 100644 index 0000000..d633cde --- /dev/null +++ b/docker/build-container.sh @@ -0,0 +1,25 @@ +#!/bin/bash +# Copyright ETSI 2017 +# See: https://forge.etsi.org/etsi-forge-copyright-statement.txt + +#set -x + +proxy = "" +if [[ ! -v http_proxy ]]; then + echo "http_proxy is not set" +elif [[ -z "$http_proxy" ]]; then + echo "http_proxy is empty" +else + echo "http_proxy is set to $http_proxy" + if [[ $http_proxy =~ ^http:\/\/[0-9] ]]; then + echo "starts with http" + proxy=$http_proxy + elif [[ $http_proxy =~ ^[0-9] ]]; then + echo "starts with number" + proxy=http://$http_proxy + fi +fi + +echo "Proxy set to $proxy" + +docker build --build-arg http_proxy=$proxy --build-arg https_proxy=$proxy -t openapivalidator . \ No newline at end of file diff --git a/docker/oas2pdf b/docker/oas2pdf new file mode 100644 index 0000000..70a36a0 --- /dev/null +++ b/docker/oas2pdf @@ -0,0 +1,61 @@ +#!/bin/bash +#Copyright (c) ETSI 2017. + +# This software is subject to copyrights owned by ETSI. Non-exclusive permission +# is hereby granted, free of charge, to copy, reproduce and amend this file +# under the following conditions: It is provided "as is", without warranty of any +# kind, expressed or implied. + +# ETSI shall never be liable for any claim, damages, or other liability arising +# from its use or inability of use.This permission does not apply to any documentation +# associated with this file for which ETSI keeps all rights reserved. The present +# copyright notice shall be included in all copies of whole or part of this +# software and shall not imply any sub-license right. +# +# Author: michele.carignani@etsi.org +# +# This script takes an OpenAPI file in input and creates +# a PDF file with the content. +# +# Prerequisites: +# - https://github.com/Swagger2Markup/swagger2markup-cli +# - Asciidoctor (sudo apt-get install asciidoctor) +# - Asciidoctor-pdf (sudo gem install asciidoctor-pdf) +# +# Usage: +# oas2pdf (e.g. myapi.json) +# +# Result: +# A new pdf file is created in the working directory (e.g. myapi.pdf) +# +# +# +# + +# Configuration + +# Change this if needed +SWG2MRKUP=swg2mrkup +ASCIIDOCPDF=asciidoctor-pdf + +# Setup +WD=$(pwd) +TWD=$(mktemp -d) + +INFILE=$(basename ${1?"Error: missing input file name"} ) +OUTFILE="${INFILE%.*}" + +echo "$INFILE, $OUTFILE" + +echo "Converting to asciidoc.." +${SWG2MRKUP} convert -i "$1" -f "$TWD/$OUTFILE" +echo + +echo "Converting to PDF.." +"${ASCIIDOCPDF}" "$TWD/${OUTFILE}.adoc" -o "$WD/${OUTFILE}.pdf" +echo + +echo "Done." +# Clean up +rm -r $TWD + diff --git a/docker/run-container.sh b/docker/run-container.sh new file mode 100644 index 0000000..7118514 --- /dev/null +++ b/docker/run-container.sh @@ -0,0 +1,27 @@ +#!/bin/bash +# Copyright ETSI 2017 +# See: https://forge.etsi.org/etsi-forge-copyright-statement.txt + +# Change this variable to true if you want +# to copy the created yaml files to a web served directory +# +# +WEB_PUBLISH=true + +f="${1:-`pwd`}" +filter="$2" + +echo "Mounting dir $f as /work" + +if [ -n "$JOB_BASE_NAME" -a "$WEB_PUBLISH" = true ] ; then + s="/var/www/html/api/nfv/$JOB_BASE_NAME/$BUILD_NUMBER" + mkdir -v -p "$s" + echo "Mounting dir $s as /storage" + docker run -v "$f":/work -v "$s":/storage openapivalidator "/work" "/storage" "$filter" +else + docker run -v "$f":/work openapivalidator "/work" "/storage" "$filter" +fi + + + + diff --git a/docker/swg2mrkup b/docker/swg2mrkup new file mode 100644 index 0000000..b549371 --- /dev/null +++ b/docker/swg2mrkup @@ -0,0 +1,17 @@ +#!/bin/bash +#Copyright (c) ETSI 2017. + +# This software is subject to copyrights owned by ETSI. Non-exclusive permission +# is hereby granted, free of charge, to copy, reproduce and amend this file +# under the following conditions: It is provided "as is", without warranty of any +# kind, expressed or implied. + +# ETSI shall never be liable for any claim, damages, or other liability arising +# from its use or inability of use.This permission does not apply to any documentation +# associated with this file for which ETSI keeps all rights reserved. The present +# copyright notice shall be included in all copies of whole or part of this +# software and shall not imply any sub-license right. +# +# Author: michele.carignani@etsi.org + +java -jar /swagger2markup-cli-1.3.2.jar $@ diff --git a/docker/validate-in-docker.sh b/docker/validate-in-docker.sh new file mode 100644 index 0000000..f6738fe --- /dev/null +++ b/docker/validate-in-docker.sh @@ -0,0 +1,100 @@ +#!/bin/bash +# Copyright ETSI 2017 +# See: https://forge.etsi.org/etsi-forge-copyright-statement.txt + +# Merges OpenAPIs interfaces in the working directory +# and validates them individually. +# Exit status is 0 if all validation passed, 1 otherwise + +# Usage: +# $0 + +#set -x + +function store_api () { + f="$1" + cp -v "$1" "${storage_dir}/" +} + +function validate_api () { + file="$1" + api="$2" + deliverable="$3" + echo "--- Merging file." + merged_file="../build/${deliverable}-${api}-API.yaml" + json_file="../build/${deliverable}-${api}-API.json" + json-refs resolve "${file}" > "${merged_file}" + yaml2json "${merged_file}" > "${json_file}" + + # Create the PDF version + echo "--- Create PDF..." + oas2pdf "${json_file}" 2>/dev/null 1>/dev/null + mv "${deliverable}-${api}-API.pdf" "../build/" + + echo "--- Validating ${merged_file}" + swagger-tools validate "${merged_file}" + vres=$? + echo "--- Validation done ($vres)." + + # If validation succedes, store the generated file + [ $vres -a -d "/storage" ] && store_api "${merged_file}" + [ $vres -a -d "/storage" ] && store_api "${json_file}" + [ $vres -a -d "/storage" ] && store_api "../build/${deliverable}-${api}-API.pdf" + + + return $vres +} + +# usage get_api_from_fn +# e.g. get_api_from_fn /path/to/SOL003/Api1/Api1.yaml returns Api1 +function get_api_from_fn () { + echo "$(basename $(dirname $1))" +} + +# usage get_api_from_fn +# e.g. get_api_from_fn /path/to/SOL003/Api1/Api1.yaml returns Api1 +function get_deliverable_from_fn () { + echo "$(basename $(dirname $(dirname $1 )))" +} + +## Main ## + +wd="${1?"Usage: $0 []"}" +storage_dir="${2?"Usage: $0 []"}" + +filter="$3" +echo "Using filter '$filter'" +echo + +mkdir -p "$wd/build" + +echo "Entering dir $wd/src" +cd "$wd/src" + +# Stores the overall validation result +# (single results in OR) +fres=0 + + +for f in $(find -name "*.yaml") ; do + # echo "Found yaml file: $f" + file=$(basename "$f") + api=$(get_api_from_fn $f) + deliverable=$(get_deliverable_from_fn $f) + if [ "$file" = "$api.yaml" ]; then + if [[ -n "$filter" && ! "$f" =~ ^[a-zA-Z0-9\.\/\-]*$filter[a-zA-Z\.\/0-9\-]*$ ]] ; then + echo "Filtered out: $f (api: $api) (deliverable:$deliverable)." + else + echo "-- Will validate: $f (api: $api) (deliverable:$deliverable)" + validate_api "$f" "$api" "$deliverable" + res=$? + fres=$(($fres||$res)) + fi + fi +done + +chmod -R o+w "$wd/build" + +# Exit code needed for jenkins to know the verdict of the build +echo "-- Final validator returns $fres." +exit $fres -- GitLab From ec3c25fa558243ee497c5c1caa19b9af65adfa2f Mon Sep 17 00:00:00 2001 From: Michele Carignani Date: Sun, 17 Nov 2019 16:54:55 +0100 Subject: [PATCH 38/55] fix permissions --- docker/build-container.sh | 0 docker/run-container.sh | 0 2 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 docker/build-container.sh mode change 100644 => 100755 docker/run-container.sh diff --git a/docker/build-container.sh b/docker/build-container.sh old mode 100644 new mode 100755 diff --git a/docker/run-container.sh b/docker/run-container.sh old mode 100644 new mode 100755 -- GitLab From fc8e0f1e40812f51c37385cb5a9d7066439b3c90 Mon Sep 17 00:00:00 2001 From: Michele Carignani Date: Sun, 17 Nov 2019 17:36:13 +0100 Subject: [PATCH 39/55] use swagger-cli for the validation --- docker/Dockerfile | 2 +- docker/validate-in-docker.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index d9edc42..14912f8 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -16,7 +16,7 @@ RUN gem install rdoc --pre || gem install rdoc --pre RUN gem install asciidoctor-pdf-cjk RUN wget https://forge.etsi.org/swagger2markup-cli-1.3.2.jar RUN npm config set proxy $http_proxy -RUN npm install -g swagger-tools@0.10.3 +RUN npm install -g swagger-cli@0.10.3 RUN npm install -g json-refs@3.0.2 RUN npm install -g yamljs@0.3.0 diff --git a/docker/validate-in-docker.sh b/docker/validate-in-docker.sh index f6738fe..765269d 100644 --- a/docker/validate-in-docker.sh +++ b/docker/validate-in-docker.sh @@ -32,7 +32,7 @@ function validate_api () { mv "${deliverable}-${api}-API.pdf" "../build/" echo "--- Validating ${merged_file}" - swagger-tools validate "${merged_file}" + swagger-cli validate "${merged_file}" vres=$? echo "--- Validation done ($vres)." -- GitLab From e59e98646ff348792c9002d919d1e221673555b1 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Sun, 17 Nov 2019 18:50:50 +0100 Subject: [PATCH 40/55] upd externalDocs --- src/SOL009/APIVersion/APIVersion.yaml | 4 +- ...ConfigurationAndInformationManagement.yaml | 4 +- ...nAndInformationManagementNotification.yaml | 4 +- .../NFVManoFaultManagement.yaml | 518 +++++++++--------- .../NFVManoFaultManagementNotification.yaml | 333 ++++++----- .../NFVManoLogManagement.yaml | 4 +- .../NFVManoLogManagementNotification.yaml | 4 +- .../NFVManoPerformanceManagement.yaml | 9 +- ...ManoPerformanceManagementNotification.yaml | 4 +- 9 files changed, 474 insertions(+), 410 deletions(-) diff --git a/src/SOL009/APIVersion/APIVersion.yaml b/src/SOL009/APIVersion/APIVersion.yaml index 57b3c5e..749ca12 100644 --- a/src/SOL009/APIVersion/APIVersion.yaml +++ b/src/SOL009/APIVersion/APIVersion.yaml @@ -23,8 +23,8 @@ info: name: NFV-SOL WG externalDocs: - description: ETSI GS NFV-SOL 009 V0.8.0 - url: https://docbox.etsi.org/ISG/NFV/Open/Drafts/SOL009ed331_MANO_mgmt_stage_3/NFV-SOL009ed331v080.zip + description: ETSI GS NFV-SOL 009 V3.3.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/009/03.03.01_60/gs_NFV-SOL009v030301p.pdf paths: /nfvmanofm/api_versions: diff --git a/src/SOL009/NFVManoConfigurationAndInformationManagement/NFVManoConfigurationAndInformationManagement.yaml b/src/SOL009/NFVManoConfigurationAndInformationManagement/NFVManoConfigurationAndInformationManagement.yaml index 5c8ef40..2eba359 100644 --- a/src/SOL009/NFVManoConfigurationAndInformationManagement/NFVManoConfigurationAndInformationManagement.yaml +++ b/src/SOL009/NFVManoConfigurationAndInformationManagement/NFVManoConfigurationAndInformationManagement.yaml @@ -16,8 +16,8 @@ info: contact: name: NFV-SOL WG externalDocs: - description: ETSI GS NFV-SOL 009 V0.8.0 - url: https://docbox.etsi.org/ISG/NFV/Open/Drafts/SOL009ed331_MANO_mgmt_stage_3/NFV-SOL009ed331v080.zip + description: ETSI GS NFV-SOL 009 V3.3.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/009/03.03.01_60/gs_NFV-SOL009v030301p.pdf servers: - url: http://0.0.0.0/nfvmanocim/v1 diff --git a/src/SOL009/NFVManoConfigurationAndInformationManagementNotification/NFVManoConfigurationAndInformationManagementNotification.yaml b/src/SOL009/NFVManoConfigurationAndInformationManagementNotification/NFVManoConfigurationAndInformationManagementNotification.yaml index 6a94132..64860a2 100644 --- a/src/SOL009/NFVManoConfigurationAndInformationManagementNotification/NFVManoConfigurationAndInformationManagementNotification.yaml +++ b/src/SOL009/NFVManoConfigurationAndInformationManagementNotification/NFVManoConfigurationAndInformationManagementNotification.yaml @@ -16,8 +16,8 @@ info: contact: name: NFV-SOL WG externalDocs: - description: ETSI GS NFV-SOL 009 V0.8.0 - url: https://docbox.etsi.org/ISG/NFV/Open/Drafts/SOL009ed331_MANO_mgmt_stage_3/NFV-SOL009ed331v080.zip + description: ETSI GS NFV-SOL 009 V3.3.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/009/03.03.01_60/gs_NFV-SOL009v030301p.pdf servers: - url: http://0.0.0.0/callback/v1 diff --git a/src/SOL009/NFVManoFaultManagement/NFVManoFaultManagement.yaml b/src/SOL009/NFVManoFaultManagement/NFVManoFaultManagement.yaml index 091f91c..9a98ca6 100644 --- a/src/SOL009/NFVManoFaultManagement/NFVManoFaultManagement.yaml +++ b/src/SOL009/NFVManoFaultManagement/NFVManoFaultManagement.yaml @@ -12,8 +12,8 @@ info: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: - description: ETSI GS NFV-SOL 009 V0.8.0 - url: https://docbox.etsi.org/ISG/NFV/Open/Drafts/SOL009ed331_MANO_mgmt_stage_3/NFV-SOL009ed331v080.zip + description: ETSI GS NFV-SOL 009 V3.3.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/009/03.03.01_60/gs_NFV-SOL009v030301p.pdf servers: - url: http://127.0.0.1/nfvmanofm/v1 @@ -37,46 +37,7 @@ paths: - $ref: "../components/SOL009_params.yaml#/components/parameters/nextpage_opaque_marker" responses: "200": - description: > - 200 OK - - Shall be returned when information about zero or more alarms has been queried successfully. - The response body shall contain in an array the representations of zero or more alarms as defined - in clause 7.6.2.4. If the "filter" URI parameter was supplied in the request, the data in the response - body shall have been transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. - If the NFV-MANO functional entity supports alternative 2 (paging) according to clause 5.4.2.1 of - ETSI GS NFV-SOL 013 for this resource, inclusion of the Link HTTP header in this response shall - follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - Content-Type: - description: > - The MIME type of the body of the request. Reference: IETF RFC - 7231 - schema: - type: string - minimum: 1 - maximum: 1 - Version: - description: | - Version of the API used in the response. - schema: - type: string - minimum: 1 - maximum: 1 - Link: - description: > - Reference to other resources. Used for paging in the present - document. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - type: array - items: - $ref: "../components/SOL009_schemas.yaml#/components/schemas/Alarm" + $ref: '#/components/responses/Alarms.get' "400": $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": @@ -112,24 +73,7 @@ paths: - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "200": - description: > - 200 OK - - Shall be returned when information about an individual alarm has been read successfully. The response body - shall contain a representation of the individual alarm - headers: - Content-Type: - description: > - The MIME type of the body of the request. Reference: IETF RFC - 7231 - schema: - type: string - minimum: 1 - maximum: 1 - content: - application/json: - schema: - $ref: "../components/SOL009_schemas.yaml#/components/schemas/Alarm" + $ref: '#/components/responses/Alarm.get' "400": $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": @@ -162,44 +106,10 @@ paths: - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" - $ref: "../components/SOL009_params.yaml#/components/parameters/ContentType" requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/AlarmModifications" - description: > - The parameter for the alarm modification, as defined in clause - 7.6.2.8. The Content-Type header shall be set to - "application/merge-patch+json" according to IETF RFC 7396. - required: true + $ref: "#/components/requestBodies/AlarmModifications" responses: "200": - description: > - 200 OK - - Shall be returned when the request has been accepted and completed. ì The response body shall contain - attribute modifications for an "Individual alarm" resource (see clause 7.6.2.4). - headers: - Content-Type: - description: > - The MIME type of the body of the request. Reference: IETF RFC - 7231 - schema: - type: string - minimum: 1 - maximum: 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. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - $ref: "#/components/schemas/AlarmModifications" + $ref: '#/components/responses/Alarm.patch' "400": $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": @@ -251,52 +161,10 @@ paths: - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" - $ref: "../components/SOL009_params.yaml#/components/parameters/ContentType" requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/FmSubscriptionRequest" - description: > - Details of the subscription to be created, as defined in clause - 7.6.2.2. - required: true + $ref: "#/components/requestBodies/FmSubscriptionRequest" responses: "201": - description: > - 201 CREATED - - Shall be returned when the subscription has been created successfully. The response body shall contain a - representation of the created "Individual subscription" resource. The HTTP response shall include a - "Location:"" HTTP header that points to the created "Individual subscription" resource. - headers: - Content-Type: - description: > - The MIME type of the body of the request. Reference: IETF RFC - 7231 - schema: - type: string - minimum: 1 - maximum: 1 - Location: - description: | - The resource URI of the created subscription resource. - schema: - type: string - format: url - minimum: 1 - maximum: 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. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - $ref: "#/components/schemas/FmSubscription" + $ref: '#/components/responses/Subscriptions.post' "303": $ref: ../components/SOL009_resp.yaml#/components/responses/303 "400": @@ -335,54 +203,7 @@ paths: - $ref: "../components/SOL009_params.yaml#/components/parameters/nextpage_opaque_marker" responses: "200": - description: > - 200 OK - - Shall be returned when the list of subscriptions has been queried successfully. The response body shall - contain in an array the representations of all active subscriptions of the functional block that invokes - the method, i.e. zero or more representations of FM subscriptions as defined in clause 7.6.2.3. If the - "filter" URI parameter was supplied in the request, the data in the response body shall have been - transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. If the NFV-MANO - functional entity supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 - for this resource, inclusion of the Link HTTP header in this response shall follow the provisions in - clause 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - Content-Type: - description: > - The MIME type of the body of the request. Reference: IETF RFC - 7231 - schema: - type: string - minimum: 1 - maximum: 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. - schema: - type: string - minimum: 0 - maximum: 1 - Version: - description: | - Version of the API used in the response. - schema: - type: string - minimum: 1 - maximum: 1 - Link: - description: > - Reference to other resources. Used for paging in the present - document, see clause 4.7.2.1. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - $ref: "#/components/schemas/FmSubscription" + $ref: '#/components/responses/Subscriptions.get' "400": $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": @@ -419,40 +240,7 @@ paths: - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "200": - description: > - 200 OK - - 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 - schema: - type: string - minimum: 1 - maximum: 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. - schema: - type: string - minimum: 0 - maximum: 1 - Version: - description: | - Version of the API used in the response. - schema: - type: string - minimum: 1 - maximum: 1 - content: - application/json: - schema: - $ref: "#/components/schemas/FmSubscription" + $ref: '#/components/responses/Subscription.get' "400": $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": @@ -490,28 +278,7 @@ paths: - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "204": - description: > - 204 NO CONTENT - - Shall be returned when the "Individual subscription" resource has been deleted 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. - schema: - type: string - minimum: 0 - maximum: 1 - Version: - description: | - Version of the API used in the response. - schema: - type: string - minimum: 1 - maximum: 1 + $ref: '#/components/responses/Subscription.delete' "400": $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": @@ -687,3 +454,266 @@ components: type: array items: type: string + requestBodies: + AlarmModifications: + description: > + The parameter for the alarm modification, as defined in clause + 7.6.2.8. The Content-Type header shall be set to + "application/merge-patch+json" according to IETF RFC 7396. + content: + application/json: + schema: + $ref: "#/components/schemas/AlarmModifications" + required: true + + FmSubscriptionRequest: + description: > + Details of the subscription to be created, as defined in clause + 7.6.2.2. + content: + application/json: + schema: + $ref: "#/components/schemas/FmSubscriptionRequest" + required: true + + responses: + Alarms.get: + description: > + 200 OK + + Shall be returned when information about zero or more alarms has been queried successfully. + The response body shall contain in an array the representations of zero or more alarms as defined + in clause 7.6.2.4. If the "filter" URI parameter was supplied in the request, the data in the response + body shall have been transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. + If the NFV-MANO functional entity supports alternative 2 (paging) according to clause 5.4.2.1 of + ETSI GS NFV-SOL 013 for this resource, inclusion of the Link HTTP header in this response shall + follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. + headers: + Content-Type: + description: > + The MIME type of the body of the request. Reference: IETF RFC + 7231 + schema: + type: string + minimum: 1 + maximum: 1 + Version: + description: | + Version of the API used in the response. + schema: + type: string + minimum: 1 + maximum: 1 + Link: + description: > + Reference to other resources. Used for paging in the present + document. + schema: + type: string + minimum: 0 + maximum: 1 + content: + application/json: + schema: + type: array + items: + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Alarm" + + Alarm.get: + description: > + 200 OK + + Shall be returned when information about an individual alarm has been read successfully. The response body + shall contain a representation of the individual alarm + headers: + Content-Type: + description: > + The MIME type of the body of the request. Reference: IETF RFC + 7231 + schema: + type: string + minimum: 1 + maximum: 1 + content: + application/json: + schema: + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Alarm" + + Alarm.patch: + description: > + 200 OK + + Shall be returned when the request has been accepted and completed. ì The response body shall contain + attribute modifications for an "Individual alarm" resource (see clause 7.6.2.4). + headers: + Content-Type: + description: > + The MIME type of the body of the request. Reference: IETF RFC + 7231 + schema: + type: string + minimum: 1 + maximum: 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. + schema: + type: string + minimum: 0 + maximum: 1 + content: + application/json: + schema: + $ref: "#/components/schemas/AlarmModifications" + + Subscriptions.post: + description: > + 201 CREATED + + Shall be returned when the subscription has been created successfully. The response body shall contain a + representation of the created "Individual subscription" resource. The HTTP response shall include a + "Location:"" HTTP header that points to the created "Individual subscription" resource. + headers: + Content-Type: + description: > + The MIME type of the body of the request. Reference: IETF RFC + 7231 + schema: + type: string + minimum: 1 + maximum: 1 + Location: + description: | + The resource URI of the created subscription resource. + schema: + type: string + format: url + minimum: 1 + maximum: 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. + schema: + type: string + minimum: 0 + maximum: 1 + content: + application/json: + schema: + $ref: "#/components/schemas/FmSubscription" + + Subscriptions.get: + description: > + 200 OK + + Shall be returned when the list of subscriptions has been queried successfully. The response body shall + contain in an array the representations of all active subscriptions of the functional block that invokes + the method, i.e. zero or more representations of FM subscriptions as defined in clause 7.6.2.3. If the + "filter" URI parameter was supplied in the request, the data in the response body shall have been + transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. If the NFV-MANO + functional entity supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 + for this resource, inclusion of the Link HTTP header in this response shall follow the provisions in + clause 5.4.2.3 of ETSI GS NFV-SOL 013. + headers: + Content-Type: + description: > + The MIME type of the body of the request. Reference: IETF RFC + 7231 + schema: + type: string + minimum: 1 + maximum: 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. + schema: + type: string + minimum: 0 + maximum: 1 + Version: + description: | + Version of the API used in the response. + schema: + type: string + minimum: 1 + maximum: 1 + Link: + description: > + Reference to other resources. Used for paging in the present + document, see clause 4.7.2.1. + schema: + type: string + minimum: 0 + maximum: 1 + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/FmSubscription" + + Subscription.get: + description: > + 200 OK + + 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 + schema: + type: string + minimum: 1 + maximum: 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. + schema: + type: string + minimum: 0 + maximum: 1 + Version: + description: | + Version of the API used in the response. + schema: + type: string + minimum: 1 + maximum: 1 + content: + application/json: + schema: + $ref: "#/components/schemas/FmSubscription" + + Subscription.delete: + description: > + 204 NO CONTENT + + Shall be returned when the "Individual subscription" resource has been deleted 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. + schema: + type: string + minimum: 0 + maximum: 1 + Version: + description: | + Version of the API used in the response. + schema: + type: string + minimum: 1 + maximum: 1 \ No newline at end of file diff --git a/src/SOL009/NFVManoFaultManagementNotification/NFVManoFaultManagementNotification.yaml b/src/SOL009/NFVManoFaultManagementNotification/NFVManoFaultManagementNotification.yaml index 133384e..0b8151a 100644 --- a/src/SOL009/NFVManoFaultManagementNotification/NFVManoFaultManagementNotification.yaml +++ b/src/SOL009/NFVManoFaultManagementNotification/NFVManoFaultManagementNotification.yaml @@ -12,8 +12,8 @@ info: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: - description: ETSI GS NFV-SOL 009 V0.8.0 - url: https://docbox.etsi.org/ISG/NFV/Open/Drafts/SOL009ed331_MANO_mgmt_stage_3/NFV-SOL009ed331v080.zip + description: ETSI GS NFV-SOL 009 V3.3.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/009/03.03.01_60/gs_NFV-SOL009v030301p.pdf security: - OauthSecurity: @@ -38,36 +38,10 @@ paths: - $ref: "../components/SOL009_params.yaml#/components/parameters/ContentType" - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/AlarmNotification" - description: > - Information of a NFV-MANO functional entity alarm. - required: true + $ref: "#/components/requestBodies/AlarmNotification" responses: "204": - description: > - 204 NO CONTENT - - Shall be returned when the notification has been 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. - schema: - type: string - minimum: 0 - maximum: 1 - Version: - description: | - Version of the API used in the response. - schema: - type: string - minimum: 1 - maximum: 1 + $ref: "#/components/responses/AlarmNotification.post" "400": $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": @@ -94,28 +68,7 @@ paths: - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "204": - description: > - 204 NO CONTENT - - Shall be returned to indicate that the notification endpoint has been tested successfully. - The response body shall be empty. - headers: - WWW-Authenticate: - 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. - schema: - type: string - minimum: 0 - maximum: 1 - Version: - description: | - Version of the API used in the response. - schema: - type: string - minimum: 1 - maximum: 1 + $ref: "#/components/responses/AlarmNotification.get" "400": $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": @@ -144,36 +97,10 @@ paths: - $ref: "../components/SOL009_params.yaml#/components/parameters/ContentType" - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/AlarmClearedNotification" - description: | - Information of the clearance of an NFV-MANO functional entity alarm. - required: true + $ref: "#/components/requestBodies/AlarmClearedNotification" responses: "204": - description: > - 204 NO CONTENT - - Shall be returned when the notification has been 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. - schema: - type: string - minimum: 0 - maximum: 1 - Version: - description: | - Version of the API used in the response. - schema: - type: string - minimum: 1 - maximum: 1 + $ref: "#/components/responses/AlarmClearedNotification.post" "400": $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": @@ -200,28 +127,7 @@ paths: - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "204": - description: > - 204 NO CONTENT - - Shall be returned to indicate that the notification endpoint has been tested successfully. - The response body shall be empty. - headers: - WWW-Authenticate: - 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. - schema: - type: string - minimum: 0 - maximum: 1 - Version: - description: | - Version of the API used in the response. - schema: - type: string - minimum: 1 - maximum: 1 + $ref: "#/components/responses/AlarmClearedNotification.get" "400": $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": @@ -250,37 +156,10 @@ paths: - $ref: "../components/SOL009_params.yaml#/components/parameters/ContentType" - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/AlarmListRebuiltNotification" - description: > - Information that the alarm list has been rebuilt by the NFV-MANO - functional entity. - required: true + $ref: "#/components/requestBodies/AlarmListRebuiltNotification" responses: "204": - description: > - 204 NO CONTENT - - Shall be returned when the notification has been 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. - schema: - type: string - minimum: 0 - maximum: 1 - Version: - description: | - Version of the API used in the response. - schema: - type: string - minimum: 1 - maximum: 1 + $ref: "#/components/responses/AlarmListRebuiltNotification.post" "400": $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": @@ -307,27 +186,7 @@ paths: - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "204": - description: > - 204 NO CONTENT - - Shall be returned to indicate that the notification endpoint has been tested successfully. The response body shall be empty. - headers: - WWW-Authenticate: - 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. - schema: - type: string - minimum: 0 - maximum: 1 - Version: - description: >- - Version of the API used in the response. - schema: - type: string - minimum: 1 - maximum: 1 + $ref: "#/components/responses/AlarmListRebuiltNotification.get" "400": $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": @@ -344,6 +203,35 @@ paths: $ref: ../components/SOL009_resp.yaml#/components/responses/503 components: + requestBodies: + AlarmNotification: + description: > + Information of a NFV-MANO functional entity alarm. + content: + application/json: + schema: + $ref: "#/components/schemas/AlarmNotification" + required: true + + AlarmClearedNotification: + description: | + Information of the clearance of an NFV-MANO functional entity alarm. + content: + application/json: + schema: + $ref: "#/components/schemas/AlarmClearedNotification" + required: true + + AlarmListRebuiltNotification: + description: > + Information that the alarm list has been rebuilt by the NFV-MANO + functional entity. + content: + application/json: + schema: + $ref: "#/components/schemas/AlarmListRebuiltNotification" + required: true + schemas: AlarmNotification: description: > @@ -512,3 +400,144 @@ components: description: > Link to the alarm list, i.e. the "Alarms" resource. $ref: "../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" + + responses: + AlarmNotification.post: + description: > + 204 NO CONTENT + + Shall be returned when the notification has been 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. + schema: + type: string + minimum: 0 + maximum: 1 + Version: + description: | + Version of the API used in the response. + schema: + type: string + minimum: 1 + maximum: 1 + + AlarmNotification.get: + description: > + 204 NO CONTENT + + Shall be returned to indicate that the notification endpoint has been tested successfully. + The response body shall be empty. + headers: + WWW-Authenticate: + 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. + schema: + type: string + minimum: 0 + maximum: 1 + Version: + description: | + Version of the API used in the response. + schema: + type: string + minimum: 1 + maximum: 1 + + AlarmClearedNotification.post: + description: > + 204 NO CONTENT + + Shall be returned when the notification has been 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. + schema: + type: string + minimum: 0 + maximum: 1 + Version: + description: | + Version of the API used in the response. + schema: + type: string + minimum: 1 + maximum: 1 + + AlarmClearedNotification.get: + description: > + 204 NO CONTENT + + Shall be returned to indicate that the notification endpoint has been tested successfully. + The response body shall be empty. + headers: + WWW-Authenticate: + 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. + schema: + type: string + minimum: 0 + maximum: 1 + Version: + description: | + Version of the API used in the response. + schema: + type: string + minimum: 1 + maximum: 1 + + AlarmListRebuiltNotification.post: + description: > + 204 NO CONTENT + + Shall be returned when the notification has been 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. + schema: + type: string + minimum: 0 + maximum: 1 + Version: + description: | + Version of the API used in the response. + schema: + type: string + minimum: 1 + maximum: 1 + + AlarmListRebuiltNotification.get: + description: > + 204 NO CONTENT + + Shall be returned to indicate that the notification endpoint has been tested successfully. The response body shall be empty. + headers: + WWW-Authenticate: + 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. + schema: + type: string + minimum: 0 + maximum: 1 + Version: + description: >- + Version of the API used in the response. + schema: + type: string + minimum: 1 + maximum: 1 \ No newline at end of file diff --git a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml index 833384d..ccf62dc 100644 --- a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml +++ b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml @@ -13,8 +13,8 @@ info: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: - description: ETSI GS NFV-SOL 009 V0.8.0 - url: https://docbox.etsi.org/ISG/NFV/Open/Drafts/SOL009ed331_MANO_mgmt_stage_3/NFV-SOL009ed331v080.zip + description: ETSI GS NFV-SOL 009 V3.3.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/009/03.03.01_60/gs_NFV-SOL009v030301p.pdf security: - OauthSecurity: diff --git a/src/SOL009/NFVManoLogManagementNotification/NFVManoLogManagementNotification.yaml b/src/SOL009/NFVManoLogManagementNotification/NFVManoLogManagementNotification.yaml index 5915319..07d6e7d 100644 --- a/src/SOL009/NFVManoLogManagementNotification/NFVManoLogManagementNotification.yaml +++ b/src/SOL009/NFVManoLogManagementNotification/NFVManoLogManagementNotification.yaml @@ -13,8 +13,8 @@ info: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: - description: ETSI GS NFV-SOL 009 V0.8.0 - url: https://docbox.etsi.org/ISG/NFV/Open/Drafts/SOL009ed331_MANO_mgmt_stage_3/NFV-SOL009ed331v080.zip + description: ETSI GS NFV-SOL 009 V3.3.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/009/03.03.01_60/gs_NFV-SOL009v030301p.pdf security: - OauthSecurity: diff --git a/src/SOL009/NFVManoPerformanceManagement/NFVManoPerformanceManagement.yaml b/src/SOL009/NFVManoPerformanceManagement/NFVManoPerformanceManagement.yaml index 2901626..8cd35c8 100644 --- a/src/SOL009/NFVManoPerformanceManagement/NFVManoPerformanceManagement.yaml +++ b/src/SOL009/NFVManoPerformanceManagement/NFVManoPerformanceManagement.yaml @@ -16,8 +16,8 @@ info: contact: name: NFV-SOL WG externalDocs: - description: ETSI GS NFV-SOL 009 V0.8.0 - url: https://docbox.etsi.org/ISG/NFV/Open/Drafts/SOL009ed331_MANO_mgmt_stage_3/NFV-SOL009ed331v080.zip + description: ETSI GS NFV-SOL 009 V3.3.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/009/03.03.01_60/gs_NFV-SOL009v030301p.pdf servers: - url: http://0.0.0.0/nfvmanopm/v1 @@ -589,6 +589,11 @@ components: 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 8.4 of ETSI GS NFV-IFA 031. + context: + description: >- + Measurement context information related to the measured value. The set of applicable keys is defined per + measurement in clause 8.4 of ETSI GS NFV-IFA 031. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/KeyValuePairs" _links: description: > Links to resources related to this notification. diff --git a/src/SOL009/NFVManoPerformanceManagementNotification/NFVManoPerformanceManagementNotification.yaml b/src/SOL009/NFVManoPerformanceManagementNotification/NFVManoPerformanceManagementNotification.yaml index 6efde66..56d3a86 100644 --- a/src/SOL009/NFVManoPerformanceManagementNotification/NFVManoPerformanceManagementNotification.yaml +++ b/src/SOL009/NFVManoPerformanceManagementNotification/NFVManoPerformanceManagementNotification.yaml @@ -16,8 +16,8 @@ info: contact: name: NFV-SOL WG externalDocs: - description: ETSI GS NFV-SOL 009 V0.8.0 - url: https://docbox.etsi.org/ISG/NFV/Open/Drafts/SOL009ed331_MANO_mgmt_stage_3/NFV-SOL009ed331v080.zip + description: ETSI GS NFV-SOL 009 V3.3.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/009/03.03.01_60/gs_NFV-SOL009v030301p.pdf servers: - url: http://0.0.0.0/callback/v1 -- GitLab From 1173ab2accbd2097ce5cbd87d43bfaac85eced53 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Mon, 18 Nov 2019 14:25:00 +0100 Subject: [PATCH 41/55] fix uri parameters --- .../NFVManoLogManagement/NFVManoLogManagement.yaml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml index ccf62dc..19b8a76 100644 --- a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml +++ b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml @@ -109,13 +109,14 @@ paths: description: >- This resource represents an individual logging job. The API consumer can use this resource to delete and read the underlying logging job. + parameters: + - $ref: "#/components/parameters/logJobId" get: description: >- The API consumer can use this method for reading an individual logging job. This method shall follow the provisions specified in the tables 8.5.4.3.2-1 and 8.5.4.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - $ref: "#/components/parameters/logJobId" - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" @@ -185,14 +186,15 @@ paths: The log report provides metadata information about a log and location information of the log file from where it can be obtained. NOTE: The present document does not specify the mechanism how to retrieve the log files. + parameters: + - $ref: "#/components/parameters/logJobId" + - $ref: "#/components/parameters/logJReportId" get: description: >- The API consumer can use this method for reading an individual log report. This method shall follow the provisions specified in the tables 8.5.5.3.2-1 and 8.5.5.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - $ref: "#/components/parameters/logJobId" - - $ref: "#/components/parameters/logJReportId" - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" @@ -232,13 +234,14 @@ paths: indicated by responding with "201 Created", the resource shall be created before the "201 Created" response is returned. In the asynchronous case, which is indicated by responding with "202 Accepted", the resource may be created after the response is returned. + parameters: + - $ref: "#/components/parameters/logJobId" post: description: >- The POST method requests to compile the logged data into a file and create an associated log report. This method shall follow the provisions specified in the tables 8.5.6.3.1-1 and 8.5.6.3.1-2 for URI query parameters, request and response data structures, and response codes. parameters: - - $ref: "#/components/parameters/logJobId" - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" - $ref: "../components/SOL009_params.yaml#/components/parameters/ContentType" -- GitLab From 40fa353417620fc265855de906820c31aff08c1c Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Mon, 18 Nov 2019 14:43:03 +0100 Subject: [PATCH 42/55] added missing parameters --- ...ConfigurationAndInformationManagement.yaml | 46 ++++++++++++++++++ .../NFVManoPerformanceManagement.yaml | 47 ++++++++++++++++++- 2 files changed, 92 insertions(+), 1 deletion(-) diff --git a/src/SOL009/NFVManoConfigurationAndInformationManagement/NFVManoConfigurationAndInformationManagement.yaml b/src/SOL009/NFVManoConfigurationAndInformationManagement/NFVManoConfigurationAndInformationManagement.yaml index 2eba359..0c124b9 100644 --- a/src/SOL009/NFVManoConfigurationAndInformationManagement/NFVManoConfigurationAndInformationManagement.yaml +++ b/src/SOL009/NFVManoConfigurationAndInformationManagement/NFVManoConfigurationAndInformationManagement.yaml @@ -190,6 +190,8 @@ paths: "504": $ref: ../components/SOL009_resp.yaml#/components/responses/504 /mano_entity/mano_interfaces/{manoServiceInterfaceId}: + parameters: + - $ref: "#/components/parameters/manoServiceInterfaceId" get: description: > retrieves information about an NFV-MANO service interface of the @@ -271,6 +273,8 @@ paths: $ref: ../components/SOL009_resp.yaml#/components/responses/504 /mano_entity/mano_interfaces/{manoServiceInterfaceId}/change_state: + parameters: + - $ref: "#/components/parameters/manoServiceInterfaceId" post: description: > Requests to change the state of the NFV-MANO service interface @@ -390,6 +394,8 @@ paths: $ref: ../components/SOL009_resp.yaml#/components/responses/504 /subscriptions/{subscriptionId}: + parameters: + - $ref: "#/components/parameters/subscriptionId" get: description: > Retrieves information about a subscription by reading an "Individual @@ -504,6 +510,8 @@ paths: $ref: ../components/SOL009_resp.yaml#/components/responses/504 /change_state_ops/{changeStateOpOccId}: + parameters: + - $ref: "#/components/parameters/changeStateOpOccId" get: description: > The API consumer can use the GET method to retrieve status @@ -623,6 +631,8 @@ paths: $ref: ../components/SOL009_resp.yaml#/components/responses/504 /peer_entities/{peerEntityId}: + parameters: + - $ref: "#/components/parameters/peerEntityId" get: description: > Retrieves information and configuration hold in the producer NFV-MANO @@ -2785,6 +2795,42 @@ components: schema: type: string + manoServiceInterfaceId: + name: manoServiceInterfaceId + in: path + description: >- + Identifier of the MANO service interface. + required: true + schema: + $ref: '../components/SOL009_schemas.yaml#/components/schemas/Identifier' + + subscriptionId: + name: subscriptionId + in: path + description: >- + Identifier of the subscription + required: true + schema: + $ref: '../components/SOL009_schemas.yaml#/components/schemas/Identifier' + + changeStateOpOccId: + name: changeStateOpOccId + in: path + description: >- + Identifier of the change state operation occurrence + required: true + schema: + $ref: '../components/SOL009_schemas.yaml#/components/schemas/Identifier' + + peerEntityId: + name: peerEntityId + in: path + description: >- + Identifier of the peer entity + required: true + schema: + $ref: '../components/SOL009_schemas.yaml#/components/schemas/Identifier' + requestBodies: ModifyManoEntityRequest: description: > diff --git a/src/SOL009/NFVManoPerformanceManagement/NFVManoPerformanceManagement.yaml b/src/SOL009/NFVManoPerformanceManagement/NFVManoPerformanceManagement.yaml index 8cd35c8..8d377a0 100644 --- a/src/SOL009/NFVManoPerformanceManagement/NFVManoPerformanceManagement.yaml +++ b/src/SOL009/NFVManoPerformanceManagement/NFVManoPerformanceManagement.yaml @@ -106,6 +106,8 @@ paths: $ref: ../components/SOL009_resp.yaml#/components/responses/504 /pm_jobs/{pmJobId}: + parameters: + - $ref: "#/components/parameters/pmJobId" get: description: > The client can use this method for reading an individual PM job. @@ -168,6 +170,9 @@ paths: $ref: ../components/SOL009_resp.yaml#/components/responses/504 /pm_jobs/{pmJobId}/reports/{reportId}: + parameters: + - $ref: "#/components/parameters/pmJobId" + - $ref: "#/components/parameters/reportId" get: description: > The client can use this method for reading an individual @@ -267,6 +272,8 @@ paths: $ref: ../components/SOL009_resp.yaml#/components/responses/504 /thresholds/{thresholdId}: + parameters: + - $ref: "#/components/parameters/thresholdId" get: description: > The client can use this method for reading an individual threshold @@ -398,6 +405,8 @@ paths: $ref: ../components/SOL009_resp.yaml#/components/responses/504 /subscriptions/{subscriptionId}: + parameters: + - $ref: "#/components/parameters/subscriptionId" get: description: > The client can use this method for reading an individual subscription @@ -1774,7 +1783,43 @@ components: required: false schema: type: string - + + subscriptionId: + name: subscriptionId + in: path + description: >- + Identifier of the subscription + required: true + schema: + $ref: '../components/SOL009_schemas.yaml#/components/schemas/Identifier' + + pmJobId: + name: pmJobId + in: path + description: >- + Identifier of the PM Job + required: true + schema: + $ref: '../components/SOL009_schemas.yaml#/components/schemas/Identifier' + + reportId: + name: reportId + in: path + description: >- + Identifier of the PM report + required: true + schema: + $ref: '../components/SOL009_schemas.yaml#/components/schemas/Identifier' + + thresholdId: + name: thresholdId + in: path + description: >- + Identifier of the PM threshold + required: true + schema: + $ref: '../components/SOL009_schemas.yaml#/components/schemas/Identifier' + requestBodies: CreatePMJobRequest: description: > -- GitLab From debdd57be3d40f4b1395c2bcda9538886ec6f98d Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Mon, 18 Nov 2019 16:18:19 +0100 Subject: [PATCH 43/55] Fix in common data types + missing API endpoint in CIM interface --- ...ConfigurationAndInformationManagement.yaml | 2 ++ src/SOL009/components/SOL009_schemas.yaml | 20 +++++++++---------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/SOL009/NFVManoConfigurationAndInformationManagement/NFVManoConfigurationAndInformationManagement.yaml b/src/SOL009/NFVManoConfigurationAndInformationManagement/NFVManoConfigurationAndInformationManagement.yaml index 0c124b9..7b736d1 100644 --- a/src/SOL009/NFVManoConfigurationAndInformationManagement/NFVManoConfigurationAndInformationManagement.yaml +++ b/src/SOL009/NFVManoConfigurationAndInformationManagement/NFVManoConfigurationAndInformationManagement.yaml @@ -28,6 +28,8 @@ servers: API HTTPS Server paths: + /api_versions: + $ref: ../endpoints/SOL009_endpoints.yaml#/endpoints/api_versions /mano_entity: get: diff --git a/src/SOL009/components/SOL009_schemas.yaml b/src/SOL009/components/SOL009_schemas.yaml index 6f96d1a..b602cf2 100644 --- a/src/SOL009/components/SOL009_schemas.yaml +++ b/src/SOL009/components/SOL009_schemas.yaml @@ -466,30 +466,30 @@ components: id: description: > Identifier of this Alarm information element. - $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" + $ref: "#/components/schemas/Identifier" managedObjectId: description: > Identifier of the affected NFV-MANO instance. - $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" + $ref: "#/components/schemas/Identifier" associatedFaultyInstanceId: description: > The resources that are causing the fault. - $ref: "../components/SOL009_schemas.yaml#/components/schemas/ManoManagedObjectReference" + $ref: "#/components/schemas/ManoManagedObjectReference" alarmRaisedTime: description: > Time stamp indicating when the alarm is raised by the managed object. - $ref: "../components/SOL009_schemas.yaml#/components/schemas/DateTime" + $ref: "#/components/schemas/DateTime" alarmChangedTime: description: > Time stamp indicating when the alarm was last changed. It shall be present if the alarm has been updated. - $ref: "../components/SOL009_schemas.yaml#/components/schemas/DateTime" + $ref: "#/components/schemas/DateTime" alarmClearedTime: description: > Time stamp indicating when the alarm was cleared. It shall be present if the alarm has been cleared. - $ref: "../components/SOL009_schemas.yaml#/components/schemas/DateTime" + $ref: "#/components/schemas/DateTime" ackState: description: > Acknowledgement state of the alarm. @@ -507,7 +507,7 @@ components: eventTime: description: > Time stamp indicating when the fault was observed. - $ref: "../components/SOL009_schemas.yaml#/components/schemas/DateTime" + $ref: "#/components/schemas/DateTime" eventType: description: > Type of event. @@ -531,7 +531,7 @@ components: List of identifiers of other alarms correlated to this fault. type: array items: - $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" + $ref: "#/components/schemas/Identifier" faultDetails: description: > Provides additional information about the fault. @@ -548,13 +548,13 @@ components: self: description: > URI of this resource. - $ref: "../components/SOL009_schemas.yaml#/components/schemas/Link" + $ref: "#/components/schemas/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: "../components/SOL009_schemas.yaml#/components/schemas/Link" + $ref: "#/components/schemas/Link" EventType: description: > -- GitLab From 43c10da796745ed3ec7cbd42e877650bd8466511 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Mon, 18 Nov 2019 17:49:19 +0100 Subject: [PATCH 44/55] upd data type --- .../NFVManoLogManagement.yaml | 29 ++++++++++--------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml index 19b8a76..72d008e 100644 --- a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml +++ b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml @@ -987,19 +987,22 @@ components: This type represents subscription filter criteria to match NFV-MANO functional entities and their associated managed objects. It shall comply with the provisions defined in Table 4.3.2.2-1. type: object - oneOf: - - required: - - manoServiceIds - - required: - - manoServiceNames - - required: - - manoServiceInterfaceIds - - required: - - manoServiceInterfaceNames - - required: - - consumedManoInterfaceIds - - required: - - consumedManoInterfaceNames + anyOf: + - oneOf: + - required: + - manoServiceIds + - required: + - manoServiceNames + - oneOf: + - required: + - manoServiceInterfaceIds + - required: + - manoServiceInterfaceNames + - oneOf: + - required: + - consumedManoInterfaceIds + - required: + - consumedManoInterfaceNames properties: manoEntityId: description: >- -- GitLab From 90f842c600448df713816390cad00e5d229deb87 Mon Sep 17 00:00:00 2001 From: Michele Carignani Date: Wed, 20 Nov 2019 12:44:10 +0100 Subject: [PATCH 45/55] Update validation tooling --- docker/Dockerfile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 14912f8..9b3d838 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,7 +1,7 @@ # Copyright ETSI 2017 # See: https://forge.etsi.org/etsi-forge-copyright-statement.txt -FROM alpine:3.6 +FROM alpine:3.10.0 RUN env RUN apk update @@ -16,9 +16,9 @@ RUN gem install rdoc --pre || gem install rdoc --pre RUN gem install asciidoctor-pdf-cjk RUN wget https://forge.etsi.org/swagger2markup-cli-1.3.2.jar RUN npm config set proxy $http_proxy -RUN npm install -g swagger-cli@0.10.3 -RUN npm install -g json-refs@3.0.2 -RUN npm install -g yamljs@0.3.0 +RUN npm install -g swagger-cli +RUN npm install -g json-refs +RUN npm install -g yamljs ADD validate-in-docker.sh /validate-in-docker.sh RUN chmod +x /validate-in-docker.sh -- GitLab From 76965a86f7939e94185c547a45fc1749fc3041b6 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 21 Nov 2019 17:09:52 +0100 Subject: [PATCH 46/55] upd --- src/SOL009/NFVManoFaultManagement/NFVManoFaultManagement.yaml | 1 + src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml | 1 + 2 files changed, 2 insertions(+) diff --git a/src/SOL009/NFVManoFaultManagement/NFVManoFaultManagement.yaml b/src/SOL009/NFVManoFaultManagement/NFVManoFaultManagement.yaml index 9a98ca6..e925212 100644 --- a/src/SOL009/NFVManoFaultManagement/NFVManoFaultManagement.yaml +++ b/src/SOL009/NFVManoFaultManagement/NFVManoFaultManagement.yaml @@ -22,6 +22,7 @@ servers: paths: /api_versions: $ref: ../endpoints/SOL009_endpoints.yaml#/endpoints/api_versions + /alarms: get: description: > diff --git a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml index 72d008e..7eadad8 100644 --- a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml +++ b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml @@ -26,6 +26,7 @@ servers: paths: "/api_versions": $ref: '../endpoints/SOL009_endpoints.yaml#/endpoints/api_versions' + "/log_jobs": description: >- This resource represents logging jobs. The API consumer can use this resource to create and query logging jobs. -- GitLab From fab23323e538299798c0a6ed98a92684d5398e07 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 21 Nov 2019 17:35:39 +0100 Subject: [PATCH 47/55] minor fix --- .../NFVManoFaultManagementNotification.yaml | 4 ++-- .../NFVManoLogManagementNotification.yaml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/SOL009/NFVManoFaultManagementNotification/NFVManoFaultManagementNotification.yaml b/src/SOL009/NFVManoFaultManagementNotification/NFVManoFaultManagementNotification.yaml index 0b8151a..4f8b412 100644 --- a/src/SOL009/NFVManoFaultManagementNotification/NFVManoFaultManagementNotification.yaml +++ b/src/SOL009/NFVManoFaultManagementNotification/NFVManoFaultManagementNotification.yaml @@ -20,8 +20,8 @@ security: - all servers: - - url: http://127.0.0.1//callback/v1 - - url: https://127.0.0.1//callback/v1 + - url: http://127.0.0.1/callback/v1 + - url: https://127.0.0.1/callback/v1 paths: /URI-is-provided-by-the-client-when-creating-the-subscription-AlarmNotification: diff --git a/src/SOL009/NFVManoLogManagementNotification/NFVManoLogManagementNotification.yaml b/src/SOL009/NFVManoLogManagementNotification/NFVManoLogManagementNotification.yaml index 07d6e7d..4870d0a 100644 --- a/src/SOL009/NFVManoLogManagementNotification/NFVManoLogManagementNotification.yaml +++ b/src/SOL009/NFVManoLogManagementNotification/NFVManoLogManagementNotification.yaml @@ -21,8 +21,8 @@ security: - all servers: - - url: http://127.0.0.1//callback/v1 - - url: https://127.0.0.1//callback/v1 + - url: http://127.0.0.1/callback/v1 + - url: https://127.0.0.1/callback/v1 paths: /URI-is-provided-by-the-client-when-creating-the-subscription-AlarmNotification: -- GitLab From e9770cd1efcaaa4ab8c3c6440ed20424426d1802 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Mon, 25 Nov 2019 18:01:40 +0100 Subject: [PATCH 48/55] minor fix --- src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml index 7eadad8..fde236e 100644 --- a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml +++ b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml @@ -189,7 +189,7 @@ paths: NOTE: The present document does not specify the mechanism how to retrieve the log files. parameters: - $ref: "#/components/parameters/logJobId" - - $ref: "#/components/parameters/logJReportId" + - $ref: "#/components/parameters/logReportId" get: description: >- The API consumer can use this method for reading an individual log report. @@ -448,8 +448,8 @@ components: required: true schema: $ref: '../components/SOL009_schemas.yaml#/components/schemas/Identifier' - logJReportId: - name: logJReportId + logReportId: + name: logReportId in: path description: >- Identifier of the report. -- GitLab From 6001cd0c908bebbc3257542354e23f0636629911 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 5 Dec 2019 12:29:38 +0100 Subject: [PATCH 49/55] Addressed comments from SOL008 Rapporteur for 3.3.1-dev-final-version review --- ...ConfigurationAndInformationManagement.yaml | 158 +------------- ...nAndInformationManagementNotification.yaml | 164 +++++++++++++- .../NFVManoFaultManagementNotification.yaml | 4 +- .../NFVManoLogManagementNotification.yaml | 4 +- .../NFVManoPerformanceManagement.yaml | 193 +---------------- ...ManoPerformanceManagementNotification.yaml | 204 +++++++++++++++++- 6 files changed, 362 insertions(+), 365 deletions(-) diff --git a/src/SOL009/NFVManoConfigurationAndInformationManagement/NFVManoConfigurationAndInformationManagement.yaml b/src/SOL009/NFVManoConfigurationAndInformationManagement/NFVManoConfigurationAndInformationManagement.yaml index 7b736d1..c99cbf3 100644 --- a/src/SOL009/NFVManoConfigurationAndInformationManagement/NFVManoConfigurationAndInformationManagement.yaml +++ b/src/SOL009/NFVManoConfigurationAndInformationManagement/NFVManoConfigurationAndInformationManagement.yaml @@ -330,7 +330,7 @@ paths: - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" requestBody: - $ref: "#/components/requestBodies/CreateSubscriptionRequest" + $ref: "#/components/requestBodies/CimSubscriptionRequest" responses: "201": $ref: "#/components/responses/subscriptions.post.201" @@ -1116,70 +1116,6 @@ components: - callbackUri - _links - InformationChangedNotification: - description: > - This type represents a notification that is sent when data about - configuration and information of the NFV-MANO functional entity - have been changed. - type: object - 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: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" - notificationType: - description: > - Discriminator for the different notification types. Shall be set to - "InformationChangedNotification" for this notification type. - type: string - subscriptionId: - description: > - Identifier of the subscription that this notification relates to. - $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" - timeStamp: - description: > - Date and time of the generation of the notification. - $ref: "../components/SOL009_schemas.yaml#/components/schemas/DateTime" - informationChangedTime: - description: > - Timestamp indicating when the information was changed. - $ref: "../components/SOL009_schemas.yaml#/components/schemas/DateTime" - manoEntityId: - description: > - Identifier of the MANO entity of which the information was changed. - $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" - changedInfo: - description: > - Data about the changed configuration and information of the NFV-MANO - functional entity. - $ref: "../components/SOL009_schemas.yaml#/components/schemas/KeyValuePairs" - _links: - description: > - Links to resources related to this notification. - type: object - properties: - self: - description: > - Link to the related subscription. - $ref: "../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" - subscription: - description: > - Link to the related subscription. - $ref: "../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" - required: - - self - required: - - id - - notificationType - - subscriptionId - - timeStamp - - informationChangedTime - - manoEntityId - - changedInfo - - _links - ChangeStateRequest: description: > This type represents request parameters for changing the state of a managed entity. @@ -1300,94 +1236,6 @@ components: - startTime - managedObjectRef - ChangeStateNotification: - description: > - This type represents a Change state operation occurrence. - type: object - 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: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" - notificationType: - description: > - Discriminator for the different notification types. Shall be set to - "ChangeStateNotification" for this notification type. - type: string - subscriptionId: - description: > - Identifier of the subscription that this notification relates to. - $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" - timestamp: - description: > - Date-time of the generation of the notification. - $ref: "../components/SOL009_schemas.yaml#/components/schemas/DateTime" - changeStateOpOccId: - description: > - Identifier of the change state operation occurrence associated to the - notification. - $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" - stateChangedTime: - description: > - Timestamp indicating when the state on the managed object was changed. - $ref: "../components/SOL009_schemas.yaml#/components/schemas/DateTime" - changeStateOperationState: - description: > - The state of the "change state operation occurrence". - $ref: "#/components/schemas/ChangeStateOpOccStateEnumType" - managedObjectRef: - description: > - Reference of the managed object to which the state change notification relates. - The value of the "type" attribute shall be "MANO_ENTITY" or "MANO_SERVICE_IF". - $ref: "../components/SOL009_schemas.yaml#/components/schemas/ManoManagedObjectReference" - operationalState: - description: > - New operational state of the managed object. Shall only be present when - there is a change in the operational state. - $ref: "#/components/schemas/OperationalStateEnumType" - administrativeState: - description: > - New administrative state of the managed object. Shall only be present - when there is a change in the administrative state. - $ref: "#/components/schemas/AdministrativeStateEnumType" - _links: - description: > - Links to resources related to this notification. - type: object - properties: - subscription: - description: > - Link to the related subscription. - $ref: "../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" - objectInstance: - description: > - Link to the resource representing the object to which the change - state applies. Shall be present if the object instance is accessible - as a resource. - $ref: "../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" - changeStateOpOcc: - description: > - Link to the change state operation occurrence that this notification - is related to. - $ref: "../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" - required: - - subscription - - objectInstance - - changeStateOpOcc - required: - - id - - notificationType - - subscriptionId - - timestamp - - changeStateOpOccId - - stateChangedTime - - changeStateOperationState - - managedObjectRef - - _links - - ManoServiceInterface: description: > This type represents an individual NFV-MANO service interface produced by @@ -2877,8 +2725,8 @@ components: schema: $ref: "#/components/schemas/ChangeStateRequest" required: true - - CreateSubscriptionRequest: + + CimSubscriptionRequest: description: > Details of the subscription to be created, as defined in clause 5.6.2.5-1. diff --git a/src/SOL009/NFVManoConfigurationAndInformationManagementNotification/NFVManoConfigurationAndInformationManagementNotification.yaml b/src/SOL009/NFVManoConfigurationAndInformationManagementNotification/NFVManoConfigurationAndInformationManagementNotification.yaml index 64860a2..5402252 100644 --- a/src/SOL009/NFVManoConfigurationAndInformationManagementNotification/NFVManoConfigurationAndInformationManagementNotification.yaml +++ b/src/SOL009/NFVManoConfigurationAndInformationManagementNotification/NFVManoConfigurationAndInformationManagementNotification.yaml @@ -1,9 +1,9 @@ openapi: 3.0.2 info: version: 1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 - title: SOL009 - NFV-MANO Configuration and Information Management Notification Interface + title: SOL009 - NFV-MANO Configuration and Information Management Notification Operation description: > - SOL009 - NFV-MANO Configuration and Information Management Notification Interface + SOL009 - NFV-MANO Configuration and Information Management Notification Operation IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to and has not been @@ -44,7 +44,7 @@ paths: - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" requestBody: - $ref: "#/components/requestBodies/CreateConfigurationAnfInformationNotificationRequest" + $ref: "#/components/requestBodies/ConfigurationAnfInformationNotification" responses: "204": $ref: "#/components/responses/notification.post.204" @@ -145,7 +145,7 @@ components: type: string requestBodies: - CreateConfigurationAnfInformationNotificationRequest: + ConfigurationAnfInformationNotification: description: > A notification about configuration and information data changes of the NFV-MANO functional entity, or state changes of the NFV-MANO functional @@ -154,8 +154,158 @@ components: application/json: schema: oneOf: - - $ref: "../NFVManoConfigurationAndInformationManagement/NFVManoConfigurationAndInformationManagement.yaml#/components/schemas/InformationChangedNotification" - - $ref: "../NFVManoConfigurationAndInformationManagement/NFVManoConfigurationAndInformationManagement.yaml#/components/schemas/ChangeStateNotification" + - $ref: "#/components/schemas/InformationChangedNotification" + - $ref: "#/components/schemas/ChangeStateNotification" required: true - + schemas: + InformationChangedNotification: + description: > + This type represents a notification that is sent when data about + configuration and information of the NFV-MANO functional entity + have been changed. + type: object + 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: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" + notificationType: + description: > + Discriminator for the different notification types. Shall be set to + "InformationChangedNotification" for this notification type. + type: string + subscriptionId: + description: > + Identifier of the subscription that this notification relates to. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" + timeStamp: + description: > + Date and time of the generation of the notification. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/DateTime" + informationChangedTime: + description: > + Timestamp indicating when the information was changed. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/DateTime" + manoEntityId: + description: > + Identifier of the MANO entity of which the information was changed. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" + changedInfo: + description: > + Data about the changed configuration and information of the NFV-MANO + functional entity. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/KeyValuePairs" + _links: + description: > + Links to resources related to this notification. + type: object + properties: + self: + description: > + Link to the related subscription. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" + subscription: + description: > + Link to the related subscription. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" + required: + - self + required: + - id + - notificationType + - subscriptionId + - timeStamp + - informationChangedTime + - manoEntityId + - changedInfo + - _links + + ChangeStateNotification: + description: > + This type represents a Change state operation occurrence. + type: object + 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: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" + notificationType: + description: > + Discriminator for the different notification types. Shall be set to + "ChangeStateNotification" for this notification type. + type: string + subscriptionId: + description: > + Identifier of the subscription that this notification relates to. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" + timestamp: + description: > + Date-time of the generation of the notification. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/DateTime" + changeStateOpOccId: + description: > + Identifier of the change state operation occurrence associated to the + notification. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" + stateChangedTime: + description: > + Timestamp indicating when the state on the managed object was changed. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/DateTime" + changeStateOperationState: + description: > + The state of the "change state operation occurrence". + $ref: "#/components/schemas/ChangeStateOpOccStateEnumType" + managedObjectRef: + description: > + Reference of the managed object to which the state change notification relates. + The value of the "type" attribute shall be "MANO_ENTITY" or "MANO_SERVICE_IF". + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ManoManagedObjectReference" + operationalState: + description: > + New operational state of the managed object. Shall only be present when + there is a change in the operational state. + $ref: "#/components/schemas/OperationalStateEnumType" + administrativeState: + description: > + New administrative state of the managed object. Shall only be present + when there is a change in the administrative state. + $ref: "#/components/schemas/AdministrativeStateEnumType" + _links: + description: > + Links to resources related to this notification. + type: object + properties: + subscription: + description: > + Link to the related subscription. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" + objectInstance: + description: > + Link to the resource representing the object to which the change + state applies. Shall be present if the object instance is accessible + as a resource. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" + changeStateOpOcc: + description: > + Link to the change state operation occurrence that this notification + is related to. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" + required: + - subscription + - objectInstance + - changeStateOpOcc + required: + - id + - notificationType + - subscriptionId + - timestamp + - changeStateOpOccId + - stateChangedTime + - changeStateOperationState + - managedObjectRef + - _links \ No newline at end of file diff --git a/src/SOL009/NFVManoFaultManagementNotification/NFVManoFaultManagementNotification.yaml b/src/SOL009/NFVManoFaultManagementNotification/NFVManoFaultManagementNotification.yaml index 4f8b412..0204498 100644 --- a/src/SOL009/NFVManoFaultManagementNotification/NFVManoFaultManagementNotification.yaml +++ b/src/SOL009/NFVManoFaultManagementNotification/NFVManoFaultManagementNotification.yaml @@ -1,9 +1,9 @@ openapi: 3.0.2 info: version: 1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 - title: SOL009 - NFV-MANO Fault Management Notification interface + title: SOL009 - NFV-MANO Fault Management Notification Operation description: > - SOL009 - NFV-MANO Fault Management Notification interface + SOL009 - NFV-MANO Fault Management Notification Operation 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. diff --git a/src/SOL009/NFVManoLogManagementNotification/NFVManoLogManagementNotification.yaml b/src/SOL009/NFVManoLogManagementNotification/NFVManoLogManagementNotification.yaml index 4870d0a..7cc6c2d 100644 --- a/src/SOL009/NFVManoLogManagementNotification/NFVManoLogManagementNotification.yaml +++ b/src/SOL009/NFVManoLogManagementNotification/NFVManoLogManagementNotification.yaml @@ -1,9 +1,9 @@ openapi: 3.0.2 info: version: 1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 - title: SOL009 - NFV-MANO Log Management Notification interface + title: SOL009 - NFV-MANO Log Management Notification Operation description: > - SOL009 - NFV-MANO Log Management Notification interface + SOL009 - NFV-MANO Log Management Notification Operation 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. diff --git a/src/SOL009/NFVManoPerformanceManagement/NFVManoPerformanceManagement.yaml b/src/SOL009/NFVManoPerformanceManagement/NFVManoPerformanceManagement.yaml index 8d377a0..777443a 100644 --- a/src/SOL009/NFVManoPerformanceManagement/NFVManoPerformanceManagement.yaml +++ b/src/SOL009/NFVManoPerformanceManagement/NFVManoPerformanceManagement.yaml @@ -532,196 +532,6 @@ components: - id - callbackUri - ThresholdCrossedNotification: - description: > - This type represents a notification that is sent when a threshold has been crossed. - - NOTE: The timing of sending this notification is determined by the capability of - the producing entity to evaluate the threshold crossing condition. - - The notification shall be triggered by the NFV-MANO functional entity when - a threshold has been crossed. - type: object - 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: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" - notificationType: - description: > - Discriminator for the different notification types. Shall be set to - "ThresholdCrossedNotification" for this notification type. - $ref: "../components/SOL009_schemas.yaml#/components/schemas/String" - subscriptionId: - description: > - Identifier of the subscription that this notification relates to. - $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" - timeStamp: - description: > - Date and time of the generation of the notification. - $ref: "../components/SOL009_schemas.yaml#/components/schemas/DateTime" - thresholdId: - description: > - Identifier of the threshold which has been crossed. - $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" - crossingDirection: - description: > - An indication of whether the threshold was crossed in upward or downward direction. - $ref: "../components/SOL009_schemas.yaml#/components/schemas/CrossingDirectionType" - objectType: - description: > - Type of measured object.The applicable measured object type for a measurement - is defined in clause 8.2 of ETSI GS NFV-IFA 031. - $ref: "../components/SOL009_schemas.yaml#/components/schemas/String" - objectInstanceId: - description: > - Identifier of the measured object instance. This attribute shall contain the - identifier of the instance of the measure object according to their type. - See also definitions in clause 8.2 of ETSI GS NFV-IFA 031 - $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" - subObjectInstanceId: - description: > - Identifier of the sub-object of the measured object to which the measurement - applies. Shall be present if this is required in clause 8.2 of ETSI GS NFV-IFA 031 - for the related measured object type. Shall be absent otherwise. - $ref: "../components/SOL009_schemas.yaml#/components/schemas/IdentifierInManoEntity" - performanceMetric: - description: > - Performance metric associated with the threshold. - This attribute shall contain the related "Measurement Name" value as defined - in clause 8.4 of ETSI GS NFV-IFA 031 - $ref: "../components/SOL009_schemas.yaml#/components/schemas/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 8.4 of ETSI GS NFV-IFA 031. - context: - description: >- - Measurement context information related to the measured value. The set of applicable keys is defined per - measurement in clause 8.4 of ETSI GS NFV-IFA 031. - $ref: "../components/SOL009_schemas.yaml#/components/schemas/KeyValuePairs" - _links: - description: > - Links to resources related to this notification. - type: object - properties: - subscription: - description: > - Link to the related subscription. - $ref: "../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" - objectInstance: - description: > - Link to the resource representing the measured object instance to which - the notified change applies. Shall be present if the measured object - instance information is accessible as a resource. - $ref: "../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" - threshold: - description: > - Link to the resource that represents the threshold that was crossed. - $ref: "../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" - required: - - subscription - - objectInstance - required: - - id - - notificationType - - subscriptionId - - timeStamp - - thresholdId - - crossingDirection - - objectType - - objectInstanceId - - performanceMetric - - performanceValue - - _links - - PerformanceInformationAvailableNotification: - description: > - This notification informs the receiver that performance information is available. - type: object - 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: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" - notificationType: - description: > - Discriminator for the different notification types. - Shall be set to "PerformanceInformationAvailableNotification" for this - notification type. - $ref: "../components/SOL009_schemas.yaml#/components/schemas/String" - subscriptionId: - description: > - Identifier of the subscription that this notification relates to. - $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" - timeStamp: - description: > - Date and time of the generation of the notification. - $ref: "../components/SOL009_schemas.yaml#/components/schemas/DateTime" - objectType: - description: > - Type of measured object. - The applicable measured object type for a measurement is defined in clause 8.2 - of ETSI GS NFV-IFA 031. - $ref: "../components/SOL009_schemas.yaml#/components/schemas/String" - objectInstanceId: - description: > - Type of measured object. - The applicable measured object type for a measurement is defined in clause 8.2 - of ETSI GS NFV-IFA 031 - $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" - subObjectInstanceId: - description: > - Identifier of the sub-object of the measured object instance for which the - measurements have been taken. Shall be present if the related PM job has been - set up to measure a sub-object instance of the measured object instance and a - sub-object is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the related - measured object type. Shall be absent otherwise. - $ref: "../components/SOL009_schemas.yaml#/components/schemas/IdentifierInManoEntity" - _links: - description: > - Links to resources related to this notification. - type: object - properties: - subscription: - description: > - Link to the related subscription. - $ref: "../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" - objectInstance: - description: > - Link to the resource representing the measured object instance to which the - notification applies. Shall be present if the measured object instance - information is accessible as a resource. - $ref: "../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" - pmJob: - description: > - Link to the resource that represents the PM job for which performance - information is available. - $ref: "../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" - PerformanceReport: - description: > - Link from which the available performance information of data type - "PerformanceReport" can be obtained. - This link should point to an "Individual performance report" resource. - $ref: "../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" - required: - - subscription - - pmJob - - performanceReport - required: - - id - - notificationType - - subscriptionId - - timeStamp - - objectType - - objectInstanceId - - _links - CreatePmJobRequest: description: > This type represents a request to create a PM job. @@ -1048,8 +858,7 @@ components: properties: pmSubscriptionFilter: description: > - pmSubscriptionFilter ManoEntitySubscriptionFilter 0..1 Filter criteria - to select object instance about which to notify. + Filter criteria to select object instance about which to notify. $ref: "../components/SOL009_schemas.yaml#/components/schemas/ManoEntitySubscriptionFilter" notificationTypes: description: > diff --git a/src/SOL009/NFVManoPerformanceManagementNotification/NFVManoPerformanceManagementNotification.yaml b/src/SOL009/NFVManoPerformanceManagementNotification/NFVManoPerformanceManagementNotification.yaml index 56d3a86..f86ad37 100644 --- a/src/SOL009/NFVManoPerformanceManagementNotification/NFVManoPerformanceManagementNotification.yaml +++ b/src/SOL009/NFVManoPerformanceManagementNotification/NFVManoPerformanceManagementNotification.yaml @@ -1,9 +1,9 @@ openapi: 3.0.2 info: version: 1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 - title: SOL009 - NFV-MANO Performance Management Notification Interface + title: SOL009 - NFV-MANO Performance Management Notification Operation description: > - SOL009 - NFV-MANO Performance Management Notification Interface + SOL009 - NFV-MANO Performance Management Notification Operation IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to and has not been @@ -44,7 +44,7 @@ paths: - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" requestBody: - $ref: "#/components/requestBodies/CreatePerfomanceInfoNotificationRequest" + $ref: "#/components/requestBodies/PerfomanceInfoNotification" responses: "204": $ref: "#/components/responses/notification.post.204" @@ -145,7 +145,7 @@ components: type: string requestBodies: - CreatePerfomanceInfoNotificationRequest: + PerfomanceInfoNotification: description: > Notification about the avaialbility of a performance information or a threshold crossing. @@ -153,8 +153,198 @@ components: application/json: schema: oneOf: - - $ref: "../NFVManoPerformanceManagement/NFVManoPerformanceManagement.yaml#/components/schemas/PerformanceInformationAvailableNotification" - - $ref: "../NFVManoPerformanceManagement/NFVManoPerformanceManagement.yaml#/components/schemas/ThresholdCrossedNotification" + - $ref: "#/components/schemas/PerformanceInformationAvailableNotification" + - $ref: "#/components/schemas/ThresholdCrossedNotification" required: true - + schemas: + ThresholdCrossedNotification: + description: > + This type represents a notification that is sent when a threshold has been crossed. + + NOTE: The timing of sending this notification is determined by the capability of + the producing entity to evaluate the threshold crossing condition. + + The notification shall be triggered by the NFV-MANO functional entity when + a threshold has been crossed. + type: object + 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: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" + notificationType: + description: > + Discriminator for the different notification types. Shall be set to + "ThresholdCrossedNotification" for this notification type. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/String" + subscriptionId: + description: > + Identifier of the subscription that this notification relates to. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" + timeStamp: + description: > + Date and time of the generation of the notification. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/DateTime" + thresholdId: + description: > + Identifier of the threshold which has been crossed. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" + crossingDirection: + description: > + An indication of whether the threshold was crossed in upward or downward direction. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/CrossingDirectionType" + objectType: + description: > + Type of measured object.The applicable measured object type for a measurement + is defined in clause 8.2 of ETSI GS NFV-IFA 031. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/String" + objectInstanceId: + description: > + Identifier of the measured object instance. This attribute shall contain the + identifier of the instance of the measure object according to their type. + See also definitions in clause 8.2 of ETSI GS NFV-IFA 031 + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" + subObjectInstanceId: + description: > + Identifier of the sub-object of the measured object to which the measurement + applies. Shall be present if this is required in clause 8.2 of ETSI GS NFV-IFA 031 + for the related measured object type. Shall be absent otherwise. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/IdentifierInManoEntity" + performanceMetric: + description: > + Performance metric associated with the threshold. + This attribute shall contain the related "Measurement Name" value as defined + in clause 8.4 of ETSI GS NFV-IFA 031 + $ref: "../components/SOL009_schemas.yaml#/components/schemas/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 8.4 of ETSI GS NFV-IFA 031. + context: + description: >- + Measurement context information related to the measured value. The set of applicable keys is defined per + measurement in clause 8.4 of ETSI GS NFV-IFA 031. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/KeyValuePairs" + _links: + description: > + Links to resources related to this notification. + type: object + properties: + subscription: + description: > + Link to the related subscription. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" + objectInstance: + description: > + Link to the resource representing the measured object instance to which + the notified change applies. Shall be present if the measured object + instance information is accessible as a resource. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" + threshold: + description: > + Link to the resource that represents the threshold that was crossed. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" + required: + - subscription + - objectInstance + required: + - id + - notificationType + - subscriptionId + - timeStamp + - thresholdId + - crossingDirection + - objectType + - objectInstanceId + - performanceMetric + - performanceValue + - _links + + PerformanceInformationAvailableNotification: + description: > + This notification informs the receiver that performance information is available. + type: object + 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: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" + notificationType: + description: > + Discriminator for the different notification types. + Shall be set to "PerformanceInformationAvailableNotification" for this + notification type. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/String" + subscriptionId: + description: > + Identifier of the subscription that this notification relates to. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" + timeStamp: + description: > + Date and time of the generation of the notification. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/DateTime" + objectType: + description: > + Type of measured object. + The applicable measured object type for a measurement is defined in clause 8.2 + of ETSI GS NFV-IFA 031. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/String" + objectInstanceId: + description: > + Type of measured object. + The applicable measured object type for a measurement is defined in clause 8.2 + of ETSI GS NFV-IFA 031 + $ref: "../components/SOL009_schemas.yaml#/components/schemas/Identifier" + subObjectInstanceId: + description: > + Identifier of the sub-object of the measured object instance for which the + measurements have been taken. Shall be present if the related PM job has been + set up to measure a sub-object instance of the measured object instance and a + sub-object is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the related + measured object type. Shall be absent otherwise. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/IdentifierInManoEntity" + _links: + description: > + Links to resources related to this notification. + type: object + properties: + subscription: + description: > + Link to the related subscription. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" + objectInstance: + description: > + Link to the resource representing the measured object instance to which the + notification applies. Shall be present if the measured object instance + information is accessible as a resource. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" + pmJob: + description: > + Link to the resource that represents the PM job for which performance + information is available. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" + PerformanceReport: + description: > + Link from which the available performance information of data type + "PerformanceReport" can be obtained. + This link should point to an "Individual performance report" resource. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" + required: + - subscription + - pmJob + - performanceReport + required: + - id + - notificationType + - subscriptionId + - timeStamp + - objectType + - objectInstanceId + - _links + -- GitLab From 866f0ab08d5bc9d2a04ac35e0a8e59b2c2eae410 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 5 Dec 2019 12:37:25 +0100 Subject: [PATCH 50/55] Fix --- ...ConfigurationAndInformationManagement.yaml | 69 ++++--------------- ...nAndInformationManagementNotification.yaml | 6 +- src/SOL009/components/SOL009_schemas.yaml | 45 ++++++++++++ 3 files changed, 60 insertions(+), 60 deletions(-) diff --git a/src/SOL009/NFVManoConfigurationAndInformationManagement/NFVManoConfigurationAndInformationManagement.yaml b/src/SOL009/NFVManoConfigurationAndInformationManagement/NFVManoConfigurationAndInformationManagement.yaml index c99cbf3..c1a385c 100644 --- a/src/SOL009/NFVManoConfigurationAndInformationManagement/NFVManoConfigurationAndInformationManagement.yaml +++ b/src/SOL009/NFVManoConfigurationAndInformationManagement/NFVManoConfigurationAndInformationManagement.yaml @@ -846,11 +846,11 @@ components: operationalState: description: > The operational state of the NFV-MANO functional entity application. - $ref: "#/components/schemas/OperationalStateEnumType" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/OperationalStateEnumType" administrativeState: description: > The administrative state of the NFV-MANO functional entity application. - $ref: "#/components/schemas/AdministrativeStateEnumType" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/AdministrativeStateEnumType" usageState: description: > The usage state of the NFV-MANO functional entity application. @@ -1188,7 +1188,7 @@ components: operationState: description: > The state of the "change state operation occurrence". - $ref: "#/components/schemas/ChangeStateOpOccStateEnumType" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ChangeStateOpOccStateEnumType" stateEnteredTime: description: > Date-time when the current state was entered. @@ -1356,7 +1356,7 @@ components: administrativeState: description: > The administrative state of the NFV-MANO service interface. - $ref: "#/components/schemas/AdministrativeStateEnumType" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/AdministrativeStateEnumType" usageState: description: > The usage state of the NFV-MANO service interface. @@ -1535,11 +1535,11 @@ components: operationalState: description: > TThe operation state of the peer functional entity’s application. - $ref: "#/components/schemas/OperationalStateEnumType" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/OperationalStateEnumType" administrativeState: description: > The administrative state of the peer functional entity’s application. - $ref: "#/components/schemas/AdministrativeStateEnumType" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/AdministrativeStateEnumType" required: - operationalState - administrativeState @@ -1601,11 +1601,11 @@ components: operationalState: description: > The operational state of the peer functional entity’s application. - $ref: "#/components/schemas/OperationalStateEnumType" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/OperationalStateEnumType" administrativeState: description: The administrative state of the peer functional entity’s application. - $ref: "#/components/schemas/AdministrativeStateEnumType" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/AdministrativeStateEnumType" required: - operationalState - administrativeState @@ -1658,12 +1658,12 @@ components: description: > New content of the "operationalState" attribute in the "peerEntityState" structure in the "PeerEntity". - $ref: "#/components/schemas/OperationalStateEnumType" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/OperationalStateEnumType" administrativeState: description: > New content of the "administrativeState" attribute in the "peerEntityState" structure in the "PeerEntity". - $ref: "#/components/schemas/AdministrativeStateEnumType" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/AdministrativeStateEnumType" PeerEntityConfigModifications: description: > @@ -1714,13 +1714,13 @@ components: If present, this attribute signals modifications of the "operationalState" attribute in the "peerEntityState" structure in the "PeerEntity", as defined in clause 5.6.2.15. - $ref: "#/components/schemas/OperationalStateEnumType" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/OperationalStateEnumType" administrativeState: description: > If present, this attribute signals modifications of the "administrativeState" attribute in the "peerEntityState" structure in the "PeerEntity", as defined in clause 5.6.2.15. - $ref: "#/components/schemas/AdministrativeStateEnumType" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/AdministrativeStateEnumType" ManoConfigurableParams: description: > @@ -2365,38 +2365,6 @@ components: once the interfaces are specified as a RESTful NFV-MANO API. type: string - OperationalStateEnumType: - description: > - The enumeration OperationalStateEnumType defines values representing the - operational state of an NFV-MANO functional application type of managed entity. - The OperationalStateEnumType shall comply with the provisions: - - STARTED The managed entity is operational. - - STOPPED The managed entity is not operational. - - STOPPING The managed entity is in the transition to stop. - - STARTING The managed entity is in the transition to start and become operational. - - RESTARTING The managed entity is in the transition to stop and start again. - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - - AdministrativeStateEnumType: - description: > - The enumeration AdministrativeStateEnumType defines values representing - the administrative state of a managed entity. - The AdministrativeStateEnumType shall comply with the provisions: - - LOCKED The managed entity is administratively prohibited to be used. - - UNLOCKED The managed entity is administratively allowed to be used. - - LOCKING The managed entity is in the transition to be locked. - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - UsageStateEnumType: description: > The enumeration UsageStateEnumType defines values representing the usage @@ -2462,19 +2430,6 @@ components: - GRACEFUL - FORCEFUL - ChangeStateOpOccStateEnumType: - description: > - The enumeration ChangeStateOpOccStateEnumType defines permitted values - for the change state operation. It shall comply with the provisions : - - PROCESSING The change state operation is currently in execution. - - COMPLETED The change state operation has been completed successfully. - - FAILED The change state operation has failed. - type: string - enum: - - PROCESSING - - COMPLETED - - FAILED - ManoEntityEnumType: description: > The enumeration ManoEntityEnumType defines the permitted values to diff --git a/src/SOL009/NFVManoConfigurationAndInformationManagementNotification/NFVManoConfigurationAndInformationManagementNotification.yaml b/src/SOL009/NFVManoConfigurationAndInformationManagementNotification/NFVManoConfigurationAndInformationManagementNotification.yaml index 5402252..ff16f92 100644 --- a/src/SOL009/NFVManoConfigurationAndInformationManagementNotification/NFVManoConfigurationAndInformationManagementNotification.yaml +++ b/src/SOL009/NFVManoConfigurationAndInformationManagementNotification/NFVManoConfigurationAndInformationManagementNotification.yaml @@ -259,7 +259,7 @@ components: changeStateOperationState: description: > The state of the "change state operation occurrence". - $ref: "#/components/schemas/ChangeStateOpOccStateEnumType" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ChangeStateOpOccStateEnumType" managedObjectRef: description: > Reference of the managed object to which the state change notification relates. @@ -269,12 +269,12 @@ components: description: > New operational state of the managed object. Shall only be present when there is a change in the operational state. - $ref: "#/components/schemas/OperationalStateEnumType" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/OperationalStateEnumType" administrativeState: description: > New administrative state of the managed object. Shall only be present when there is a change in the administrative state. - $ref: "#/components/schemas/AdministrativeStateEnumType" + $ref: "../components/SOL009_schemas.yaml#/components/schemas/AdministrativeStateEnumType" _links: description: > Links to resources related to this notification. diff --git a/src/SOL009/components/SOL009_schemas.yaml b/src/SOL009/components/SOL009_schemas.yaml index b602cf2..8b08080 100644 --- a/src/SOL009/components/SOL009_schemas.yaml +++ b/src/SOL009/components/SOL009_schemas.yaml @@ -619,3 +619,48 @@ components: - WARNING - INDETERMINATE - CLEARED + + AdministrativeStateEnumType: + description: > + The enumeration AdministrativeStateEnumType defines values representing + the administrative state of a managed entity. + The AdministrativeStateEnumType shall comply with the provisions: + - LOCKED The managed entity is administratively prohibited to be used. + - UNLOCKED The managed entity is administratively allowed to be used. + - LOCKING The managed entity is in the transition to be locked. + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + + OperationalStateEnumType: + description: > + The enumeration OperationalStateEnumType defines values representing the + operational state of an NFV-MANO functional application type of managed entity. + The OperationalStateEnumType shall comply with the provisions: + - STARTED The managed entity is operational. + - STOPPED The managed entity is not operational. + - STOPPING The managed entity is in the transition to stop. + - STARTING The managed entity is in the transition to start and become operational. + - RESTARTING The managed entity is in the transition to stop and start again. + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + - RESTARTING + + ChangeStateOpOccStateEnumType: + description: > + The enumeration ChangeStateOpOccStateEnumType defines permitted values + for the change state operation. It shall comply with the provisions : + - PROCESSING The change state operation is currently in execution. + - COMPLETED The change state operation has been completed successfully. + - FAILED The change state operation has failed. + type: string + enum: + - PROCESSING + - COMPLETED + - FAILED -- GitLab From ece0ccbb3e14fe39901fcef8f93622f5be83d189 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Tue, 7 Jan 2020 17:33:30 +0100 Subject: [PATCH 51/55] fix API versions --- src/SOL009/APIVersion/APIVersion.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/SOL009/APIVersion/APIVersion.yaml b/src/SOL009/APIVersion/APIVersion.yaml index 749ca12..9d5b106 100644 --- a/src/SOL009/APIVersion/APIVersion.yaml +++ b/src/SOL009/APIVersion/APIVersion.yaml @@ -27,5 +27,11 @@ externalDocs: url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/009/03.03.01_60/gs_NFV-SOL009v030301p.pdf paths: + /nfvmanocim/api_versions: + $ref: ../endpoints/SOL009_endpoints.yaml#/endpoints/api_versions /nfvmanofm/api_versions: $ref: ../endpoints/SOL009_endpoints.yaml#/endpoints/api_versions + /nfvmanologm/api_versions: + $ref: ../endpoints/SOL009_endpoints.yaml#/endpoints/api_versions + /nfvmanolopm/api_versions: + $ref: ../endpoints/SOL009_endpoints.yaml#/endpoints/api_versions -- GitLab From 90d66e086aef1a3850adc7a096c9bb5f4031a14f Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Wed, 8 Jan 2020 15:46:30 +0100 Subject: [PATCH 52/55] renamed logm subscriptions responses definitions --- src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml index fde236e..1377ac0 100644 --- a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml +++ b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml @@ -304,7 +304,7 @@ paths: $ref: '#/components/requestBodies/LogmSubscriptionRequest' responses: "201": - $ref: '#/components/responses/LogmSubscription' + $ref: '#/components/responses/LogmSubscription.201' "303": $ref: '#/components/responses/LogmSubscription.303' "422": @@ -342,7 +342,7 @@ paths: - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "200": - $ref: '#/components/responses/LogmSubscriptions' + $ref: '#/components/responses/LogmSubscriptions.200' "400": $ref: '../components/SOL009_resp.yaml#/components/responses/400' "401": @@ -541,7 +541,7 @@ components: schema: $ref: "#/components/schemas/LogmSubscription" - LogmSubscriptions: + LogmSubscriptions.200: description: >- Shall be returned when the list of subscriptions has been queried successfully. The response body shall contain in an array the representations of all active subscriptions of @@ -576,7 +576,7 @@ components: items: $ref: "#/components/schemas/LogmSubscription" - LogmSubscription: + LogmSubscription.201: description: >- Shall be returned when the subscription has been created successfully. A representation of the created "Individual subscription" resource shall be returned in the response body, -- GitLab From a0763b343b4162cb3c065b738e4d50d8d7775b78 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Fri, 10 Jan 2020 11:37:47 +0100 Subject: [PATCH 53/55] updated responses data types names --- .../NFVManoLogManagement.yaml | 61 ++++++++++--------- 1 file changed, 31 insertions(+), 30 deletions(-) diff --git a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml index 1377ac0..5fdd70a 100644 --- a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml +++ b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml @@ -46,7 +46,7 @@ paths: $ref: "#/components/requestBodies/CreateLoggingJobRequest" responses: "201": - $ref: '#/components/responses/LoggingJob.Post' + $ref: '#/components/responses/LoggingJob.post' "400": $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": @@ -84,7 +84,7 @@ paths: - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "200": - $ref: '#/components/responses/LoggingJobs.Get' + $ref: '#/components/responses/LoggingJobs.get' "400": $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": @@ -124,7 +124,7 @@ paths: responses: "200": - $ref: '#/components/responses/LoggingJob.Get' + $ref: '#/components/responses/LoggingJob.get' "400": $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": @@ -158,7 +158,7 @@ paths: - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "204": - $ref: '#/components/responses/LoggingJob.Delete' + $ref: '#/components/responses/LoggingJob.delete' "400": $ref: '../components/SOL009_resp.yaml#/components/responses/400' "401": @@ -201,9 +201,9 @@ paths: - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "200": - $ref: '#/components/responses/LogReport.Get' + $ref: '#/components/responses/LogReport.get.200' "202": - $ref: '#/components/responses/LogReport.Get.202' + $ref: '#/components/responses/LogReport.get.202' "400": $ref: '../components/SOL009_resp.yaml#/components/responses/400' "401": @@ -251,13 +251,13 @@ paths: $ref: "#/components/requestBodies/CompileLogRequest" responses: "200": - $ref: '#/components/responses/LogReportCompiled' + $ref: '#/components/responses/LogReportCompiled.post.200' "202": - $ref: '#/components/responses/LogReportCompiled.202' + $ref: '#/components/responses/LogReportCompiled.post.202' "303": - $ref: '#/components/responses/LogReportCompiled.303' + $ref: '#/components/responses/LogReportCompiled.post.303' "422": - $ref: '#/components/responses/LogReportCompiled.422' + $ref: '#/components/responses/LogReportCompiled.post.422' "400": $ref: '../components/SOL009_resp.yaml#/components/responses/400' "401": @@ -304,9 +304,9 @@ paths: $ref: '#/components/requestBodies/LogmSubscriptionRequest' responses: "201": - $ref: '#/components/responses/LogmSubscription.201' + $ref: '#/components/responses/LogmSubscription.post.201' "303": - $ref: '#/components/responses/LogmSubscription.303' + $ref: '#/components/responses/LogmSubscription.post.303' "422": $ref: '../components/SOL009_resp.yaml#/components/responses/422' "400": @@ -342,7 +342,7 @@ paths: - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "200": - $ref: '#/components/responses/LogmSubscriptions.200' + $ref: '#/components/responses/LogmSubscriptions.get.200' "400": $ref: '../components/SOL009_resp.yaml#/components/responses/400' "401": @@ -381,7 +381,7 @@ paths: - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "200": - $ref: '#/components/responses/LogmSubscription.Get' + $ref: '#/components/responses/LogmSubscription.get.200' "400": $ref: '../components/SOL009_resp.yaml#/components/responses/400' "401": @@ -416,7 +416,7 @@ paths: - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "204": - $ref: '#/components/responses/LogmSubscription.Delete' + $ref: '#/components/responses/LogmSubscription.delete' "400": $ref: '../components/SOL009_resp.yaml#/components/responses/400' "401": @@ -492,7 +492,7 @@ components: required: true responses: - LogmSubscription.Delete: + LogmSubscription.delete: description: >- Shall be returned when the "Individual subscription" resource has been deleted successfully. The response body shall be empty. @@ -514,7 +514,7 @@ components: schema: type: string - LogmSubscription.Get: + LogmSubscription.get.200: description: >- Shall be returned when the subscription has been read successfully. The response body shall contain a representation of the "Individual subscription" resource, @@ -541,7 +541,7 @@ components: schema: $ref: "#/components/schemas/LogmSubscription" - LogmSubscriptions.200: + LogmSubscriptions.get.200: description: >- Shall be returned when the list of subscriptions has been queried successfully. The response body shall contain in an array the representations of all active subscriptions of @@ -576,7 +576,7 @@ components: items: $ref: "#/components/schemas/LogmSubscription" - LogmSubscription.201: + LogmSubscription.post.201: description: >- Shall be returned when the subscription has been created successfully. A representation of the created "Individual subscription" resource shall be returned in the response body, @@ -610,7 +610,7 @@ components: schema: $ref: "#/components/schemas/LogmSubscription" - LogmSubscription.303: + LogmSubscription.post.303: description: >- Shall be returned when a subscription with the same callbackURI and the same filter already exists and the policy of the NFV-MANO functional entity is to not create redundant subscriptions. @@ -640,7 +640,7 @@ components: schema: type: string - LogReportCompiled: + LogReportCompiled.post.200: description: >- Shall be returned for a successful compilation of the log data and creation of the associated log report (synchronous mode). @@ -674,7 +674,7 @@ components: schema: $ref: "#/components/schemas/LogReport" - LogReportCompiled.202: + LogReportCompiled.post.202: description: >- Shall be returned when the request has been accepted for processing, and it is expected to take some time to compile the log file and create the associated log report (asynchronous mode). @@ -705,7 +705,7 @@ components: schema: type: string - LogReportCompiled.303: + LogReportCompiled.post.303: description: >- Shall be returned when a log data compilation and report creation is already ongoing, or a log report has just been created, for the specified logging job at the time of processing the request. @@ -736,7 +736,7 @@ components: schema: type: string - LogReportCompiled.422: + LogReportCompiled.post.422: description: >- The general cause for this error and its handling is specified in clause 6.4 of ETSI GS NFV-SOL 013, including rules for the presence of the response body. @@ -767,7 +767,7 @@ components: schema: $ref: '../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails' - LogReport.Get: + LogReport.get.200: description: >- Shall be returned when information of an individual log report has been read successfully. The response body shall contain a representation of the "Individual log report" resource, as @@ -794,7 +794,7 @@ components: schema: $ref: "#/components/schemas/LogReport" - LogReport.Get.202: + LogReport.get.202: description: >- Shall be returned if the creation of the log report is ongoing and no log report is available yet (applicable in asynchronous mode of the "Compile log task" resource). @@ -817,7 +817,7 @@ components: schema: type: string - LoggingJob.Get: + LoggingJob.get: description: >- Shall be returned when information about an individual logging job has been read successfully. The response body shall contain a representation of the "Individual logging job" resource, @@ -844,7 +844,7 @@ components: schema: $ref: "#/components/schemas/LoggingJob" - LoggingJob.Delete: + LoggingJob.delete: description: >- Shall be returned when the logging job has been deleted successfully. The response body shall be empty. @@ -862,7 +862,7 @@ components: schema: type: string - LoggingJob.Post: + LoggingJob.post: description: >- The response body contains the Application Context as it was created by the MEC system @@ -887,7 +887,8 @@ components: application/json: schema: $ref: "#/components/schemas/LoggingJob" - LoggingJobs.Get: + + LoggingJobs.get: description: >- Shall be returned when information about zero or more logging jobs has been queried successfully. -- GitLab From 68d7fbac6253e9446c1bd9b8ea3a7f83f983341c Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Fri, 10 Jan 2020 12:51:00 +0100 Subject: [PATCH 54/55] updated more responses data types --- .../NFVManoFaultManagement.yaml | 28 ++++----- .../NFVManoLogManagement.yaml | 60 +++++++++---------- 2 files changed, 44 insertions(+), 44 deletions(-) diff --git a/src/SOL009/NFVManoFaultManagement/NFVManoFaultManagement.yaml b/src/SOL009/NFVManoFaultManagement/NFVManoFaultManagement.yaml index e925212..9153fd7 100644 --- a/src/SOL009/NFVManoFaultManagement/NFVManoFaultManagement.yaml +++ b/src/SOL009/NFVManoFaultManagement/NFVManoFaultManagement.yaml @@ -38,7 +38,7 @@ paths: - $ref: "../components/SOL009_params.yaml#/components/parameters/nextpage_opaque_marker" responses: "200": - $ref: '#/components/responses/Alarms.get' + $ref: '#/components/responses/Alarms.Get' "400": $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": @@ -74,7 +74,7 @@ paths: - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "200": - $ref: '#/components/responses/Alarm.get' + $ref: '#/components/responses/Alarm.Get' "400": $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": @@ -110,7 +110,7 @@ paths: $ref: "#/components/requestBodies/AlarmModifications" responses: "200": - $ref: '#/components/responses/Alarm.patch' + $ref: '#/components/responses/Alarm.Patch' "400": $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": @@ -165,7 +165,7 @@ paths: $ref: "#/components/requestBodies/FmSubscriptionRequest" responses: "201": - $ref: '#/components/responses/Subscriptions.post' + $ref: '#/components/responses/Subscriptions.Post' "303": $ref: ../components/SOL009_resp.yaml#/components/responses/303 "400": @@ -204,7 +204,7 @@ paths: - $ref: "../components/SOL009_params.yaml#/components/parameters/nextpage_opaque_marker" responses: "200": - $ref: '#/components/responses/Subscriptions.get' + $ref: '#/components/responses/Subscriptions.Get' "400": $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": @@ -241,7 +241,7 @@ paths: - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "200": - $ref: '#/components/responses/Subscription.get' + $ref: '#/components/responses/Subscription.Get' "400": $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": @@ -279,7 +279,7 @@ paths: - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "204": - $ref: '#/components/responses/Subscription.delete' + $ref: '#/components/responses/Subscription.Delete' "400": $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": @@ -478,7 +478,7 @@ components: required: true responses: - Alarms.get: + Alarms.Get: description: > 200 OK @@ -520,7 +520,7 @@ components: items: $ref: "../components/SOL009_schemas.yaml#/components/schemas/Alarm" - Alarm.get: + Alarm.Get: description: > 200 OK @@ -540,7 +540,7 @@ components: schema: $ref: "../components/SOL009_schemas.yaml#/components/schemas/Alarm" - Alarm.patch: + Alarm.Patch: description: > 200 OK @@ -569,7 +569,7 @@ components: schema: $ref: "#/components/schemas/AlarmModifications" - Subscriptions.post: + Subscriptions.Post: description: > 201 CREATED @@ -607,7 +607,7 @@ components: schema: $ref: "#/components/schemas/FmSubscription" - Subscriptions.get: + Subscriptions.Get: description: > 200 OK @@ -659,7 +659,7 @@ components: items: $ref: "#/components/schemas/FmSubscription" - Subscription.get: + Subscription.Get: description: > 200 OK @@ -695,7 +695,7 @@ components: schema: $ref: "#/components/schemas/FmSubscription" - Subscription.delete: + Subscription.Delete: description: > 204 NO CONTENT diff --git a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml index 5fdd70a..c6433f6 100644 --- a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml +++ b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml @@ -46,7 +46,7 @@ paths: $ref: "#/components/requestBodies/CreateLoggingJobRequest" responses: "201": - $ref: '#/components/responses/LoggingJob.post' + $ref: '#/components/responses/LoggingJob.Post' "400": $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": @@ -84,7 +84,7 @@ paths: - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "200": - $ref: '#/components/responses/LoggingJobs.get' + $ref: '#/components/responses/LoggingJobs.Get' "400": $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": @@ -124,7 +124,7 @@ paths: responses: "200": - $ref: '#/components/responses/LoggingJob.get' + $ref: '#/components/responses/LoggingJob.Get' "400": $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": @@ -158,7 +158,7 @@ paths: - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "204": - $ref: '#/components/responses/LoggingJob.delete' + $ref: '#/components/responses/LoggingJob.Delete' "400": $ref: '../components/SOL009_resp.yaml#/components/responses/400' "401": @@ -201,9 +201,9 @@ paths: - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "200": - $ref: '#/components/responses/LogReport.get.200' + $ref: '#/components/responses/LogReport.Get.200' "202": - $ref: '#/components/responses/LogReport.get.202' + $ref: '#/components/responses/LogReport.Get.202' "400": $ref: '../components/SOL009_resp.yaml#/components/responses/400' "401": @@ -251,13 +251,13 @@ paths: $ref: "#/components/requestBodies/CompileLogRequest" responses: "200": - $ref: '#/components/responses/LogReportCompiled.post.200' + $ref: '#/components/responses/LogReportCompiled.Post.200' "202": - $ref: '#/components/responses/LogReportCompiled.post.202' + $ref: '#/components/responses/LogReportCompiled.Post.202' "303": - $ref: '#/components/responses/LogReportCompiled.post.303' + $ref: '#/components/responses/LogReportCompiled.Post.303' "422": - $ref: '#/components/responses/LogReportCompiled.post.422' + $ref: '#/components/responses/LogReportCompiled.Post.422' "400": $ref: '../components/SOL009_resp.yaml#/components/responses/400' "401": @@ -304,9 +304,9 @@ paths: $ref: '#/components/requestBodies/LogmSubscriptionRequest' responses: "201": - $ref: '#/components/responses/LogmSubscription.post.201' + $ref: '#/components/responses/LogmSubscription.Post.201' "303": - $ref: '#/components/responses/LogmSubscription.post.303' + $ref: '#/components/responses/LogmSubscription.Post.303' "422": $ref: '../components/SOL009_resp.yaml#/components/responses/422' "400": @@ -342,7 +342,7 @@ paths: - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "200": - $ref: '#/components/responses/LogmSubscriptions.get.200' + $ref: '#/components/responses/LogmSubscriptions.Get.200' "400": $ref: '../components/SOL009_resp.yaml#/components/responses/400' "401": @@ -381,7 +381,7 @@ paths: - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "200": - $ref: '#/components/responses/LogmSubscription.get.200' + $ref: '#/components/responses/LogmSubscription.Get.200' "400": $ref: '../components/SOL009_resp.yaml#/components/responses/400' "401": @@ -416,7 +416,7 @@ paths: - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "204": - $ref: '#/components/responses/LogmSubscription.delete' + $ref: '#/components/responses/LogmSubscription.Delete' "400": $ref: '../components/SOL009_resp.yaml#/components/responses/400' "401": @@ -492,7 +492,7 @@ components: required: true responses: - LogmSubscription.delete: + LogmSubscription.Delete: description: >- Shall be returned when the "Individual subscription" resource has been deleted successfully. The response body shall be empty. @@ -514,7 +514,7 @@ components: schema: type: string - LogmSubscription.get.200: + LogmSubscription.Get.200: description: >- Shall be returned when the subscription has been read successfully. The response body shall contain a representation of the "Individual subscription" resource, @@ -541,7 +541,7 @@ components: schema: $ref: "#/components/schemas/LogmSubscription" - LogmSubscriptions.get.200: + LogmSubscriptions.Get.200: description: >- Shall be returned when the list of subscriptions has been queried successfully. The response body shall contain in an array the representations of all active subscriptions of @@ -576,7 +576,7 @@ components: items: $ref: "#/components/schemas/LogmSubscription" - LogmSubscription.post.201: + LogmSubscription.Post.201: description: >- Shall be returned when the subscription has been created successfully. A representation of the created "Individual subscription" resource shall be returned in the response body, @@ -610,7 +610,7 @@ components: schema: $ref: "#/components/schemas/LogmSubscription" - LogmSubscription.post.303: + LogmSubscription.Post.303: description: >- Shall be returned when a subscription with the same callbackURI and the same filter already exists and the policy of the NFV-MANO functional entity is to not create redundant subscriptions. @@ -640,7 +640,7 @@ components: schema: type: string - LogReportCompiled.post.200: + LogReportCompiled.Post.200: description: >- Shall be returned for a successful compilation of the log data and creation of the associated log report (synchronous mode). @@ -674,7 +674,7 @@ components: schema: $ref: "#/components/schemas/LogReport" - LogReportCompiled.post.202: + LogReportCompiled.Post.202: description: >- Shall be returned when the request has been accepted for processing, and it is expected to take some time to compile the log file and create the associated log report (asynchronous mode). @@ -705,7 +705,7 @@ components: schema: type: string - LogReportCompiled.post.303: + LogReportCompiled.Post.303: description: >- Shall be returned when a log data compilation and report creation is already ongoing, or a log report has just been created, for the specified logging job at the time of processing the request. @@ -736,7 +736,7 @@ components: schema: type: string - LogReportCompiled.post.422: + LogReportCompiled.Post.422: description: >- The general cause for this error and its handling is specified in clause 6.4 of ETSI GS NFV-SOL 013, including rules for the presence of the response body. @@ -767,7 +767,7 @@ components: schema: $ref: '../components/SOL009_schemas.yaml#/components/schemas/ProblemDetails' - LogReport.get.200: + LogReport.Get.200: description: >- Shall be returned when information of an individual log report has been read successfully. The response body shall contain a representation of the "Individual log report" resource, as @@ -794,7 +794,7 @@ components: schema: $ref: "#/components/schemas/LogReport" - LogReport.get.202: + LogReport.Get.202: description: >- Shall be returned if the creation of the log report is ongoing and no log report is available yet (applicable in asynchronous mode of the "Compile log task" resource). @@ -817,7 +817,7 @@ components: schema: type: string - LoggingJob.get: + LoggingJob.Get: description: >- Shall be returned when information about an individual logging job has been read successfully. The response body shall contain a representation of the "Individual logging job" resource, @@ -844,7 +844,7 @@ components: schema: $ref: "#/components/schemas/LoggingJob" - LoggingJob.delete: + LoggingJob.Delete: description: >- Shall be returned when the logging job has been deleted successfully. The response body shall be empty. @@ -862,7 +862,7 @@ components: schema: type: string - LoggingJob.post: + LoggingJob.Post: description: >- The response body contains the Application Context as it was created by the MEC system @@ -888,7 +888,7 @@ components: schema: $ref: "#/components/schemas/LoggingJob" - LoggingJobs.get: + LoggingJobs.Get: description: >- Shall be returned when information about zero or more logging jobs has been queried successfully. -- GitLab From 50ff8cac5ad2b26705d39b2c57e424a898881721 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 16 Jan 2020 11:59:27 +0100 Subject: [PATCH 55/55] fixed responses data types names --- .../NFVManoFaultManagement.yaml | 16 +- .../NFVManoFaultManagementNotification.yaml | 24 +- .../NFVManoLogManagement.yaml | 217 +++++++++++++++++- .../NFVManoLogManagementNotification.yaml | 8 +- 4 files changed, 229 insertions(+), 36 deletions(-) diff --git a/src/SOL009/NFVManoFaultManagement/NFVManoFaultManagement.yaml b/src/SOL009/NFVManoFaultManagement/NFVManoFaultManagement.yaml index 9153fd7..b53416a 100644 --- a/src/SOL009/NFVManoFaultManagement/NFVManoFaultManagement.yaml +++ b/src/SOL009/NFVManoFaultManagement/NFVManoFaultManagement.yaml @@ -165,7 +165,7 @@ paths: $ref: "#/components/requestBodies/FmSubscriptionRequest" responses: "201": - $ref: '#/components/responses/Subscriptions.Post' + $ref: '#/components/responses/subscriptions.post.201' "303": $ref: ../components/SOL009_resp.yaml#/components/responses/303 "400": @@ -204,7 +204,7 @@ paths: - $ref: "../components/SOL009_params.yaml#/components/parameters/nextpage_opaque_marker" responses: "200": - $ref: '#/components/responses/Subscriptions.Get' + $ref: '#/components/responses/subscriptions.get.200' "400": $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": @@ -241,7 +241,7 @@ paths: - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "200": - $ref: '#/components/responses/Subscription.Get' + $ref: '#/components/responses/subscription.get.200' "400": $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": @@ -279,7 +279,7 @@ paths: - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "204": - $ref: '#/components/responses/Subscription.Delete' + $ref: '#/components/responses/subscription.delete.204' "400": $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": @@ -569,7 +569,7 @@ components: schema: $ref: "#/components/schemas/AlarmModifications" - Subscriptions.Post: + subscriptions.post.201: description: > 201 CREATED @@ -607,7 +607,7 @@ components: schema: $ref: "#/components/schemas/FmSubscription" - Subscriptions.Get: + subscriptions.get.200: description: > 200 OK @@ -659,7 +659,7 @@ components: items: $ref: "#/components/schemas/FmSubscription" - Subscription.Get: + subscription.get.200: description: > 200 OK @@ -695,7 +695,7 @@ components: schema: $ref: "#/components/schemas/FmSubscription" - Subscription.Delete: + subscription.delete.204: description: > 204 NO CONTENT diff --git a/src/SOL009/NFVManoFaultManagementNotification/NFVManoFaultManagementNotification.yaml b/src/SOL009/NFVManoFaultManagementNotification/NFVManoFaultManagementNotification.yaml index 0204498..b7fe8ce 100644 --- a/src/SOL009/NFVManoFaultManagementNotification/NFVManoFaultManagementNotification.yaml +++ b/src/SOL009/NFVManoFaultManagementNotification/NFVManoFaultManagementNotification.yaml @@ -41,7 +41,7 @@ paths: $ref: "#/components/requestBodies/AlarmNotification" responses: "204": - $ref: "#/components/responses/AlarmNotification.post" + $ref: "#/components/responses/AlarmNotification.Post.204" "400": $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": @@ -68,7 +68,7 @@ paths: - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "204": - $ref: "#/components/responses/AlarmNotification.get" + $ref: "#/components/responses/AlarmNotification.Get.204" "400": $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": @@ -100,7 +100,7 @@ paths: $ref: "#/components/requestBodies/AlarmClearedNotification" responses: "204": - $ref: "#/components/responses/AlarmClearedNotification.post" + $ref: "#/components/responses/AlarmClearedNotification.Post.204" "400": $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": @@ -127,7 +127,7 @@ paths: - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "204": - $ref: "#/components/responses/AlarmClearedNotification.get" + $ref: "#/components/responses/AlarmClearedNotification.Get.204" "400": $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": @@ -159,7 +159,7 @@ paths: $ref: "#/components/requestBodies/AlarmListRebuiltNotification" responses: "204": - $ref: "#/components/responses/AlarmListRebuiltNotification.post" + $ref: "#/components/responses/AlarmListRebuiltNotification.Post.204" "400": $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": @@ -186,7 +186,7 @@ paths: - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "204": - $ref: "#/components/responses/AlarmListRebuiltNotification.get" + $ref: "#/components/responses/AlarmListRebuiltNotification.Get.204" "400": $ref: ../components/SOL009_resp.yaml#/components/responses/400 "401": @@ -402,7 +402,7 @@ components: $ref: "../components/SOL009_schemas.yaml#/components/schemas/NotificationLink" responses: - AlarmNotification.post: + AlarmNotification.Post.204: description: > 204 NO CONTENT @@ -425,7 +425,7 @@ components: minimum: 1 maximum: 1 - AlarmNotification.get: + AlarmNotification.Get.204: description: > 204 NO CONTENT @@ -449,7 +449,7 @@ components: minimum: 1 maximum: 1 - AlarmClearedNotification.post: + AlarmClearedNotification.Post.204: description: > 204 NO CONTENT @@ -472,7 +472,7 @@ components: minimum: 1 maximum: 1 - AlarmClearedNotification.get: + AlarmClearedNotification.Get.204: description: > 204 NO CONTENT @@ -496,7 +496,7 @@ components: minimum: 1 maximum: 1 - AlarmListRebuiltNotification.post: + AlarmListRebuiltNotification.Post.204: description: > 204 NO CONTENT @@ -519,7 +519,7 @@ components: minimum: 1 maximum: 1 - AlarmListRebuiltNotification.get: + AlarmListRebuiltNotification.Get.204: description: > 204 NO CONTENT diff --git a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml index c6433f6..e1a4f35 100644 --- a/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml +++ b/src/SOL009/NFVManoLogManagement/NFVManoLogManagement.yaml @@ -304,9 +304,9 @@ paths: $ref: '#/components/requestBodies/LogmSubscriptionRequest' responses: "201": - $ref: '#/components/responses/LogmSubscription.Post.201' + $ref: '#/components/responses/subscriptions.post.201' "303": - $ref: '#/components/responses/LogmSubscription.Post.303' + $ref: '#/components/responses/subscriptions.post.303' "422": $ref: '../components/SOL009_resp.yaml#/components/responses/422' "400": @@ -327,6 +327,9 @@ paths: $ref: '../components/SOL009_resp.yaml#/components/responses/503' "504": $ref: '../components/SOL009_resp.yaml#/components/responses/504' + callbacks: + LogReportAvailableNotification: + $ref: '#/components/callbacks/LogReportAvailableNotification' get: description: >- The API consumer can use this method to query the list of active subscriptions to log management @@ -342,7 +345,7 @@ paths: - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "200": - $ref: '#/components/responses/LogmSubscriptions.Get.200' + $ref: '#/components/responses/subscriptions.get.200' "400": $ref: '../components/SOL009_resp.yaml#/components/responses/400' "401": @@ -381,7 +384,7 @@ paths: - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "200": - $ref: '#/components/responses/LogmSubscription.Get.200' + $ref: '#/components/responses/subscription.get.200' "400": $ref: '../components/SOL009_resp.yaml#/components/responses/400' "401": @@ -416,7 +419,7 @@ paths: - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "204": - $ref: '#/components/responses/LogmSubscription.Delete' + $ref: '#/components/responses/subscription.delete.204' "400": $ref: '../components/SOL009_resp.yaml#/components/responses/400' "401": @@ -490,9 +493,16 @@ components: schema: $ref: "#/components/schemas/CompileLogRequest" required: true + LogReportAvailableNotification: + description: >- + Notification about the availability of a log report. + content: + application/json: + schema: + $ref: "#/components/schemas/LogReportAvailableNotification" responses: - LogmSubscription.Delete: + subscription.delete.204: description: >- Shall be returned when the "Individual subscription" resource has been deleted successfully. The response body shall be empty. @@ -514,7 +524,7 @@ components: schema: type: string - LogmSubscription.Get.200: + subscription.get.200: description: >- Shall be returned when the subscription has been read successfully. The response body shall contain a representation of the "Individual subscription" resource, @@ -541,7 +551,7 @@ components: schema: $ref: "#/components/schemas/LogmSubscription" - LogmSubscriptions.Get.200: + subscriptions.get.200: description: >- Shall be returned when the list of subscriptions has been queried successfully. The response body shall contain in an array the representations of all active subscriptions of @@ -576,7 +586,7 @@ components: items: $ref: "#/components/schemas/LogmSubscription" - LogmSubscription.Post.201: + subscriptions.post.201: description: >- Shall be returned when the subscription has been created successfully. A representation of the created "Individual subscription" resource shall be returned in the response body, @@ -610,7 +620,7 @@ components: schema: $ref: "#/components/schemas/LogmSubscription" - LogmSubscription.Post.303: + subscriptions.post.303: description: >- Shall be returned when a subscription with the same callbackURI and the same filter already exists and the policy of the NFV-MANO functional entity is to not create redundant subscriptions. @@ -926,6 +936,49 @@ components: type: array items: $ref: "#/components/schemas/LoggingJob" + + LogReportAvailableNotification.Post: + description: >- + Shall be returned when the notification has been delivered successfully. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + + LogReportNotification.Get: + description: >- + Shall be returned to indicate that the notification endpoint has been tested successfully. + The response body shall be empty. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string schemas: LogmSubscription: description: >- @@ -1605,5 +1658,145 @@ components: previous CreateLoggingJobRequest issued by the same API consumer, whose public key has not changed. type: string - - + LogReportAvailableNotification: + description: >- + This notification informs the receiver that the log report of the NFV-MANO functional entity is available. + It shall comply with the provisions defined in table 8.6.2.4-1. + The notification shall be triggered by the NFV-MANO functional entity when log information has been collected + by the logging job and the log report 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: '../components/SOL009_schemas.yaml#/components/schemas/Identifier' + notificationType: + description: >- + Discriminator for the different notification types. + Shall be set to "LogReportAvailableNotification" for this notification type. + type: string + subscriptionId: + description: >- + Identifier of the subscription that this notification relates to. + $ref: '../components/SOL009_schemas.yaml#/components/schemas/Identifier' + timeStamp: + description: >- + Date and time of the generation of the notification. + $ref: '../components/SOL009_schemas.yaml#/components/schemas/DateTime' + objectInstanceId: + description: >- + Identifier that identifies the object instance for which the log report is available. + This attribute shall contain the identifier of the logged object according to their type. + $ref: "../components/SOL009_schemas.yaml#/components/schemas/ManoManagedObjectReference" + _links: + description: >- + Links to resources related to this notification. + type: object + required: + - subscription + - logReports + properties: + subscription: + description: >- + Link to the related subscription. + $ref: '../components/SOL009_schemas.yaml#/components/schemas/NotificationLink' + objectInstance: + description: >- + Link to the resource representing the measured object instance to which the notified change applies. + Shall be present if the measured object instance information is accessible as a resource. + $ref: '../components/SOL009_schemas.yaml#/components/schemas/NotificationLink' + LoggingJob: + description: >- + Link to the resource that represents the logging job for which the log report is available. + $ref: '../components/SOL009_schemas.yaml#/components/schemas/NotificationLink' + logReports: + description: >- + Link from which the available log report can be obtained. Due to the relationship of the logging + job compilation and the logging information availability reporting, more than one logReport + notification link can be provided. + type: array + items: + $ref: '../components/SOL009_schemas.yaml#/components/schemas/NotificationLink' + callbacks: + LogReportAvailableNotification: + '{$request.body#/callbackUri}': + description: >- + This resource represents a notification endpoint for NFV-MANO log management. + The API producer can use this resource to send notifications related to log management events to a + subscribed API consumer, which has provided the URI of this resource during the subscription process. + post: + description: >- + The POST method delivers a notification regarding a log management event from the API producer to the API + consumer. The API consumer shall have previously created an "Individual subscription" resource with a + matching filter. + This method shall follow the provisions specified in the tables 8.5.9.3.1-1 and 8.5.9.3.1-2 for URI query + parameters, request and response data structures, and response codes. + parameters: + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" + requestBody: + $ref: "#/components/requestBodies/LogReportAvailableNotification" + responses: + "204": + $ref: '#/components/responses/LogReportAvailableNotification.Post' + "400": + $ref: '../components/SOL009_resp.yaml#/components/responses/400' + "401": + $ref: '../components/SOL009_resp.yaml#/components/responses/401' + "403": + $ref: '../components/SOL009_resp.yaml#/components/responses/403' + "404": + $ref: '../components/SOL009_resp.yaml#/components/responses/404' + "405": + $ref: '../components/SOL009_resp.yaml#/components/responses/405' + "406": + $ref: '../components/SOL009_resp.yaml#/components/responses/406' + "422": + $ref: '../components/SOL009_resp.yaml#/components/responses/422' + "500": + $ref: '../components/SOL009_resp.yaml#/components/responses/500' + "503": + $ref: '../components/SOL009_resp.yaml#/components/responses/503' + "504": + $ref: '../components/SOL009_resp.yaml#/components/responses/504' + get: + description: >- + The GET method allows the API producer to test the notification endpoint that is provided by the API + consumer, e.g. during subscription. + This method shall follow the provisions specified in the tables 8.5.9.3.2-1 and 8.5.9.3.2-2 for URI + query parameters, request and response data structures, and response codes. + parameters: + - $ref: "../components/SOL009_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" + responses: + "204": + $ref: '#/components/responses/LogReportNotification.Get' + "400": + $ref: '../components/SOL009_resp.yaml#/components/responses/400' + "401": + $ref: '../components/SOL009_resp.yaml#/components/responses/401' + "403": + $ref: '../components/SOL009_resp.yaml#/components/responses/403' + "404": + $ref: '../components/SOL009_resp.yaml#/components/responses/404' + "405": + $ref: '../components/SOL009_resp.yaml#/components/responses/405' + "406": + $ref: '../components/SOL009_resp.yaml#/components/responses/406' + "422": + $ref: '../components/SOL009_resp.yaml#/components/responses/422' + "500": + $ref: '../components/SOL009_resp.yaml#/components/responses/500' + "503": + $ref: '../components/SOL009_resp.yaml#/components/responses/503' + "504": + $ref: '../components/SOL009_resp.yaml#/components/responses/504' diff --git a/src/SOL009/NFVManoLogManagementNotification/NFVManoLogManagementNotification.yaml b/src/SOL009/NFVManoLogManagementNotification/NFVManoLogManagementNotification.yaml index 7cc6c2d..94afb7c 100644 --- a/src/SOL009/NFVManoLogManagementNotification/NFVManoLogManagementNotification.yaml +++ b/src/SOL009/NFVManoLogManagementNotification/NFVManoLogManagementNotification.yaml @@ -45,7 +45,7 @@ paths: $ref: "#/components/requestBodies/LogReportAvailableNotification" responses: "204": - $ref: '#/components/responses/LogReportAvailableNotification' + $ref: '#/components/responses/notification.post.204' "400": $ref: '../components/SOL009_resp.yaml#/components/responses/400' "401": @@ -79,7 +79,7 @@ paths: - $ref: "../components/SOL009_params.yaml#/components/parameters/Authorization" responses: "204": - $ref: '#/components/responses/LogReportNotification.Get' + $ref: '#/components/responses/notification.get.204' "400": $ref: '../components/SOL009_resp.yaml#/components/responses/400' "401": @@ -112,7 +112,7 @@ components: $ref: "#/components/schemas/LogReportAvailableNotification" responses: - LogReportAvailableNotification: + notification.post.204: description: >- Shall be returned when the notification has been delivered successfully. headers: @@ -133,7 +133,7 @@ components: schema: type: string - LogReportNotification.Get: + notification.get.204: description: >- Shall be returned to indicate that the notification endpoint has been tested successfully. The response body shall be empty. -- GitLab