---
swagger: "2.0"
info:
  description: |
    SOL003 - VNF 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.

    In clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based filtering mechanism is defined. This mechanism is currently not included in the corresponding OpenAPI design for this GS version. Changes to the attribute-based filtering mechanism are being considered in v2.5.1 of this GS for inclusion in the corresponding future ETSI NFV OpenAPI design.
    Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution=
  version: 1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1
  title: SOL003 - VNF Fault Management interface
  termsOfService: https://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/product/vmware-product-guide.pdf
  license:
    name: ETSI Forge copyright notice
    url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
basePath: /telco/api/vnffm/v2
schemes:
- https
paths:
  /alarms:
    get:
      description: |
        Get Alarm List. The API consumer can use this method to retrieve information about the alarm list. This method shall follow the provisions specified in the tables 7.4.2.3.2-1 and 7.4.2.3.2-2 for URI query parameters, request and response data structures, and response codes.
      parameters:
      - name: Accept
        in: header
        description: |
          Content-Types that are acceptable for the response. Reference: IETF RFC 7231
        required: true
        type: string
      - name: Authorization
        in: header
        description: |
          The authorization token for the request. Reference: IETF RFC 7235
        required: false
        type: string
      - name: filter
        in: query
        description: |
          Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV SOL 013. The VNFM shall support receiving this parameter as part of the URI query string. The NFVO may supply this parameter. The following attribute names shall be supported by the VNFM in the attribute-based filtering expression: id, managedObjectId, rootCauseFaultyResource/faultyResourceType, eventType, perceivedSeverity, probableCause.
        required: false
        type: string
      - name: nextpage_opaque_marker
        in: query
        description: |
          Marker to obtain the next page of a paged response. Shall be supported by the VNFM if the VNFM supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource.
        required: false
        type: string
      - name: Version
        in: header
        description: |
          Version of the API requested to use when responding to this request.
        required: true
        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.5.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 VNFM 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:
              type: string
              description: |
                The MIME type of the body of the request. Reference: IETF RFC 7231
            Version:
              type: string
              description: |
                Version of the API used in the response.
            Link:
              type: string
              description: |
                Reference to other resources. Used for paging in the present document, see clause 4.7.2.1.
          schema:
            type: array
            items:
              $ref: '#/definitions/Alarm'
        "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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/definitions/ProblemDetails'
  /alarms/{alarmId}:
    get:
      description: |
        The API consumer can use this method to read an individual alarm. This method shall follow the provisions specified in the tables 7.4.3.3.2-1 and 7.4.3.3.2-2 for URI query parameters, request and response data structures, and response codes.
      parameters:
      - name: alarmId
        in: path
        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.
        required: true
        type: string
      - name: Accept
        in: header
        description: |
          Content-Types that are acceptable for the response. Reference: IETF RFC 7231
        required: true
        type: string
      - name: Content-Type
        in: header
        description: |
          The MIME type of the body of the request. Reference: IETF RFC 7231
        required: true
        type: string
      - name: Authorization
        in: header
        description: |
          The authorization token for the request. Reference: IETF RFC 7235
        required: false
        type: string
      - name: Version
        in: header
        description: |
          Version of the API requested to use when responding to this request.
        required: true
        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:
              type: string
              description: |
                The MIME type of the body of the request. Reference: IETF RFC 7231
          schema:
            $ref: '#/definitions/Alarm'
        "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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/definitions/ProblemDetails'
    patch:
      description: |
        Acknowledge Alarm. This method modifies an individual alarm resource. This method shall follow the provisions specified in the tables 7.4.3.3.4-1 and 7.4.3.3.4-2 for URI query parameters, request and response data structures, and response codes.
      parameters:
      - name: alarmId
        in: path
        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.
        required: true
        type: string
      - in: body
        name: AlarmModifications
        description: The VNF creation parameters
        required: true
        schema:
          $ref: '#/definitions/AlarmModifications'
      - name: Accept
        in: header
        description: |
          Content-Types that are acceptable for the response. Reference: IETF RFC 7231
        required: true
        type: string
      - name: Authorization
        in: header
        description: |
          The authorization token for the request. Reference: IETF RFC 7235
        required: false
        type: string
      - name: Content-Type
        in: header
        description: |
          The Content-Type header shall be set to "application/merge-patch+json" according to IETF RFC 7396.
        required: true
        type: string
        enum:
        - application/merge-patch+json
      - name: Version
        in: header
        description: |
          Version of the API requested to use when responding to this request.
        required: true
        type: string
      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.5.2.4).
          headers:
            Content-Type:
              type: string
              description: |
                The MIME type of the body of the request. Reference: IETF RFC 7231
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
          schema:
            $ref: '#/definitions/AlarmModifications'
        "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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/definitions/ProblemDetails'
        "409":
          description: |
            409 CONFLICT
          headers:
            Content-Type:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/definitions/ProblemDetails'
  /subscriptions:
    get:
      description: |
        Query Subscription Information

        The API consumer can use this method to retrieve the list of active subscriptions for VNF alarms subscribed by the API consumer. It can be used e.g. for resynchronization after error situations.
      parameters:
      - name: Accept
        in: header
        description: |
          Content-Types that are acceptable for the response. Reference: IETF RFC 7231
        required: true
        type: string
      - name: Authorization
        in: header
        description: |
          The authorization token for the request. Reference: IETF RFC 7235
        required: false
        type: string
      - name: Content-Type
        in: header
        description: |
          The MIME type of the body of the request. Reference: IETF RFC 7231
        required: true
        type: string
      - name: filter
        in: query
        description: |
          Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013. The VNFM shall support receiving this parameter as part of the URI query string. The NFVO may supply this parameter. All attribute names that appear in the FmSubscription and in data types referenced from it shall be supported by the VNFM in the filter expression.
        required: false
        type: string
      - name: nextpage_opaque_marker
        in: query
        description: |
          Marker to obtain the next page of a paged response. Shall be supported by the VNFM if the VNFM supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource.
        required: false
        type: string
      - name: Version
        in: header
        description: |
          Version of the API requested to use when responding to this request.
        required: true
        type: string
      responses:
        "200":
          description: |
            200 OK
            The list of subscriptions has been queried successfully. The response body shall contain in an array the representations of all active subscriptions of the functional block that invokes the method, i.e. zero or more representations of FM subscriptions as defined in clause 7.5.2.3. If the "filter" URI parameter was supplied in the request, the data in the response body shall have been transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. If the VNFM 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:
              type: string
              description: |
                The MIME type of the body of the request. Reference: IETF RFC 7231
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
            Link:
              type: string
              description: |
                Reference to other resources. Used for paging in the present document, see clause 4.7.2.1.
          schema:
            type: array
            items:
              $ref: '#/definitions/FmSubscription'
        "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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/definitions/ProblemDetails'
    post:
      description: |
        Subscribe. The POST method creates a new subscription. This method shall follow the provisions specified in the tables 7.4.4.3.1-1 and 7.4.4.3.1-2 for URI query parameters, request and response data structures, and response codes. As the result of successfully executing this method, a new "Individual subscription" resource as defined in clause 7.4.5 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 NFVO, and might make sense only in very rare use cases. Consequently, the VNFM 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:
      - in: body
        name: FmSubscriptionRequest
        description: The VNF creation parameters
        required: true
        schema:
          $ref: '#/definitions/FmSubscriptionRequest'
      - name: Accept
        in: header
        description: |
          Content-Types that are acceptable for the response. Reference: IETF RFC 7231
        required: true
        type: string
      - name: Authorization
        in: header
        description: |
          The authorization token for the request. Reference: IETF RFC 7235
        required: false
        type: string
      - name: Content-Type
        in: header
        description: |
          The MIME type of the body of the request. Reference: IETF RFC 7231
        required: true
        type: string
      - name: Version
        in: header
        description: |
          Version of the API requested to use when responding to this request.
        required: true
        type: string
      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:
              type: string
              description: |
                The MIME type of the body of the request. Reference: IETF RFC 7231
            Location:
              type: string
              format: url
              description: |
                The resource URI of the created subscription resource.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
          schema:
            $ref: '#/definitions/FmSubscription'
        "303":
          description: |
            303 See Other
          headers:
            Content-Type:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
        "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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/definitions/ProblemDetails'
  /subscriptions/{subscriptionId}:
    get:
      description: |
        Query Subscription Information. The API consumer can use this method for reading an individual subscription for VNF alarms subscribed by the API consumer. This method shall follow the provisions specified in the tables 7.4.5.3.2-1 and 7.4.5.3.2-2 for URI query parameters, request and response data structures, and response codes.
      parameters:
      - name: subscriptionId
        in: path
        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.
        required: true
        type: string
      - name: Accept
        in: header
        description: |
          Content-Types that are acceptable for the response. Reference: IETF RFC 7231
        required: true
        type: string
      - name: Authorization
        in: header
        description: |
          The authorization token for the request. Reference: IETF RFC 7235
        required: false
        type: string
      - name: Content-Type
        in: header
        description: |
          The MIME type of the body of the request. Reference: IETF RFC 7231
        required: true
        type: string
      - name: Version
        in: header
        description: |
          Version of the API requested to use when responding to this request.
        required: true
        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:
              type: string
              description: |
                The MIME type of the body of the request. Reference: IETF RFC 7231
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/definitions/FmSubscription'
        "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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/definitions/ProblemDetails'
    delete:
      description: |
        Terminate Subscription. This method terminates an individual subscription. This method shall follow the provisions specified in the tables 7.4.5.3.5-1 and 7.4.5.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: subscriptionId
        in: path
        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.
        required: true
        type: string
      - name: Authorization
        in: header
        description: |
          The authorization token for the request. Reference: IETF RFC 7235
        required: false
        type: string
      - name: Version
        in: header
        description: |
          Version of the API requested to use when responding to this request.
        required: true
        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:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
        "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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/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:
              type: string
              description: The MIME type of the body of the response.
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              type: string
              description: |
                Version of the API used in the response.
          schema:
            $ref: '#/definitions/ProblemDetails'
