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: - $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: > 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" "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 "/alarms/{alarmId}": parameters: - $ref: "#/components/parameters/alarmId" 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: - $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: > 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" "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 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: - $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: 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 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" "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 "409": $ref: ../components/SOL009_resp.yaml#/components/responses/409 "412": $ref: ../components/SOL009_resp.yaml#/components/responses/412 "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 /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: - $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: schema: $ref: "#/components/schemas/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: "#/components/schemas/FmSubscription" "303": $ref: ../components/SOL009_resp.yaml#/components/responses/303 "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: > 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: - $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: > 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" "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 "/subscriptions/{subscriptionId}": parameters: - $ref: "#/components/parameters/subscriptionId" 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: - $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: > 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" "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 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: - $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 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: ../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 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 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/SOL009_schemas.yaml#/components/schemas/PerceivedSeverityType" eventTypes: description: > Match VNF alarms with an event type listed in this attribute. type: array items: $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