definitions:
  Alarm:
    type: object
    required:
    - _links
    - ackState
    - alarmRaisedTime
    - eventTime
    - eventType
    - id
    - isRootCause
    - managedObjectId
    - perceivedSeverity
    - probableCause
    properties:
      id:
        description: |
          Identifier of this Alarm information element.
        $ref: '#/definitions/Identifier'
      managedObjectId:
        description: |
          Identifier of the affected VNF instance.
        $ref: '#/definitions/Identifier'
      vnfcInstanceIds:
        type: array
        description: |
          Identifiers of the affected VNFC instances.
        items:
          $ref: '#/definitions/IdentifierInVnf'
      rootCauseFaultyResource:
        description: |
          The virtualised resources that are causing the VNF fault. Shall be present if the alarm affects virtualized resources.
        $ref: '#/definitions/FaultyResourceInfo'
      alarmRaisedTime:
        description: |
          Time stamp indicating when the alarm is raised by the managed object.
        $ref: '#/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/DateTime'
      alarmClearedTime:
        description: |
          Time stamp indicating when the alarm was cleared. It shall be present if the alarm has been cleared.
        $ref: '#/definitions/DateTime'
      alarmAcknowledgedTime:
        description: |
          Time stamp indicating when the alarm was acknowledged. It shall be present if the alarm has been acknowledged.
        $ref: '#/definitions/DateTime'
      ackState:
        type: string
        description: |
          Acknowledgement state of the alarm. Permitted values: * UNACKNOWLEDGED * ACKNOWLEDGED.
        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/DateTime'
      eventType:
        description: |
          Type of event.
        $ref: '#/definitions/EventType'
      faultType:
        type: string
        description: |
          Additional information to clarify the type of the fault.
      probableCause:
        type: string
        description: |
          Information about the probable cause of the fault.
      isRootCause:
        type: boolean
        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.
      correlatedAlarmIds:
        type: array
        description: |
          List of identifiers of other alarms correlated to this fault.
        items:
          $ref: '#/definitions/Identifier'
      faultDetails:
        type: array
        description: |
          Provides additional information about the fault.
        items:
          type: string
      _links:
        $ref: '#/definitions/Alarm__links'
    description: |
      The alarm data type encapsulates information about an alarm.
  Identifier:
    type: string
    description: |
      An identifier with the intention of being globally unique.
  IdentifierInVnf:
    type: string
    description: |
      An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
  FaultyResourceInfo:
    type: object
    required:
    - faultyResource
    - faultyResourceType
    properties:
      faultyResource:
        description: |
          Information that identifies the faulty resource instance and its managing entity.
        $ref: '#/definitions/ResourceHandle'
      faultyResourceType:
        description: |
          Type of the faulty resource.
        $ref: '#/definitions/FaultyResourceType'
    description: |
      This type represents the faulty virtual resources that have a negative impact on a VNF.
  ResourceHandle:
    type: object
    required:
    - resourceId
    properties:
      vimConnectionId:
        description: |
          Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF-related resource management in direct mode is applicable. The applicable "VimConnectionInfo" structure, which is referenced by vimConnectionId, can be obtained from the "vimConnectionInfo" attribute of the "VnfInstance" structure.
        $ref: '#/definitions/Identifier'
      resourceProviderId:
        description: |
          Identifier of the entity responsible for the management of the resource. This attribute shall only be supported and present when VNF-related resource management in indirect mode is applicable. The identification scheme is outside the scope of the present document.
        $ref: '#/definitions/Identifier'
      resourceId:
        description: |
          Identifier of the resource in the scope of the VIM or the resource provider.
        $ref: '#/definitions/IdentifierInVim'
      vimLevelResourceType:
        type: string
        description: |
          The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).
    description: |
      This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.
  IdentifierInVim:
    type: string
    description: |
      An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.
  FaultyResourceType:
    type: string
    description: |
      The enumeration FaultyResourceType represents those types of faulty resource.
    enum:
    - COMPUTE
    - STORAGE
    - NETWORK
  DateTime:
    type: string
    format: date-time
    description: |
      Date-time stamp. Representation: String formatted according to IETF RFC 3339.
  PerceivedSeverityType:
    type: string
    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).
    enum:
    - CRITICAL
    - MAJOR
    - MINOR
    - WARNING
    - INDETERMINATE
    - CLEARED
  EventType:
    type: string
    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).
    enum:
    - COMMUNICATIONS_ALARM
    - PROCESSING_ERROR_ALARM
    - ENVIRONMENTAL_ALARM
    - QOS_ALARM
    - EQUIPMENT_ALARM
  Link:
    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'
    description: |
      This type represents a link to a resource using an absolute URI.
  Uri:
    type: string
    description: |
      String formatted according to IETF RFC 3986.
  ProblemDetails:
    type: object
    required:
    - detail
    - status
    properties:
      type:
        type: string
        format: URI
        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".
      title:
        type: string
        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).
      status:
        type: integer
        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.
      detail:
        type: string
        description: |
          A human-readable explanation specific to this occurrence of the problem.
      instance:
        type: string
        format: URI
        description: |
          A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
    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].
  AlarmModifications:
    type: object
    required:
    - ackState
    properties:
      ackState:
        type: string
        description: |
          New value of the "ackState" attribute in "Alarm". Permitted values: * ACKNOWLEDGED * UNACKNOWLEDGED
        enum:
        - ACKNOWLEDGED
        - UNACKNOWLEDGED
    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.
  FmSubscription:
    type: object
    required:
    - _links
    - callbackUri
    - id
    properties:
      id:
        description: |
          Identifier of this "Individual subscription" resource.
        $ref: '#/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/Uri'
      _links:
        $ref: '#/definitions/FmSubscription__links'
    description: |
      This type represents a subscription related to notifications about VNF faults.
  FmNotificationsFilter:
    type: object
    properties:
      vnfInstanceSubscriptionFilter:
        description: |
          Filter criteria to select VNF instances about which to notify.
        $ref: '#/definitions/VnfInstanceSubscriptionFilter'
      notificationTypes:
        type: string
        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.
        enum:
        - AlarmNotification
        - AlarmClearedNotification
        - AlarmListRebuiltNotification
      faultyResourceTypes:
        type: array
        description: |
          Match VNF alarms with a faulty resource type listed in this attribute.
        items:
          $ref: '#/definitions/FaultyResourceType'
      perceivedSeverities:
        type: array
        description: |
          Match VNF alarms with a perceived severity listed in this attribute.
        items:
          $ref: '#/definitions/PerceivedSeverityType'
      eventTypes:
        type: array
        description: |
          Match VNF alarms with an event type listed in this attribute.
        items:
          $ref: '#/definitions/EventType'
      probableCauses:
        type: array
        description: |
          Match VNF alarms with a probable cause listed in this attribute.
        items:
          type: string
    description: |
      This type represents a subscription filter related to notifications about VNF faults. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical "and" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical "or" between the values of one filter attribute).
  VnfInstanceSubscriptionFilter:
    type: object
    properties:
      vnfdIds:
        type: array
        description: |
          If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. The attributes "vnfdIds" and "vnfProductsFromProviders" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.
        items:
          $ref: '#/definitions/Identifier'
      vnfProductsFromProviders:
        type: array
        description: |
          If present, match VNF instances that belong to VNF products from certain providers. The attributes "vnfdIds" and "vnfProductsFromProviders" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.
        items:
          $ref: '#/definitions/VnfInstanceSubscriptionFilter_vnfProductsFromProviders'
      vnfInstanceIds:
        type: array
        description: |
          If present, match VNF instances with an instance identifier listed in this attribute. The attributes "vnfInstanceIds" and "vnfInstanceNames" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.
        items:
          $ref: '#/definitions/Identifier'
      vnfInstanceNames:
        type: array
        description: |
          If present, match VNF instances with a VNF Instance Name listed in this attribute. The attributes "vnfInstanceIds" and "vnfInstanceNames" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.
        items:
          type: string
    description: |
      This type represents subscription filter criteria to match VNF instances.
  Version:
    type: string
    description: |
      A version.
  FmSubscriptionRequest:
    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/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/SubscriptionAuthentication'
    description: |
      This type represents a subscription request related to notifications about VNF faults.
  SubscriptionAuthentication:
    type: object
    required:
    - authType
    properties:
      authType:
        type: array
        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.
        items:
          type: string
      paramsBasic:
        $ref: '#/definitions/SubscriptionAuthentication_paramsBasic'
      paramsOauth2ClientCredentials:
        $ref: '#/definitions/SubscriptionAuthentication_paramsOauth2ClientCredentials'
  Alarm__links:
    type: object
    required:
    - self
    properties:
      self:
        description: |
          URI of this resource.
        $ref: '#/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/Link'
    description: |
      Links for this resource.
  FmSubscription__links:
    type: object
    required:
    - self
    properties:
      self:
        description: |
          URI of this resource.
        $ref: '#/definitions/Link'
    description: |
      Links for this resource.
  VnfInstanceSubscriptionFilter_versions:
    type: object
    required:
    - vnfSoftwareVersion
    properties:
      vnfSoftwareVersion:
        description: |
          Software version to match.
        $ref: '#/definitions/Version'
      vnfdVersions:
        type: array
        description: |
          If present, match VNF instances that belong to VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider.
        items:
          $ref: '#/definitions/Version'
  VnfInstanceSubscriptionFilter_vnfProducts:
    type: object
    required:
    - vnfProductName
    properties:
      vnfProductName:
        type: string
        description: |
          Name of the VNF product to match.
      versions:
        type: array
        description: |
          If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider.
        items:
          $ref: '#/definitions/VnfInstanceSubscriptionFilter_versions'
  VnfInstanceSubscriptionFilter_vnfProductsFromProviders:
    type: object
    required:
    - vnfProvider
    properties:
      vnfProvider:
        type: string
        description: |
          Name of the VNF provider to match.
      vnfProducts:
        type: array
        description: |
          If present, match VNF instances that belong to VNF products with certain product names, from one particular provider.
        items:
          $ref: '#/definitions/VnfInstanceSubscriptionFilter_vnfProducts'
  SubscriptionAuthentication_paramsBasic:
    type: object
    properties:
      userName:
        type: string
        description: |
          Username to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band.
      password:
        type: string
        description: |
          Password to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band.
    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.
  SubscriptionAuthentication_paramsOauth2ClientCredentials:
    type: object
    properties:
      clientId:
        type: string
        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.
      clientPassword:
        type: string
        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.
      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'
    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.
externalDocs:
  description: ETSI GS NFV-SOL 003 V2.7.1
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.07.01_60/gs_NFV-SOL003v020701p.pdf
