openapi: 3.0.2
info:
  title: SOL005 - VNF Package Management Interface
  description: >
    SOL005 - VNF Package Management Interface

    IMPORTANT: Please note that this file might be not aligned to the current
    version of the ETSI Group Specification it

    refers to and has not been approved by the ETSI NFV ISG. In case of
    discrepancies the published ETSI Group Specification

    takes precedence. Please report bugs to
    https://forge.etsi.org/rep/nfv/SOL005/issues
  contact:
    name: NFV-SOL WG
  license:
    name: ETSI Forge copyright notice
    url: 'https://forge.etsi.org/etsi-forge-copyright-notice.txt'
  version: '2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1'
externalDocs:
  description: ETSI GS NFV-SOL 005 V3.3.1
  url: >-
    https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.03.01_60/gs_nfv-sol005v030301p.pdf
servers:
  - url: 'http://127.0.0.1/vnfpkgm/v2'
  - url: 'https://127.0.0.1/vnfpkgm/v2'
paths:
  /api_versions:
    parameters:
      - name: Version
        description: |
          Version of the API requested to use when responding to this request.
        in: header
        required: true
        schema:
          type: string
    get:
      summary: Retrieve API version information
      description: >
        The GET method reads API version information. This method shall follow
        the provisions specified in table 4.6.3.3.3.2-1 for request and response
        data structures, and response codes. URI query parameters are not
        supported.
      responses:
        '200':
          description: >
            200 OK

            API version information was read successfully. The response body
            shall contain 4.4 API version information, as defined in clause
            4.4.1.13.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            Version:
              description: The used API version.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: |
                  This type represents API version information.
                type: object
                required:
                  - uriPrefix
                  - apiVersions
                properties:
                  uriPrefix:
                    description: >
                      Specifies the URI prefix for the API, in the following
                      form {apiRoot}/{apiName}/{apiMajorVersion}/.
                    type: string
                  apiVersions:
                    description: >
                      Version(s) supported for the API signalled by the
                      uriPrefix attribute.
                    type: array
                    items:
                      type: object
                      required:
                        - version
                      properties:
                        version:
                          description: >
                            Identifies a supported version. The value of the
                            version attribute shall be a version identifier as
                            specified in clause 4.6.1.
                          type: string
                        isDeprecated:
                          description: >
                            The Boolean is a data type having two values (TRUE
                            and FALSE).
                          type: boolean
                        retirementDate:
                          description: >
                            Date-time stamp. Representation: String formatted
                            according toas defined by the date-time production
                            in IETF RFC 3339.
                          format: date-time
        '400':
          description: >
            400 BAD REQUEST

            400 code can be returned in the following specified cases, the
            specific cause has to be proper specified in the "ProblemDetails"
            structure to be returned.

            If the request is malformed or syntactically incorrect (e.g. if the
            request URI contains incorrect query parameters or the payload body
            contains a syntactically incorrect data structure), the API producer
            shall respond with this response code. The "ProblemDetails"
            structure shall be provided, and should include in the "detail"
            attribute more information about the source of the problem.

            If the response to a GET request which queries a container resource
            would be so big that the performance of the API producer is
            adversely affected, and the API producer does not support paging for
            the affected resource, it shall respond with this response code. The
            "ProblemDetails" structure shall be provided, and should include in
            the "detail" attribute more information about the source of the
            problem.

            If there is an application error related to the client's input that
            cannot be easily mapped to any other HTTP response code ("catch all
            error"), the API producer shall respond with this response code. The
            "ProblemDetails" structure shall be provided, and shall include in
            the "detail" attribute more information about the source of the
            problem.

            If the request contains a malformed access token, the API producer
            should respond with this response. The details of the error shall be
            returned in the WWW Authenticate HTTP header, as defined in IETF RFC
            6750 and IETF RFC 7235. The ProblemDetails structure may be
            provided.

            The use of this HTTP error response code described above is
            applicable to the use of the OAuth 2.0 for the authorization of API
            requests and notifications, as defined in clauses 4.5.3.3 and
            4.5.3.4.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '401':
          description: >
            401 UNAUTHORIZED

            If the request contains no access token even though one is required,
            or if the request contains an authorization token that is invalid
            (e.g. expired or revoked), the API producer should respond with this
            response. The details of the error shall be returned in the
            WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF
            RFC 7235. The ProblemDetails structure may be provided.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '403':
          description: >
            403 FORBIDDEN

            If the API consumer is not allowed to perform a particular request
            to a particular resource, the API producer shall respond with this
            response code. The "ProblemDetails" structure shall be provided. It
            should include in the "detail" attribute information about the
            source of the problem, and may indicate how to solve it.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '404':
          description: >
            404 NOT FOUND

            If the API producer did not find a current representation for the
            resource addressed by the URI passed in the request or is not
            willing to disclose that one exists, it shall respond with this
            response code. The "ProblemDetails" structure may be provided,
            including in the "detail" attribute information about the source of
            the problem, e.g. a wrong resource URI variable.

            This response code is not appropriate in case the resource addressed
            by the URI is a container resource which is designed to contain
            child resources, but does not contain any child resource at the time
            the request is received. For a GET request to an existing empty
            container resource, a typical response contains a 200 OK response
            code and a payload body with an empty array.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '405':
          description: >
            405 METHOD NOT ALLOWED

            If a particular HTTP method is not supported for a particular
            resource, the API producer shall respond with this response code.
            The "ProblemDetails" structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '406':
          description: >
            406 NOT ACCEPTABLE

            If the "Accept" HTTP header does not contain at least one name of a
            content type that is acceptable to the API producer, the API
            producer shall respond with this response code. The "ProblemDetails"
            structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '413':
          description: >
            413 PAYLOAD TOO LARGE

            If the payload body of a request is larger than the amount of data
            the API producer is willing or able to process, it shall respond
            with this response code, following the provisions in IETF RFC 7231
            for the use of the "Retry-After" HTTP header and for closing the
            connection. The "ProblemDetails" structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '414':
          description: >
            414 URI TOO LONG

            If the request URI of a request is longer than the API producer is
            willing or able to process, it shall respond with this response
            code. This condition can e.g. be caused by passing long queries in
            the request URI of a GET request. The "ProblemDetails" structure may
            be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '416':
          description: |
            416 Range Not Satisfiable
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '422':
          description: >
            422 UNPROCESSABLE ENTITY

            If the payload body of a request contains syntactically correct data
            (e.g. well-formed JSON) but the data cannot be processed (e.g.
            because it fails validation against a schema), the API producer
            shall respond with this response code. The "ProblemDetails"
            structure shall be provided, and should include in the "detail"
            attribute more information about the source of the problem.

            This error response code is only applicable for methods that have a
            request body.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '429':
          description: >
            429 TOO MANY REQUESTS

            If the API consumer has sent too many requests in a defined period
            of time and the API producer is able to detect that condition ("rate
            limiting"), the API producer shall respond with this response code,
            following the provisions in IETF RFC 6585 [17] for the use of the
            "Retry-After" HTTP header. The "ProblemDetails" structure shall be
            provided and shall include in the "detail" attribute more
            information about the source of the problem.

            The period of time and allowed number of requests are configured
            within the API producer by means outside the scope of the present
            document.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '500':
          description: >
            500 INTERNAL SERVER ERROR

            If there is an application error not related to the client's input
            that cannot be easily mapped to any other HTTP response code ("catch
            all error"), the API producer shall respond with this response code.
            The "ProblemDetails" structure shall be provided, and shall include
            in the "detail" attribute more information about the source of the
            problem.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '503':
          description: >
            503 SERVICE UNAVAILABLE

            If the API producer encounters an internal overload situation of
            itself or of a system it relies on, it should respond with this
            response code, following the provisions in IETF RFC 7231 for the use
            of the "Retry-After" HTTP header and for the alternative to refuse
            the connection. The "ProblemDetails" structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '504':
          description: >
            504 GATEWAY TIMEOUT

            If the API producer encounters a timeout while waiting for a
            response from an upstream server (i.e. a server that the API
            producer communicates with when fulfilling a request), it should
            respond with this response code.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
  /vnf_packages:
    parameters:
      - name: Version
        description: |
          Version of the API requested to use when responding to this request.
        in: header
        required: true
        schema:
          type: string
      - name: Authorization
        description: |
          The authorization token for the request. Reference: IETF RFC 7235.
        in: header
        required: false
        schema:
          type: string
    get:
      summary: Query VNF packages information.
      description: >
        The GET method queries the information of the VNF packages matching the
        filter. This method shall follow the

        provisions specified in the  Tables 9.4.2.3.2-1 and 9.4.2.3.2-2 for URI
        query parameters, request and response

        data structures, and response codes.
      parameters:
        - name: filter
          description: >
            Attribute-based filtering expression according to clause 5.2 of ETSI
            GS NFV-SOL 013. The NFV-MANO functional entity shall support
            receiving this parameter as part of the URI query string. The API
            consumer may supply this parameter. All attribute names that appear
            in the FmSubscription and in data types referenced from it shall be
            supported by the NFV-MANO functional entity in the filter
            expression.
          in: query
          required: false
          schema:
            type: string
        - name: all_fields
          description: >
            Include all complex attributes in the response. See clause 5.3 of
            ETSI GS NFV-SOL 013. The NFV-MANO functional entity shall support
            this parameter.
          in: query
          required: false
          schema:
            type: string
        - name: fields
          description: >
            Complex attributes to be included into the response. See clause 5.3
            of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional entity
            should support this parameter.
          in: query
          required: false
          schema:
            type: string
        - name: exclude_fields
          description: >
            Complex attributes to be excluded from the response. See clause 5.3
            of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional entity
            should support this parameter.
          in: query
          required: false
          schema:
            type: string
        - name: exclude_default
          in: query
          description: "Indicates to exclude the following complex attributes from the response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional entity shall support this parameter. The NFVO shall support this parameter.\nThe following attributes shall be excluded from the NsInstance structure in the response body if this parameter is provided, or none of the parameters \"all_fields,\" \"fields\", \"exclude_fields\", \"exclude_default\" are provided: -\tvnfInstances -\tpnfInfo -\tvirtualLinkInfo -\tvnffgInfo -\tsapInfo -\tnsScaleStatus -\tadditionalAffinityOrAntiAffinityRules -   wanConnectionInfo"
          required: false
          schema:
            type: string
        - name: nextpage_opaque_marker
          description: >
            Marker to obtain the next page of a paged response. Shall be
            supported by the NFV-MANO functional entity if the entity supports
            alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS
            NFV-SOL 013 for this resource.
          in: query
          required: false
          schema:
            type: string
        - name: Accept
          description: >
            Content-Types that are acceptable for the response. Reference: IETF
            RFC 7231.
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: >
            200 OK

            Shall be returned when information about zero or more VNF packages
            has been queried successfully.

            The response body shall contain in an array the VNF package info
            representations that match the attribute

            filter, i.e. zero or more VNF package info representations as
            defined in clause 9.5.2.5.

            If the "filter" URI parameter or one of the "all_fields", "fields",
            "exclude_fields" or "exclude_default"

            URI parameters was supplied in the request and is supported, the
            data in the response body shall have been

            transformed according to the rules specified in clauses 5.2.2 and
            5.3.2 of ETSI GS NFV SOL 013, respectively.

            If the NFVO 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:
            Version:
              description: |
                Version of the API used in the response.
              style: simple
              explode: false
              schema:
                type: string
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the

                corresponding HTTP request has provided an invalid authorization
                token.
              style: simple
              explode: false
              schema:
                type: string
            Content-Type:
              description: The MIME type of the body of the response.
              style: simple
              explode: false
              schema:
                type: string
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  required:
                    - id
                    - packageSecurityOption
                    - onboardingState
                    - operationalState
                    - usageState
                    - vnfmInfo
                    - _links
                  properties:
                    id:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    vnfdId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    vnfProvider:
                      description: >
                        Provider of the VNF package and the VNFD. This
                        information is copied from the VNFD.  It shall be
                        present after the VNF package content has been
                        on-boarded and absent otherwise.
                      type: string
                    vnfProductName:
                      description: >
                        Name to identify the VNF product.Invariant for the VNF
                        product lifetime.  This information is copied from the
                        VNFD. It shall be present after the VNF package content
                        has been on-boarded and absent otherwise.
                      type: string
                    vnfSoftwareVersion:
                      description: |
                        A Version. Representation: string of variable length.
                      type: string
                    vnfdVersion:
                      description: |
                        A Version. Representation: string of variable length.
                      type: string
                    compatibleSpecificationVersions:
                      description: |
                        A Version. Representation: string of variable length.
                      type: string
                    checksum:
                      description: >
                        This type represents the checksum of a VNF package or an
                        artifact file.
                      required:
                        - algorithm
                        - hash
                      type: object
                      properties:
                        algorithm:
                          description: >
                            Name of the algorithm used to generate the checksum,
                            as defined in ETSI GS NFV-SOL 004 [5]. For example,
                            SHA-256, SHA-512.
                          type: string
                        hash:
                          description: |
                            The hexadecimal value of the checksum.
                          type: string
                    packageSecurityOption:
                      description: >
                        Signals the security option used by the package as
                        defined in clause 5.1 of ETSI GS NFV-SOL 004 [5]. Valid
                        values: OPTION_1, OPTION_2
                      type: string
                      enum:
                        - OPTION_1
                        - OPTION_2
                    signingCertificate:
                      description: >
                        The singleton signing certificate if it is included as a
                        file in the VNF package.
                      type: string
                    softwareImages:
                      description: >
                        Information about VNF package artifacts that are
                        software images. This attribute shall not be present
                        before the VNF package content is on-boarded. Otherwise,
                        this attribute shall be present unless it has been
                        requested to be excluded per attribute selector.
                      type: array
                      items:
                        description: >
                          This type represents an artifact contained in or
                          external to a VNF package which represents a software
                          image.
                        required:
                          - id
                          - name
                          - provider
                          - version
                          - checksum
                          - isEncrypted
                          - containerFormat
                          - diskFormat
                          - createdAt
                          - minDisk
                          - minRam
                          - size
                          - imagePath
                        type: object
                        properties:
                          id:
                            description: >
                              Identifier of the VNF Virtual Link Descriptor
                              (VLD) in the VNFD.
                            type: string
                          name:
                            description: |
                              Name of the software image.
                            type: string
                          provider:
                            description: |
                              Provider of the software image.
                            type: string
                          version:
                            description: >
                              A Version. Representation: string of variable
                              length.
                            type: string
                          checksum:
                            description: >
                              This type represents the checksum of a VNF package
                              or an artifact file.
                            required:
                              - algorithm
                              - hash
                            type: object
                            properties:
                              algorithm:
                                description: >
                                  Name of the algorithm used to generate the
                                  checksum, as defined in ETSI GS NFV-SOL 004
                                  [5]. For example, SHA-256, SHA-512.
                                type: string
                              hash:
                                description: |
                                  The hexadecimal value of the checksum.
                                type: string
                          isEncrypted:
                            description: >
                              Reflects whether the image is encrypted (true) or
                              not (false).
                            type: boolean
                          containerFormat:
                            description: >
                              Container format indicates whether the software
                              image is in a file format that also contains
                              meta-data about the actual software. Permitted
                              values: - AKI: a kernel image format - AMI: a
                              machine image format - ARI: a ram disk image
                              format - BARE: the image does not have a container
                              or meta-data envelope - DOCKER: docker container
                              format - OVA: OVF package in a tar file - OVF: OVF
                              container format
                            type: string
                            enum:
                              - AKI
                              - AMI
                              - ARI
                              - BARE
                              - DOCKER
                              - OVA
                              - OVF
                          diskFormat:
                            description: >
                              Disk format of a software image is the format of
                              the underlying disk image. Permitted values: -
                              AKI: a kernel image format - AMI: a machine image
                              format - ARI: a ramdisk image format - ISO: an
                              archive format for the data contents of an optical
                              disc, such as CD-ROM - QCOW2: a common disk image
                              format, which can expand dynamically and supports
                              copy on write - RAW: an unstructured disk image
                              format - VDI: a common disk image format - VHD: a
                              common disk image format - VHDX: enhanced version
                              of VHD format - VMDK: a common disk image format
                            type: string
                            enum:
                              - AKI
                              - AMI
                              - ARI
                              - ISO
                              - QCOW2
                              - RAW
                              - VDI
                              - VHD
                              - VHDX
                              - VMDK
                          createdAt:
                            description: >
                              Date-time stamp. Representation: String formatted
                              according toas defined by the date-time production
                              in IETF RFC 3339.
                            format: date-time
                          minDisk:
                            description: |
                              The minimal disk for this software image in bytes.
                            type: integer
                            minimum: 0
                          minRam:
                            description: |
                              The minimal RAM for this software image in bytes.
                            type: integer
                            minimum: 0
                          size:
                            description: |
                              Size of this software image in bytes.
                            type: integer
                            minimum: 0
                          userMetadata:
                            description: >
                              This type represents a list of key-value pairs.
                              The order of the pairs in the list is not
                              significant. In JSON, a set of key- value pairs is
                              represented as an object. It shall comply with the
                              provisions defined in clause 4 of IETF RFC 7159.
                            type: object
                          imagePath:
                            description: "Path, which identifies the image artifact and also allows to access a copy of the image artifact. For a software image contained as a file in the VNF package, this attribute shall be present, and the value of this attribute shall start with the name of the first segment in the path in the package, i.e., it shall not be prefixed by path separator characters such as \".\" and \"/\".\nEXAMPLE:\tfoo/bar/m%40ster.vhd\nFor an external software image represented as a URI in the VNF descriptor, this attribute shall be present if the image artifact has been downloaded by the NFVO and shall be absent otherwise. If present, it shall contain the artifactPath under which the image artifact can be obtained using the \"Individual artifact in a VNF package\" resource defined in clause 9.4.7. It is the responsibility of the NFVO to synthesize this path in a manner that avoids any collision of the synthesized artifact path with the paths and names of image artifacts included in the package.\n"
                            type: string
                          imageUri:
                            description: |
                              String formatted according to IETF RFC 3986.
                            type: string
                            format: uri
                    additionalArtifacts:
                      description: >
                        Information about VNF package artifacts contained in the
                        VNF package that are not software images. This attribute
                        shall not be present before the VNF package content is
                        on-boarded. Otherwise, this attribute shall be present
                        if the VNF package contains additional artifacts.
                      type: array
                      items:
                        description: >
                          This type represents an artifact other than a software
                          image which is contained in or external to a VNF
                          package. It shall comply with provisions defined in
                          Table 9.5.3.3-1.
                        required:
                          - isEncrypted
                          - checksum
                        type: object
                        properties:
                          artifactPath:
                            description: |
                              A string as defined in IETF RFC 8259.
                            type: string
                          artifactURI:
                            description: |
                              String formatted according to IETF RFC 3986.
                            type: string
                            format: uri
                          checksum:
                            description: >
                              This type represents the checksum of a VNF package
                              or an artifact file.
                            required:
                              - algorithm
                              - hash
                            type: object
                            properties:
                              algorithm:
                                description: >
                                  Name of the algorithm used to generate the
                                  checksum, as defined in ETSI GS NFV-SOL 004
                                  [5]. For example, SHA-256, SHA-512.
                                type: string
                              hash:
                                description: |
                                  The hexadecimal value of the checksum.
                                type: string
                          artifactClassification:
                            description: >
                              Marks specific types of artifacts as defined in
                              the VNF package. If none of the specific classes
                              listed below applies, the attribute shall not be
                              present. Valid values: - HISTORY: a history
                              artifact as per clause 4.3.3 in ETSI GS NFV-SOL
                              004 [5] - TESTING: a testing artifact as per
                              clause 4.3.4 in ETSI GS NFV-SOL 004 [5] - LICENSE:
                              a license artifact as per clause 4.3.5 in ETSI GS
                              NFV-SOL 004 [5]
                            type: string
                            enum:
                              - HISTORY
                              - TESTING
                              - LICENSE
                          isEncrypted:
                            description: >
                              Reflects whether the artifact is encrypted (true)
                              or not (false).
                            type: boolean
                          nonManoArtifactSetId:
                            description: >
                              Non-MANO artifact set identifier of the non-MANO
                              artifact set to which the artifact belongs, as
                              defined in clause 4.3.7 of ETSI GS NFV-SOL 004
                              [5]. Shall be provided if the artifact is a
                              non-MANO artifact, and shall be omitted otherwise.
                            type: string
                          metadata:
                            description: >
                              This type represents a list of key-value pairs.
                              The order of the pairs in the list is not
                              significant. In JSON, a set of key- value pairs is
                              represented as an object. It shall comply with the
                              provisions defined in clause 4 of IETF RFC 7159.
                            type: object
                    onboardingState:
                      description: >
                        The enumeration PackageOnboardingStateType shall comply
                        with the provisions defined in Table 9.5.4.3-1.
                        Permitted values: - CREATED: The VNF package resource
                        has been created. - UPLOADING: The associated VNF
                        package content is being uploaded. - PROCESSING: The
                        associated VNF package content is being processed, e.g.
                        validation. - ONBOARDED: The associated VNF package
                        content is successfully on-boarded. - ERROR: There was
                        an error during upload of the VNF package content or
                        external artifacts, or during VNF package processing.
                      type: string
                      enum:
                        - CREATED
                        - UPLOADING
                        - PROCESSING
                        - ONBOARDED
                        - ERROR
                    operationalState:
                      type: string
                      description: >
                        "The enumeration PackageOperationalStateType shall 
                        comply with the provisions defined in Table 9.5.4.4-1."
                        Acceptable values are: - ENABLED - The VNF package is
                        enabled, i.e. it can be used for instantiation of new
                        VNF instances. - DISABLED - The VNF package is disabled,
                        i.e. it cannot be used for further VNF instantiation
                        requests
                                    (unless and until the VNF package is re-enabled).
                      enum:
                        - ENABLED
                        - DISABLED
                    usageState:
                      type: string
                      description: >
                        "The enumeration PackageUsageStateType shall comply with
                        the provisions. Acceptable values are: - IN_USE:
                        "Individual VNF instance" resources created from this
                        VNF package exist. - NOT_IN_USE: No "individual VNF
                        instance" resource created from this VNF package exists.
                      enum:
                        - IN_USE
                        - NOT_IN_USE
                    vnfmInfo:
                      description: >
                        Specifies VNFMs compatible with the VNF. This
                        information is copied from the VNFD. See note 4.
                      type: array
                      items:
                        type: string
                    userDefinedData:
                      description: >
                        This type represents a list of key-value pairs. The
                        order of the pairs in the list is not significant. In
                        JSON, a set of key- value pairs is represented as an
                        object. It shall comply with the provisions defined in
                        clause 4 of IETF RFC 7159.
                      type: object
                    onboardingFailureDetails:
                      description: >
                        The definition of the general "ProblemDetails" data
                        structure from IETF RFC 7807 [19] is reproduced in this
                        structure. Compared to the general framework defined in
                        IETF RFC 7807 [19], the "status" and "detail" attributes
                        are mandated to be included by the present document, to
                        ensure that the response contains additional textual
                        information about an error. IETF RFC 7807 [19] foresees
                        extensibility of the "ProblemDetails" type. It is
                        possible that particular APIs in the present document,
                        or particular implementations, define extensions to
                        define additional attributes that provide more
                        information about the error. The description column only
                        provides some explanation of the meaning to Facilitate
                        understanding of the design. For a full description, see
                        IETF RFC 7807 [19].
                      type: object
                      required:
                        - status
                        - detail
                      properties:
                        type:
                          description: >
                            A URI reference according to IETF RFC 3986 [5] that
                            identifies the problem type. It is encouraged that
                            the URI provides human-readable documentation for
                            the problem (e.g. using HTML) when dereferenced.
                            When this member is not present, its value is
                            assumed to be "about:blank".
                          type: string
                          format: URI
                        title:
                          description: >
                            A short, human-readable summary of the problem type.
                            It should not change from occurrence to occurrence
                            of the problem, except for purposes of localization.
                            If type is given and other than "about:blank", this
                            attribute shall also be provided. A short,
                            human-readable summary of the problem type.  It
                            SHOULD NOT change from occurrence to occurrence of
                            the problem, except for purposes of localization
                            (e.g., using proactive content negotiation; see
                            [RFC7231], Section 3.4).
                          type: string
                        status:
                          description: >
                            The HTTP status code for this occurrence of the
                            problem. The HTTP status code ([RFC7231], Section 6)
                            generated by the origin server for this occurrence
                            of the problem.
                          type: integer
                        detail:
                          description: >
                            A human-readable explanation specific to this
                            occurrence of the problem.
                          type: string
                        instance:
                          description: >
                            A URI reference that identifies the specific
                            occurrence of the problem. It may yield further
                            information if dereferenced.
                          type: string
                          format: URI
                    _links:
                      type: object
                      description: |
                        Links to resources related to this resource.
                      required:
                        - self
                        - packageContent
                        - vnfd
                      properties:
                        self:
                          description: |
                            This type represents a link to a resource.
                          type: object
                          required:
                            - href
                          properties:
                            href:
                              description: >
                                URI of a resource referenced from a
                                notification. Should be an absolute URI (i.e. a
                                URI that contains {apiRoot}), however, may be a
                                relative URI (i.e. a URI where the {apiRoot}
                                part is omitted) if the {apiRoot} information is
                                not available.
                              type: string
                              format: url
                        vnfd:
                          description: |
                            This type represents a link to a resource.
                          type: object
                          required:
                            - href
                          properties:
                            href:
                              description: >
                                URI of a resource referenced from a
                                notification. Should be an absolute URI (i.e. a
                                URI that contains {apiRoot}), however, may be a
                                relative URI (i.e. a URI where the {apiRoot}
                                part is omitted) if the {apiRoot} information is
                                not available.
                              type: string
                              format: url
                        packageContent:
                          description: |
                            This type represents a link to a resource.
                          type: object
                          required:
                            - href
                          properties:
                            href:
                              description: >
                                URI of a resource referenced from a
                                notification. Should be an absolute URI (i.e. a
                                URI that contains {apiRoot}), however, may be a
                                relative URI (i.e. a URI where the {apiRoot}
                                part is omitted) if the {apiRoot} information is
                                not available.
                              type: string
                              format: url
        '400':
          description: >
            400 BAD REQUEST

            400 code can be returned in the following specified cases, the
            specific cause has to be proper specified in the "ProblemDetails"
            structure to be returned.

            If the request is malformed or syntactically incorrect (e.g. if the
            request URI contains incorrect query parameters or the payload body
            contains a syntactically incorrect data structure), the API producer
            shall respond with this response code. The "ProblemDetails"
            structure shall be provided, and should include in the "detail"
            attribute more information about the source of the problem.

            If the response to a GET request which queries a container resource
            would be so big that the performance of the API producer is
            adversely affected, and the API producer does not support paging for
            the affected resource, it shall respond with this response code. The
            "ProblemDetails" structure shall be provided, and should include in
            the "detail" attribute more information about the source of the
            problem.

            If there is an application error related to the client's input that
            cannot be easily mapped to any other HTTP response code ("catch all
            error"), the API producer shall respond with this response code. The
            "ProblemDetails" structure shall be provided, and shall include in
            the "detail" attribute more information about the source of the
            problem.

            If the request contains a malformed access token, the API producer
            should respond with this response. The details of the error shall be
            returned in the WWW Authenticate HTTP header, as defined in IETF RFC
            6750 and IETF RFC 7235. The ProblemDetails structure may be
            provided.

            The use of this HTTP error response code described above is
            applicable to the use of the OAuth 2.0 for the authorization of API
            requests and notifications, as defined in clauses 4.5.3.3 and
            4.5.3.4.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '401':
          description: >
            401 UNAUTHORIZED

            If the request contains no access token even though one is required,
            or if the request contains an authorization token that is invalid
            (e.g. expired or revoked), the API producer should respond with this
            response. The details of the error shall be returned in the
            WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF
            RFC 7235. The ProblemDetails structure may be provided.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '403':
          description: >
            403 FORBIDDEN

            If the API consumer is not allowed to perform a particular request
            to a particular resource, the API producer shall respond with this
            response code. The "ProblemDetails" structure shall be provided. It
            should include in the "detail" attribute information about the
            source of the problem, and may indicate how to solve it.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '404':
          description: >
            404 NOT FOUND

            If the API producer did not find a current representation for the
            resource addressed by the URI passed in the request or is not
            willing to disclose that one exists, it shall respond with this
            response code. The "ProblemDetails" structure may be provided,
            including in the "detail" attribute information about the source of
            the problem, e.g. a wrong resource URI variable.

            This response code is not appropriate in case the resource addressed
            by the URI is a container resource which is designed to contain
            child resources, but does not contain any child resource at the time
            the request is received. For a GET request to an existing empty
            container resource, a typical response contains a 200 OK response
            code and a payload body with an empty array.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '405':
          description: >
            405 METHOD NOT ALLOWED

            If a particular HTTP method is not supported for a particular
            resource, the API producer shall respond with this response code.
            The "ProblemDetails" structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '406':
          description: >
            406 NOT ACCEPTABLE

            If the "Accept" HTTP header does not contain at least one name of a
            content type that is acceptable to the API producer, the API
            producer shall respond with this response code. The "ProblemDetails"
            structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '500':
          description: >
            500 INTERNAL SERVER ERROR

            If there is an application error not related to the client's input
            that cannot be easily mapped to any other HTTP response code ("catch
            all error"), the API producer shall respond with this response code.
            The "ProblemDetails" structure shall be provided, and shall include
            in the "detail" attribute more information about the source of the
            problem.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '503':
          description: >
            503 SERVICE UNAVAILABLE

            If the API producer encounters an internal overload situation of
            itself or of a system it relies on, it should respond with this
            response code, following the provisions in IETF RFC 7231 for the use
            of the "Retry-After" HTTP header and for the alternative to refuse
            the connection. The "ProblemDetails" structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '504':
          description: >
            504 GATEWAY TIMEOUT

            If the API producer encounters a timeout while waiting for a
            response from an upstream server (i.e. a server that the API
            producer communicates with when fulfilling a request), it should
            respond with this response code.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
    post:
      summary: Create a new individual VNF package resource.
      description: >
        The POST method creates a new individual VNF package resource.

        Upon successful creation of the "Individual VNF package" resource, the
        NFVO shall set the "onboardingState"

        attribute in the "VnPkgInfo" structure to "CREATED", the
        "operationalState" attribute to "DISABLED", and the

        "usageState" attribute to "NOT_IN_USE".
      parameters:
        - name: Content-Type
          description: |
            The MIME type of the body of the request. Reference: IETF RFC 7231
          in: header
          required: true
          schema:
            type: string
        - name: Accept
          description: >
            Content-Types that are acceptable for the response. Reference: IETF
            RFC 7231.
          in: header
          required: true
          schema:
            type: string
      requestBody:
        description: >
          IndividualVNF package resource creation parameters, as defined in
          clause 9.5.2.2
        content:
          application/json:
            schema:
              type: object
              properties:
                userDefinedData:
                  description: >
                    This type represents a list of key-value pairs. The order of
                    the pairs in the list is not significant. In JSON, a set of
                    key- value pairs is represented as an object. It shall
                    comply with the provisions defined in clause 4 of IETF RFC
                    7159.
                  type: object
              description: >
                IndividualVNF package resource creation parameters, as defined
                in clause 9.5.2.2.
        required: true
      responses:
        '201':
          description: >
            201 Created

            Shall be returned when an "Individual VNF package" resource has been
            created successfully. The response body

            shall contain a representation of the new individual VNF package
            resource, as defined in clause 9.5.2.5.

            The HTTP response shall include a "Location" HTTP header that
            contains the resource URI of the individual

            VNF package resource.
          headers:
            Version:
              description: |
                Version of the API used in the response.
              style: simple
              explode: false
              schema:
                type: string
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the

                corresponding HTTP request has provided an invalid authorization
                token.
              style: simple
              explode: false
              schema:
                type: string
            Content-Type:
              description: >
                The MIME type of the body of the response.This header field
                shall be present if the response has a

                non-empty message body.
              style: simple
              explode: false
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
                required:
                  - id
                  - packageSecurityOption
                  - onboardingState
                  - operationalState
                  - usageState
                  - vnfmInfo
                  - _links
                properties:
                  id:
                    description: |
                      An identifier with the intention of being globally unique.
                    type: string
                  vnfdId:
                    description: |
                      An identifier with the intention of being globally unique.
                    type: string
                  vnfProvider:
                    description: >
                      Provider of the VNF package and the VNFD. This information
                      is copied from the VNFD.  It shall be present after the
                      VNF package content has been on-boarded and absent
                      otherwise.
                    type: string
                  vnfProductName:
                    description: >
                      Name to identify the VNF product.Invariant for the VNF
                      product lifetime.  This information is copied from the
                      VNFD. It shall be present after the VNF package content
                      has been on-boarded and absent otherwise.
                    type: string
                  vnfSoftwareVersion:
                    description: |
                      A Version. Representation: string of variable length.
                    type: string
                  vnfdVersion:
                    description: |
                      A Version. Representation: string of variable length.
                    type: string
                  compatibleSpecificationVersions:
                    description: |
                      A Version. Representation: string of variable length.
                    type: string
                  checksum:
                    description: >
                      This type represents the checksum of a VNF package or an
                      artifact file.
                    required:
                      - algorithm
                      - hash
                    type: object
                    properties:
                      algorithm:
                        description: >
                          Name of the algorithm used to generate the checksum,
                          as defined in ETSI GS NFV-SOL 004 [5]. For example,
                          SHA-256, SHA-512.
                        type: string
                      hash:
                        description: |
                          The hexadecimal value of the checksum.
                        type: string
                  packageSecurityOption:
                    description: >
                      Signals the security option used by the package as defined
                      in clause 5.1 of ETSI GS NFV-SOL 004 [5]. Valid values:
                      OPTION_1, OPTION_2
                    type: string
                    enum:
                      - OPTION_1
                      - OPTION_2
                  signingCertificate:
                    description: >
                      The singleton signing certificate if it is included as a
                      file in the VNF package.
                    type: string
                  softwareImages:
                    description: >
                      Information about VNF package artifacts that are software
                      images. This attribute shall not be present before the VNF
                      package content is on-boarded. Otherwise, this attribute
                      shall be present unless it has been requested to be
                      excluded per attribute selector.
                    type: array
                    items:
                      description: >
                        This type represents an artifact contained in or
                        external to a VNF package which represents a software
                        image.
                      required:
                        - id
                        - name
                        - provider
                        - version
                        - checksum
                        - isEncrypted
                        - containerFormat
                        - diskFormat
                        - createdAt
                        - minDisk
                        - minRam
                        - size
                        - imagePath
                      type: object
                      properties:
                        id:
                          description: >
                            Identifier of the VNF Virtual Link Descriptor (VLD)
                            in the VNFD.
                          type: string
                        name:
                          description: |
                            Name of the software image.
                          type: string
                        provider:
                          description: |
                            Provider of the software image.
                          type: string
                        version:
                          description: >
                            A Version. Representation: string of variable
                            length.
                          type: string
                        checksum:
                          description: >
                            This type represents the checksum of a VNF package
                            or an artifact file.
                          required:
                            - algorithm
                            - hash
                          type: object
                          properties:
                            algorithm:
                              description: >
                                Name of the algorithm used to generate the
                                checksum, as defined in ETSI GS NFV-SOL 004 [5].
                                For example, SHA-256, SHA-512.
                              type: string
                            hash:
                              description: |
                                The hexadecimal value of the checksum.
                              type: string
                        isEncrypted:
                          description: >
                            Reflects whether the image is encrypted (true) or
                            not (false).
                          type: boolean
                        containerFormat:
                          description: >
                            Container format indicates whether the software
                            image is in a file format that also contains
                            meta-data about the actual software. Permitted
                            values: - AKI: a kernel image format - AMI: a
                            machine image format - ARI: a ram disk image format
                            - BARE: the image does not have a container or
                            meta-data envelope - DOCKER: docker container format
                            - OVA: OVF package in a tar file - OVF: OVF
                            container format
                          type: string
                          enum:
                            - AKI
                            - AMI
                            - ARI
                            - BARE
                            - DOCKER
                            - OVA
                            - OVF
                        diskFormat:
                          description: >
                            Disk format of a software image is the format of the
                            underlying disk image. Permitted values: - AKI: a
                            kernel image format - AMI: a machine image format -
                            ARI: a ramdisk image format - ISO: an archive format
                            for the data contents of an optical disc, such as
                            CD-ROM - QCOW2: a common disk image format, which
                            can expand dynamically and supports copy on write -
                            RAW: an unstructured disk image format - VDI: a
                            common disk image format - VHD: a common disk image
                            format - VHDX: enhanced version of VHD format -
                            VMDK: a common disk image format
                          type: string
                          enum:
                            - AKI
                            - AMI
                            - ARI
                            - ISO
                            - QCOW2
                            - RAW
                            - VDI
                            - VHD
                            - VHDX
                            - VMDK
                        createdAt:
                          description: >
                            Date-time stamp. Representation: String formatted
                            according toas defined by the date-time production
                            in IETF RFC 3339.
                          format: date-time
                        minDisk:
                          description: |
                            The minimal disk for this software image in bytes.
                          type: integer
                          minimum: 0
                        minRam:
                          description: |
                            The minimal RAM for this software image in bytes.
                          type: integer
                          minimum: 0
                        size:
                          description: |
                            Size of this software image in bytes.
                          type: integer
                          minimum: 0
                        userMetadata:
                          description: >
                            This type represents a list of key-value pairs. The
                            order of the pairs in the list is not significant.
                            In JSON, a set of key- value pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 7159.
                          type: object
                        imagePath:
                          description: "Path, which identifies the image artifact and also allows to access a copy of the image artifact. For a software image contained as a file in the VNF package, this attribute shall be present, and the value of this attribute shall start with the name of the first segment in the path in the package, i.e., it shall not be prefixed by path separator characters such as \".\" and \"/\".\nEXAMPLE:\tfoo/bar/m%40ster.vhd\nFor an external software image represented as a URI in the VNF descriptor, this attribute shall be present if the image artifact has been downloaded by the NFVO and shall be absent otherwise. If present, it shall contain the artifactPath under which the image artifact can be obtained using the \"Individual artifact in a VNF package\" resource defined in clause 9.4.7. It is the responsibility of the NFVO to synthesize this path in a manner that avoids any collision of the synthesized artifact path with the paths and names of image artifacts included in the package.\n"
                          type: string
                        imageUri:
                          description: |
                            String formatted according to IETF RFC 3986.
                          type: string
                          format: uri
                  additionalArtifacts:
                    description: >
                      Information about VNF package artifacts contained in the
                      VNF package that are not software images. This attribute
                      shall not be present before the VNF package content is
                      on-boarded. Otherwise, this attribute shall be present if
                      the VNF package contains additional artifacts.
                    type: array
                    items:
                      description: >
                        This type represents an artifact other than a software
                        image which is contained in or external to a VNF
                        package. It shall comply with provisions defined in
                        Table 9.5.3.3-1.
                      required:
                        - isEncrypted
                        - checksum
                      type: object
                      properties:
                        artifactPath:
                          description: |
                            A string as defined in IETF RFC 8259.
                          type: string
                        artifactURI:
                          description: |
                            String formatted according to IETF RFC 3986.
                          type: string
                          format: uri
                        checksum:
                          description: >
                            This type represents the checksum of a VNF package
                            or an artifact file.
                          required:
                            - algorithm
                            - hash
                          type: object
                          properties:
                            algorithm:
                              description: >
                                Name of the algorithm used to generate the
                                checksum, as defined in ETSI GS NFV-SOL 004 [5].
                                For example, SHA-256, SHA-512.
                              type: string
                            hash:
                              description: |
                                The hexadecimal value of the checksum.
                              type: string
                        artifactClassification:
                          description: >
                            Marks specific types of artifacts as defined in the
                            VNF package. If none of the specific classes listed
                            below applies, the attribute shall not be present.
                            Valid values: - HISTORY: a history artifact as per
                            clause 4.3.3 in ETSI GS NFV-SOL 004 [5] - TESTING: a
                            testing artifact as per clause 4.3.4 in ETSI GS
                            NFV-SOL 004 [5] - LICENSE: a license artifact as per
                            clause 4.3.5 in ETSI GS NFV-SOL 004 [5]
                          type: string
                          enum:
                            - HISTORY
                            - TESTING
                            - LICENSE
                        isEncrypted:
                          description: >
                            Reflects whether the artifact is encrypted (true) or
                            not (false).
                          type: boolean
                        nonManoArtifactSetId:
                          description: >
                            Non-MANO artifact set identifier of the non-MANO
                            artifact set to which the artifact belongs, as
                            defined in clause 4.3.7 of ETSI GS NFV-SOL 004 [5].
                            Shall be provided if the artifact is a non-MANO
                            artifact, and shall be omitted otherwise.
                          type: string
                        metadata:
                          description: >
                            This type represents a list of key-value pairs. The
                            order of the pairs in the list is not significant.
                            In JSON, a set of key- value pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 7159.
                          type: object
                  onboardingState:
                    description: >
                      The enumeration PackageOnboardingStateType shall comply
                      with the provisions defined in Table 9.5.4.3-1. Permitted
                      values: - CREATED: The VNF package resource has been
                      created. - UPLOADING: The associated VNF package content
                      is being uploaded. - PROCESSING: The associated VNF
                      package content is being processed, e.g. validation. -
                      ONBOARDED: The associated VNF package content is
                      successfully on-boarded. - ERROR: There was an error
                      during upload of the VNF package content or external
                      artifacts, or during VNF package processing.
                    type: string
                    enum:
                      - CREATED
                      - UPLOADING
                      - PROCESSING
                      - ONBOARDED
                      - ERROR
                  operationalState:
                    type: string
                    description: >
                      "The enumeration PackageOperationalStateType shall  comply
                      with the provisions defined in Table 9.5.4.4-1."
                      Acceptable values are: - ENABLED - The VNF package is
                      enabled, i.e. it can be used for instantiation of new VNF
                      instances. - DISABLED - The VNF package is disabled, i.e.
                      it cannot be used for further VNF instantiation requests
                                  (unless and until the VNF package is re-enabled).
                    enum:
                      - ENABLED
                      - DISABLED
                  usageState:
                    type: string
                    description: >
                      "The enumeration PackageUsageStateType shall comply with
                      the provisions. Acceptable values are: - IN_USE:
                      "Individual VNF instance" resources created from this VNF
                      package exist. - NOT_IN_USE: No "individual VNF instance"
                      resource created from this VNF package exists.
                    enum:
                      - IN_USE
                      - NOT_IN_USE
                  vnfmInfo:
                    description: >
                      Specifies VNFMs compatible with the VNF. This information
                      is copied from the VNFD. See note 4.
                    type: array
                    items:
                      type: string
                  userDefinedData:
                    description: >
                      This type represents a list of key-value pairs. The order
                      of the pairs in the list is not significant. In JSON, a
                      set of key- value pairs is represented as an object. It
                      shall comply with the provisions defined in clause 4 of
                      IETF RFC 7159.
                    type: object
                  onboardingFailureDetails:
                    description: >
                      The definition of the general "ProblemDetails" data
                      structure from IETF RFC 7807 [19] is reproduced in this
                      structure. Compared to the general framework defined in
                      IETF RFC 7807 [19], the "status" and "detail" attributes
                      are mandated to be included by the present document, to
                      ensure that the response contains additional textual
                      information about an error. IETF RFC 7807 [19] foresees
                      extensibility of the "ProblemDetails" type. It is possible
                      that particular APIs in the present document, or
                      particular implementations, define extensions to define
                      additional attributes that provide more information about
                      the error. The description column only provides some
                      explanation of the meaning to Facilitate understanding of
                      the design. For a full description, see IETF RFC 7807
                      [19].
                    type: object
                    required:
                      - status
                      - detail
                    properties:
                      type:
                        description: >
                          A URI reference according to IETF RFC 3986 [5] that
                          identifies the problem type. It is encouraged that the
                          URI provides human-readable documentation for the
                          problem (e.g. using HTML) when dereferenced. When this
                          member is not present, its value is assumed to be
                          "about:blank".
                        type: string
                        format: URI
                      title:
                        description: >
                          A short, human-readable summary of the problem type.
                          It should not change from occurrence to occurrence of
                          the problem, except for purposes of localization. If
                          type is given and other than "about:blank", this
                          attribute shall also be provided. A short,
                          human-readable summary of the problem type.  It SHOULD
                          NOT change from occurrence to occurrence of the
                          problem, except for purposes of localization (e.g.,
                          using proactive content negotiation; see [RFC7231],
                          Section 3.4).
                        type: string
                      status:
                        description: >
                          The HTTP status code for this occurrence of the
                          problem. The HTTP status code ([RFC7231], Section 6)
                          generated by the origin server for this occurrence of
                          the problem.
                        type: integer
                      detail:
                        description: >
                          A human-readable explanation specific to this
                          occurrence of the problem.
                        type: string
                      instance:
                        description: >
                          A URI reference that identifies the specific
                          occurrence of the problem. It may yield further
                          information if dereferenced.
                        type: string
                        format: URI
                  _links:
                    type: object
                    description: |
                      Links to resources related to this resource.
                    required:
                      - self
                      - packageContent
                      - vnfd
                    properties:
                      self:
                        description: |
                          This type represents a link to a resource.
                        type: object
                        required:
                          - href
                        properties:
                          href:
                            description: >
                              URI of a resource referenced from a notification.
                              Should be an absolute URI (i.e. a URI that
                              contains {apiRoot}), however, may be a relative
                              URI (i.e. a URI where the {apiRoot} part is
                              omitted) if the {apiRoot} information is not
                              available.
                            type: string
                            format: url
                      vnfd:
                        description: |
                          This type represents a link to a resource.
                        type: object
                        required:
                          - href
                        properties:
                          href:
                            description: >
                              URI of a resource referenced from a notification.
                              Should be an absolute URI (i.e. a URI that
                              contains {apiRoot}), however, may be a relative
                              URI (i.e. a URI where the {apiRoot} part is
                              omitted) if the {apiRoot} information is not
                              available.
                            type: string
                            format: url
                      packageContent:
                        description: |
                          This type represents a link to a resource.
                        type: object
                        required:
                          - href
                        properties:
                          href:
                            description: >
                              URI of a resource referenced from a notification.
                              Should be an absolute URI (i.e. a URI that
                              contains {apiRoot}), however, may be a relative
                              URI (i.e. a URI where the {apiRoot} part is
                              omitted) if the {apiRoot} information is not
                              available.
                            type: string
                            format: url
        '400':
          description: >
            400 BAD REQUEST

            400 code can be returned in the following specified cases, the
            specific cause has to be proper specified in the "ProblemDetails"
            structure to be returned.

            If the request is malformed or syntactically incorrect (e.g. if the
            request URI contains incorrect query parameters or the payload body
            contains a syntactically incorrect data structure), the API producer
            shall respond with this response code. The "ProblemDetails"
            structure shall be provided, and should include in the "detail"
            attribute more information about the source of the problem.

            If the response to a GET request which queries a container resource
            would be so big that the performance of the API producer is
            adversely affected, and the API producer does not support paging for
            the affected resource, it shall respond with this response code. The
            "ProblemDetails" structure shall be provided, and should include in
            the "detail" attribute more information about the source of the
            problem.

            If there is an application error related to the client's input that
            cannot be easily mapped to any other HTTP response code ("catch all
            error"), the API producer shall respond with this response code. The
            "ProblemDetails" structure shall be provided, and shall include in
            the "detail" attribute more information about the source of the
            problem.

            If the request contains a malformed access token, the API producer
            should respond with this response. The details of the error shall be
            returned in the WWW Authenticate HTTP header, as defined in IETF RFC
            6750 and IETF RFC 7235. The ProblemDetails structure may be
            provided.

            The use of this HTTP error response code described above is
            applicable to the use of the OAuth 2.0 for the authorization of API
            requests and notifications, as defined in clauses 4.5.3.3 and
            4.5.3.4.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '401':
          description: >
            401 UNAUTHORIZED

            If the request contains no access token even though one is required,
            or if the request contains an authorization token that is invalid
            (e.g. expired or revoked), the API producer should respond with this
            response. The details of the error shall be returned in the
            WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF
            RFC 7235. The ProblemDetails structure may be provided.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '403':
          description: >
            403 FORBIDDEN

            If the API consumer is not allowed to perform a particular request
            to a particular resource, the API producer shall respond with this
            response code. The "ProblemDetails" structure shall be provided. It
            should include in the "detail" attribute information about the
            source of the problem, and may indicate how to solve it.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '404':
          description: >
            404 NOT FOUND

            If the API producer did not find a current representation for the
            resource addressed by the URI passed in the request or is not
            willing to disclose that one exists, it shall respond with this
            response code. The "ProblemDetails" structure may be provided,
            including in the "detail" attribute information about the source of
            the problem, e.g. a wrong resource URI variable.

            This response code is not appropriate in case the resource addressed
            by the URI is a container resource which is designed to contain
            child resources, but does not contain any child resource at the time
            the request is received. For a GET request to an existing empty
            container resource, a typical response contains a 200 OK response
            code and a payload body with an empty array.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '405':
          description: >
            405 METHOD NOT ALLOWED

            If a particular HTTP method is not supported for a particular
            resource, the API producer shall respond with this response code.
            The "ProblemDetails" structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '406':
          description: >
            406 NOT ACCEPTABLE

            If the "Accept" HTTP header does not contain at least one name of a
            content type that is acceptable to the API producer, the API
            producer shall respond with this response code. The "ProblemDetails"
            structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '409':
          description: |
            409 CONFLICT
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '416':
          description: |
            416 Range Not Satisfiable
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '500':
          description: >
            500 INTERNAL SERVER ERROR

            If there is an application error not related to the client's input
            that cannot be easily mapped to any other HTTP response code ("catch
            all error"), the API producer shall respond with this response code.
            The "ProblemDetails" structure shall be provided, and shall include
            in the "detail" attribute more information about the source of the
            problem.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '503':
          description: >
            503 SERVICE UNAVAILABLE

            If the API producer encounters an internal overload situation of
            itself or of a system it relies on, it should respond with this
            response code, following the provisions in IETF RFC 7231 for the use
            of the "Retry-After" HTTP header and for the alternative to refuse
            the connection. The "ProblemDetails" structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '504':
          description: >
            504 GATEWAY TIMEOUT

            If the API producer encounters a timeout while waiting for a
            response from an upstream server (i.e. a server that the API
            producer communicates with when fulfilling a request), it should
            respond with this response code.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
  '/vnf_packages/{vnfPkgId}':
    parameters:
      - name: vnfPkgId
        in: path
        description: >
          Identifier of the VNF package. The identifier is allocated by the
          NFVO.
        required: true
        style: simple
        explode: false
        schema:
          type: string
      - name: Version
        description: |
          Version of the API requested to use when responding to this request.
        in: header
        required: true
        schema:
          type: string
      - name: Authorization
        description: |
          The authorization token for the request. Reference: IETF RFC 7235.
        in: header
        required: false
        schema:
          type: string
    get:
      summary: Read information about an individual VNF package.
      description: |
        The GET method reads the information of a VNF package.
      parameters:
        - name: Accept
          description: >
            Content-Types that are acceptable for the response. Reference: IETF
            RFC 7231.
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: >
            200 OK

            Shall be returned when information of the VNF package has been read
            successfully. The response body shall

            contain the VNF package info representation defined in clause
            9.5.2.5.
          headers:
            Version:
              description: |
                Version of the API used in the response.
              style: simple
              explode: false
              schema:
                type: string
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the

                corresponding HTTP request has provided an invalid authorization
                token.
              style: simple
              explode: false
              schema:
                type: string
            Content-Type:
              description: >
                The MIME type of the body of the response.This header field
                shall be present if the response has a

                non-empty message body.
              style: simple
              explode: false
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
                required:
                  - id
                  - packageSecurityOption
                  - onboardingState
                  - operationalState
                  - usageState
                  - vnfmInfo
                  - _links
                properties:
                  id:
                    description: |
                      An identifier with the intention of being globally unique.
                    type: string
                  vnfdId:
                    description: |
                      An identifier with the intention of being globally unique.
                    type: string
                  vnfProvider:
                    description: >
                      Provider of the VNF package and the VNFD. This information
                      is copied from the VNFD.  It shall be present after the
                      VNF package content has been on-boarded and absent
                      otherwise.
                    type: string
                  vnfProductName:
                    description: >
                      Name to identify the VNF product.Invariant for the VNF
                      product lifetime.  This information is copied from the
                      VNFD. It shall be present after the VNF package content
                      has been on-boarded and absent otherwise.
                    type: string
                  vnfSoftwareVersion:
                    description: |
                      A Version. Representation: string of variable length.
                    type: string
                  vnfdVersion:
                    description: |
                      A Version. Representation: string of variable length.
                    type: string
                  compatibleSpecificationVersions:
                    description: |
                      A Version. Representation: string of variable length.
                    type: string
                  checksum:
                    description: >
                      This type represents the checksum of a VNF package or an
                      artifact file.
                    required:
                      - algorithm
                      - hash
                    type: object
                    properties:
                      algorithm:
                        description: >
                          Name of the algorithm used to generate the checksum,
                          as defined in ETSI GS NFV-SOL 004 [5]. For example,
                          SHA-256, SHA-512.
                        type: string
                      hash:
                        description: |
                          The hexadecimal value of the checksum.
                        type: string
                  packageSecurityOption:
                    description: >
                      Signals the security option used by the package as defined
                      in clause 5.1 of ETSI GS NFV-SOL 004 [5]. Valid values:
                      OPTION_1, OPTION_2
                    type: string
                    enum:
                      - OPTION_1
                      - OPTION_2
                  signingCertificate:
                    description: >
                      The singleton signing certificate if it is included as a
                      file in the VNF package.
                    type: string
                  softwareImages:
                    description: >
                      Information about VNF package artifacts that are software
                      images. This attribute shall not be present before the VNF
                      package content is on-boarded. Otherwise, this attribute
                      shall be present unless it has been requested to be
                      excluded per attribute selector.
                    type: array
                    items:
                      description: >
                        This type represents an artifact contained in or
                        external to a VNF package which represents a software
                        image.
                      required:
                        - id
                        - name
                        - provider
                        - version
                        - checksum
                        - isEncrypted
                        - containerFormat
                        - diskFormat
                        - createdAt
                        - minDisk
                        - minRam
                        - size
                        - imagePath
                      type: object
                      properties:
                        id:
                          description: >
                            Identifier of the VNF Virtual Link Descriptor (VLD)
                            in the VNFD.
                          type: string
                        name:
                          description: |
                            Name of the software image.
                          type: string
                        provider:
                          description: |
                            Provider of the software image.
                          type: string
                        version:
                          description: >
                            A Version. Representation: string of variable
                            length.
                          type: string
                        checksum:
                          description: >
                            This type represents the checksum of a VNF package
                            or an artifact file.
                          required:
                            - algorithm
                            - hash
                          type: object
                          properties:
                            algorithm:
                              description: >
                                Name of the algorithm used to generate the
                                checksum, as defined in ETSI GS NFV-SOL 004 [5].
                                For example, SHA-256, SHA-512.
                              type: string
                            hash:
                              description: |
                                The hexadecimal value of the checksum.
                              type: string
                        isEncrypted:
                          description: >
                            Reflects whether the image is encrypted (true) or
                            not (false).
                          type: boolean
                        containerFormat:
                          description: >
                            Container format indicates whether the software
                            image is in a file format that also contains
                            meta-data about the actual software. Permitted
                            values: - AKI: a kernel image format - AMI: a
                            machine image format - ARI: a ram disk image format
                            - BARE: the image does not have a container or
                            meta-data envelope - DOCKER: docker container format
                            - OVA: OVF package in a tar file - OVF: OVF
                            container format
                          type: string
                          enum:
                            - AKI
                            - AMI
                            - ARI
                            - BARE
                            - DOCKER
                            - OVA
                            - OVF
                        diskFormat:
                          description: >
                            Disk format of a software image is the format of the
                            underlying disk image. Permitted values: - AKI: a
                            kernel image format - AMI: a machine image format -
                            ARI: a ramdisk image format - ISO: an archive format
                            for the data contents of an optical disc, such as
                            CD-ROM - QCOW2: a common disk image format, which
                            can expand dynamically and supports copy on write -
                            RAW: an unstructured disk image format - VDI: a
                            common disk image format - VHD: a common disk image
                            format - VHDX: enhanced version of VHD format -
                            VMDK: a common disk image format
                          type: string
                          enum:
                            - AKI
                            - AMI
                            - ARI
                            - ISO
                            - QCOW2
                            - RAW
                            - VDI
                            - VHD
                            - VHDX
                            - VMDK
                        createdAt:
                          description: >
                            Date-time stamp. Representation: String formatted
                            according toas defined by the date-time production
                            in IETF RFC 3339.
                          format: date-time
                        minDisk:
                          description: |
                            The minimal disk for this software image in bytes.
                          type: integer
                          minimum: 0
                        minRam:
                          description: |
                            The minimal RAM for this software image in bytes.
                          type: integer
                          minimum: 0
                        size:
                          description: |
                            Size of this software image in bytes.
                          type: integer
                          minimum: 0
                        userMetadata:
                          description: >
                            This type represents a list of key-value pairs. The
                            order of the pairs in the list is not significant.
                            In JSON, a set of key- value pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 7159.
                          type: object
                        imagePath:
                          description: "Path, which identifies the image artifact and also allows to access a copy of the image artifact. For a software image contained as a file in the VNF package, this attribute shall be present, and the value of this attribute shall start with the name of the first segment in the path in the package, i.e., it shall not be prefixed by path separator characters such as \".\" and \"/\".\nEXAMPLE:\tfoo/bar/m%40ster.vhd\nFor an external software image represented as a URI in the VNF descriptor, this attribute shall be present if the image artifact has been downloaded by the NFVO and shall be absent otherwise. If present, it shall contain the artifactPath under which the image artifact can be obtained using the \"Individual artifact in a VNF package\" resource defined in clause 9.4.7. It is the responsibility of the NFVO to synthesize this path in a manner that avoids any collision of the synthesized artifact path with the paths and names of image artifacts included in the package.\n"
                          type: string
                        imageUri:
                          description: |
                            String formatted according to IETF RFC 3986.
                          type: string
                          format: uri
                  additionalArtifacts:
                    description: >
                      Information about VNF package artifacts contained in the
                      VNF package that are not software images. This attribute
                      shall not be present before the VNF package content is
                      on-boarded. Otherwise, this attribute shall be present if
                      the VNF package contains additional artifacts.
                    type: array
                    items:
                      description: >
                        This type represents an artifact other than a software
                        image which is contained in or external to a VNF
                        package. It shall comply with provisions defined in
                        Table 9.5.3.3-1.
                      required:
                        - isEncrypted
                        - checksum
                      type: object
                      properties:
                        artifactPath:
                          description: |
                            A string as defined in IETF RFC 8259.
                          type: string
                        artifactURI:
                          description: |
                            String formatted according to IETF RFC 3986.
                          type: string
                          format: uri
                        checksum:
                          description: >
                            This type represents the checksum of a VNF package
                            or an artifact file.
                          required:
                            - algorithm
                            - hash
                          type: object
                          properties:
                            algorithm:
                              description: >
                                Name of the algorithm used to generate the
                                checksum, as defined in ETSI GS NFV-SOL 004 [5].
                                For example, SHA-256, SHA-512.
                              type: string
                            hash:
                              description: |
                                The hexadecimal value of the checksum.
                              type: string
                        artifactClassification:
                          description: >
                            Marks specific types of artifacts as defined in the
                            VNF package. If none of the specific classes listed
                            below applies, the attribute shall not be present.
                            Valid values: - HISTORY: a history artifact as per
                            clause 4.3.3 in ETSI GS NFV-SOL 004 [5] - TESTING: a
                            testing artifact as per clause 4.3.4 in ETSI GS
                            NFV-SOL 004 [5] - LICENSE: a license artifact as per
                            clause 4.3.5 in ETSI GS NFV-SOL 004 [5]
                          type: string
                          enum:
                            - HISTORY
                            - TESTING
                            - LICENSE
                        isEncrypted:
                          description: >
                            Reflects whether the artifact is encrypted (true) or
                            not (false).
                          type: boolean
                        nonManoArtifactSetId:
                          description: >
                            Non-MANO artifact set identifier of the non-MANO
                            artifact set to which the artifact belongs, as
                            defined in clause 4.3.7 of ETSI GS NFV-SOL 004 [5].
                            Shall be provided if the artifact is a non-MANO
                            artifact, and shall be omitted otherwise.
                          type: string
                        metadata:
                          description: >
                            This type represents a list of key-value pairs. The
                            order of the pairs in the list is not significant.
                            In JSON, a set of key- value pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 7159.
                          type: object
                  onboardingState:
                    description: >
                      The enumeration PackageOnboardingStateType shall comply
                      with the provisions defined in Table 9.5.4.3-1. Permitted
                      values: - CREATED: The VNF package resource has been
                      created. - UPLOADING: The associated VNF package content
                      is being uploaded. - PROCESSING: The associated VNF
                      package content is being processed, e.g. validation. -
                      ONBOARDED: The associated VNF package content is
                      successfully on-boarded. - ERROR: There was an error
                      during upload of the VNF package content or external
                      artifacts, or during VNF package processing.
                    type: string
                    enum:
                      - CREATED
                      - UPLOADING
                      - PROCESSING
                      - ONBOARDED
                      - ERROR
                  operationalState:
                    type: string
                    description: >
                      "The enumeration PackageOperationalStateType shall  comply
                      with the provisions defined in Table 9.5.4.4-1."
                      Acceptable values are: - ENABLED - The VNF package is
                      enabled, i.e. it can be used for instantiation of new VNF
                      instances. - DISABLED - The VNF package is disabled, i.e.
                      it cannot be used for further VNF instantiation requests
                                  (unless and until the VNF package is re-enabled).
                    enum:
                      - ENABLED
                      - DISABLED
                  usageState:
                    type: string
                    description: >
                      "The enumeration PackageUsageStateType shall comply with
                      the provisions. Acceptable values are: - IN_USE:
                      "Individual VNF instance" resources created from this VNF
                      package exist. - NOT_IN_USE: No "individual VNF instance"
                      resource created from this VNF package exists.
                    enum:
                      - IN_USE
                      - NOT_IN_USE
                  vnfmInfo:
                    description: >
                      Specifies VNFMs compatible with the VNF. This information
                      is copied from the VNFD. See note 4.
                    type: array
                    items:
                      type: string
                  userDefinedData:
                    description: >
                      This type represents a list of key-value pairs. The order
                      of the pairs in the list is not significant. In JSON, a
                      set of key- value pairs is represented as an object. It
                      shall comply with the provisions defined in clause 4 of
                      IETF RFC 7159.
                    type: object
                  onboardingFailureDetails:
                    description: >
                      The definition of the general "ProblemDetails" data
                      structure from IETF RFC 7807 [19] is reproduced in this
                      structure. Compared to the general framework defined in
                      IETF RFC 7807 [19], the "status" and "detail" attributes
                      are mandated to be included by the present document, to
                      ensure that the response contains additional textual
                      information about an error. IETF RFC 7807 [19] foresees
                      extensibility of the "ProblemDetails" type. It is possible
                      that particular APIs in the present document, or
                      particular implementations, define extensions to define
                      additional attributes that provide more information about
                      the error. The description column only provides some
                      explanation of the meaning to Facilitate understanding of
                      the design. For a full description, see IETF RFC 7807
                      [19].
                    type: object
                    required:
                      - status
                      - detail
                    properties:
                      type:
                        description: >
                          A URI reference according to IETF RFC 3986 [5] that
                          identifies the problem type. It is encouraged that the
                          URI provides human-readable documentation for the
                          problem (e.g. using HTML) when dereferenced. When this
                          member is not present, its value is assumed to be
                          "about:blank".
                        type: string
                        format: URI
                      title:
                        description: >
                          A short, human-readable summary of the problem type.
                          It should not change from occurrence to occurrence of
                          the problem, except for purposes of localization. If
                          type is given and other than "about:blank", this
                          attribute shall also be provided. A short,
                          human-readable summary of the problem type.  It SHOULD
                          NOT change from occurrence to occurrence of the
                          problem, except for purposes of localization (e.g.,
                          using proactive content negotiation; see [RFC7231],
                          Section 3.4).
                        type: string
                      status:
                        description: >
                          The HTTP status code for this occurrence of the
                          problem. The HTTP status code ([RFC7231], Section 6)
                          generated by the origin server for this occurrence of
                          the problem.
                        type: integer
                      detail:
                        description: >
                          A human-readable explanation specific to this
                          occurrence of the problem.
                        type: string
                      instance:
                        description: >
                          A URI reference that identifies the specific
                          occurrence of the problem. It may yield further
                          information if dereferenced.
                        type: string
                        format: URI
                  _links:
                    type: object
                    description: |
                      Links to resources related to this resource.
                    required:
                      - self
                      - packageContent
                      - vnfd
                    properties:
                      self:
                        description: |
                          This type represents a link to a resource.
                        type: object
                        required:
                          - href
                        properties:
                          href:
                            description: >
                              URI of a resource referenced from a notification.
                              Should be an absolute URI (i.e. a URI that
                              contains {apiRoot}), however, may be a relative
                              URI (i.e. a URI where the {apiRoot} part is
                              omitted) if the {apiRoot} information is not
                              available.
                            type: string
                            format: url
                      vnfd:
                        description: |
                          This type represents a link to a resource.
                        type: object
                        required:
                          - href
                        properties:
                          href:
                            description: >
                              URI of a resource referenced from a notification.
                              Should be an absolute URI (i.e. a URI that
                              contains {apiRoot}), however, may be a relative
                              URI (i.e. a URI where the {apiRoot} part is
                              omitted) if the {apiRoot} information is not
                              available.
                            type: string
                            format: url
                      packageContent:
                        description: |
                          This type represents a link to a resource.
                        type: object
                        required:
                          - href
                        properties:
                          href:
                            description: >
                              URI of a resource referenced from a notification.
                              Should be an absolute URI (i.e. a URI that
                              contains {apiRoot}), however, may be a relative
                              URI (i.e. a URI where the {apiRoot} part is
                              omitted) if the {apiRoot} information is not
                              available.
                            type: string
                            format: url
        '400':
          description: >
            400 BAD REQUEST

            400 code can be returned in the following specified cases, the
            specific cause has to be proper specified in the "ProblemDetails"
            structure to be returned.

            If the request is malformed or syntactically incorrect (e.g. if the
            request URI contains incorrect query parameters or the payload body
            contains a syntactically incorrect data structure), the API producer
            shall respond with this response code. The "ProblemDetails"
            structure shall be provided, and should include in the "detail"
            attribute more information about the source of the problem.

            If the response to a GET request which queries a container resource
            would be so big that the performance of the API producer is
            adversely affected, and the API producer does not support paging for
            the affected resource, it shall respond with this response code. The
            "ProblemDetails" structure shall be provided, and should include in
            the "detail" attribute more information about the source of the
            problem.

            If there is an application error related to the client's input that
            cannot be easily mapped to any other HTTP response code ("catch all
            error"), the API producer shall respond with this response code. The
            "ProblemDetails" structure shall be provided, and shall include in
            the "detail" attribute more information about the source of the
            problem.

            If the request contains a malformed access token, the API producer
            should respond with this response. The details of the error shall be
            returned in the WWW Authenticate HTTP header, as defined in IETF RFC
            6750 and IETF RFC 7235. The ProblemDetails structure may be
            provided.

            The use of this HTTP error response code described above is
            applicable to the use of the OAuth 2.0 for the authorization of API
            requests and notifications, as defined in clauses 4.5.3.3 and
            4.5.3.4.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '401':
          description: >
            401 UNAUTHORIZED

            If the request contains no access token even though one is required,
            or if the request contains an authorization token that is invalid
            (e.g. expired or revoked), the API producer should respond with this
            response. The details of the error shall be returned in the
            WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF
            RFC 7235. The ProblemDetails structure may be provided.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '403':
          description: >
            403 FORBIDDEN

            If the API consumer is not allowed to perform a particular request
            to a particular resource, the API producer shall respond with this
            response code. The "ProblemDetails" structure shall be provided. It
            should include in the "detail" attribute information about the
            source of the problem, and may indicate how to solve it.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '404':
          description: >
            404 NOT FOUND

            If the API producer did not find a current representation for the
            resource addressed by the URI passed in the request or is not
            willing to disclose that one exists, it shall respond with this
            response code. The "ProblemDetails" structure may be provided,
            including in the "detail" attribute information about the source of
            the problem, e.g. a wrong resource URI variable.

            This response code is not appropriate in case the resource addressed
            by the URI is a container resource which is designed to contain
            child resources, but does not contain any child resource at the time
            the request is received. For a GET request to an existing empty
            container resource, a typical response contains a 200 OK response
            code and a payload body with an empty array.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '405':
          description: >
            405 METHOD NOT ALLOWED

            If a particular HTTP method is not supported for a particular
            resource, the API producer shall respond with this response code.
            The "ProblemDetails" structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '406':
          description: >
            406 NOT ACCEPTABLE

            If the "Accept" HTTP header does not contain at least one name of a
            content type that is acceptable to the API producer, the API
            producer shall respond with this response code. The "ProblemDetails"
            structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '500':
          description: >
            500 INTERNAL SERVER ERROR

            If there is an application error not related to the client's input
            that cannot be easily mapped to any other HTTP response code ("catch
            all error"), the API producer shall respond with this response code.
            The "ProblemDetails" structure shall be provided, and shall include
            in the "detail" attribute more information about the source of the
            problem.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '503':
          description: >
            503 SERVICE UNAVAILABLE

            If the API producer encounters an internal overload situation of
            itself or of a system it relies on, it should respond with this
            response code, following the provisions in IETF RFC 7231 for the use
            of the "Retry-After" HTTP header and for the alternative to refuse
            the connection. The "ProblemDetails" structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '504':
          description: >
            504 GATEWAY TIMEOUT

            If the API producer encounters a timeout while waiting for a
            response from an upstream server (i.e. a server that the API
            producer communicates with when fulfilling a request), it should
            respond with this response code.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
    delete:
      summary: Delete an individual VNF package.
      description: |
        The DELETE method deletes an individual VNF Package resource.
      responses:
        '204':
          description: >
            204 No Content

            The VNF package has been deleted successfully. The response body
            shall be empty.
          headers:
            Version:
              description: |
                Version of the API used in the response.
              style: simple
              explode: false
              schema:
                type: string
          content: {}
        '400':
          description: >
            400 BAD REQUEST

            400 code can be returned in the following specified cases, the
            specific cause has to be proper specified in the "ProblemDetails"
            structure to be returned.

            If the request is malformed or syntactically incorrect (e.g. if the
            request URI contains incorrect query parameters or the payload body
            contains a syntactically incorrect data structure), the API producer
            shall respond with this response code. The "ProblemDetails"
            structure shall be provided, and should include in the "detail"
            attribute more information about the source of the problem.

            If the response to a GET request which queries a container resource
            would be so big that the performance of the API producer is
            adversely affected, and the API producer does not support paging for
            the affected resource, it shall respond with this response code. The
            "ProblemDetails" structure shall be provided, and should include in
            the "detail" attribute more information about the source of the
            problem.

            If there is an application error related to the client's input that
            cannot be easily mapped to any other HTTP response code ("catch all
            error"), the API producer shall respond with this response code. The
            "ProblemDetails" structure shall be provided, and shall include in
            the "detail" attribute more information about the source of the
            problem.

            If the request contains a malformed access token, the API producer
            should respond with this response. The details of the error shall be
            returned in the WWW Authenticate HTTP header, as defined in IETF RFC
            6750 and IETF RFC 7235. The ProblemDetails structure may be
            provided.

            The use of this HTTP error response code described above is
            applicable to the use of the OAuth 2.0 for the authorization of API
            requests and notifications, as defined in clauses 4.5.3.3 and
            4.5.3.4.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '401':
          description: >
            401 UNAUTHORIZED

            If the request contains no access token even though one is required,
            or if the request contains an authorization token that is invalid
            (e.g. expired or revoked), the API producer should respond with this
            response. The details of the error shall be returned in the
            WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF
            RFC 7235. The ProblemDetails structure may be provided.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '403':
          description: >
            403 FORBIDDEN

            If the API consumer is not allowed to perform a particular request
            to a particular resource, the API producer shall respond with this
            response code. The "ProblemDetails" structure shall be provided. It
            should include in the "detail" attribute information about the
            source of the problem, and may indicate how to solve it.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '404':
          description: >
            404 NOT FOUND

            If the API producer did not find a current representation for the
            resource addressed by the URI passed in the request or is not
            willing to disclose that one exists, it shall respond with this
            response code. The "ProblemDetails" structure may be provided,
            including in the "detail" attribute information about the source of
            the problem, e.g. a wrong resource URI variable.

            This response code is not appropriate in case the resource addressed
            by the URI is a container resource which is designed to contain
            child resources, but does not contain any child resource at the time
            the request is received. For a GET request to an existing empty
            container resource, a typical response contains a 200 OK response
            code and a payload body with an empty array.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '405':
          description: >
            405 METHOD NOT ALLOWED

            If a particular HTTP method is not supported for a particular
            resource, the API producer shall respond with this response code.
            The "ProblemDetails" structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '406':
          description: >
            406 NOT ACCEPTABLE

            If the "Accept" HTTP header does not contain at least one name of a
            content type that is acceptable to the API producer, the API
            producer shall respond with this response code. The "ProblemDetails"
            structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '409':
          description: |
            409 CONFLICT
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '500':
          description: >
            500 INTERNAL SERVER ERROR

            If there is an application error not related to the client's input
            that cannot be easily mapped to any other HTTP response code ("catch
            all error"), the API producer shall respond with this response code.
            The "ProblemDetails" structure shall be provided, and shall include
            in the "detail" attribute more information about the source of the
            problem.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '503':
          description: >
            503 SERVICE UNAVAILABLE

            If the API producer encounters an internal overload situation of
            itself or of a system it relies on, it should respond with this
            response code, following the provisions in IETF RFC 7231 for the use
            of the "Retry-After" HTTP header and for the alternative to refuse
            the connection. The "ProblemDetails" structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '504':
          description: >
            504 GATEWAY TIMEOUT

            If the API producer encounters a timeout while waiting for a
            response from an upstream server (i.e. a server that the API
            producer communicates with when fulfilling a request), it should
            respond with this response code.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
    patch:
      summary: Update information about an individual VNF package.
      description: >
        The PATCH method updates the information of a VNF package.

        This method shall follow the provisions specified in the  Tables
        9.4.3.3.4-1 and 9.4.3.3.4-2 for URI query

        parameters, request and response data structures, and response codes.
      parameters:
        - name: Content-Type
          description: |
            The MIME type of the body of the request. Reference: IETF RFC 7231
          in: header
          required: true
          schema:
            type: string
      requestBody:
        description: |
          Parameters for VNF package information modifications.
        content:
          application/json:
            schema:
              description: >
                This type represents modifications to the information of a VNF
                package.  It shall comply with the provisions defined in Table
                9.5.2.3-1.
              anyOf:
                - required:
                    - operationalState
                - required:
                    - userDefinedData
              properties:
                operationalState:
                  type: string
                  description: >
                    "The enumeration PackageOperationalStateType shall  comply
                    with the provisions defined in Table 9.5.4.4-1." Acceptable
                    values are: - ENABLED - The VNF package is enabled, i.e. it
                    can be used for instantiation of new VNF instances. -
                    DISABLED - The VNF package is disabled, i.e. it cannot be
                    used for further VNF instantiation requests
                                (unless and until the VNF package is re-enabled).
                  enum:
                    - ENABLED
                    - DISABLED
                userDefinedData:
                  description: >
                    This type represents a list of key-value pairs. The order of
                    the pairs in the list is not significant. In JSON, a set of
                    key- value pairs is represented as an object. It shall
                    comply with the provisions defined in clause 4 of IETF RFC
                    7159.
                  type: object
        required: true
      responses:
        '200':
          description: >
            200 OK

            Shall be returned when the operation has been completed
            successfully. The response body shall contain

            attribute modifications for an "Individual VNF package" resource.
          headers:
            Version:
              description: |
                Version of the API used in the response.
              style: simple
              explode: false
              schema:
                type: string
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the

                corresponding HTTP request has provided an invalid authorization
                token.
              style: simple
              explode: false
              schema:
                type: string
            Content-Type:
              description: The MIME type of the body of the response.
              style: simple
              explode: false
              schema:
                type: string
          content:
            application/json:
              schema:
                description: >
                  This type represents modifications to the information of a VNF
                  package.  It shall comply with the provisions defined in Table
                  9.5.2.3-1.
                anyOf:
                  - required:
                      - operationalState
                  - required:
                      - userDefinedData
                properties:
                  operationalState:
                    type: string
                    description: >
                      "The enumeration PackageOperationalStateType shall  comply
                      with the provisions defined in Table 9.5.4.4-1."
                      Acceptable values are: - ENABLED - The VNF package is
                      enabled, i.e. it can be used for instantiation of new VNF
                      instances. - DISABLED - The VNF package is disabled, i.e.
                      it cannot be used for further VNF instantiation requests
                                  (unless and until the VNF package is re-enabled).
                    enum:
                      - ENABLED
                      - DISABLED
                  userDefinedData:
                    description: >
                      This type represents a list of key-value pairs. The order
                      of the pairs in the list is not significant. In JSON, a
                      set of key- value pairs is represented as an object. It
                      shall comply with the provisions defined in clause 4 of
                      IETF RFC 7159.
                    type: object
        '400':
          description: >
            400 BAD REQUEST

            400 code can be returned in the following specified cases, the
            specific cause has to be proper specified in the "ProblemDetails"
            structure to be returned.

            If the request is malformed or syntactically incorrect (e.g. if the
            request URI contains incorrect query parameters or the payload body
            contains a syntactically incorrect data structure), the API producer
            shall respond with this response code. The "ProblemDetails"
            structure shall be provided, and should include in the "detail"
            attribute more information about the source of the problem.

            If the response to a GET request which queries a container resource
            would be so big that the performance of the API producer is
            adversely affected, and the API producer does not support paging for
            the affected resource, it shall respond with this response code. The
            "ProblemDetails" structure shall be provided, and should include in
            the "detail" attribute more information about the source of the
            problem.

            If there is an application error related to the client's input that
            cannot be easily mapped to any other HTTP response code ("catch all
            error"), the API producer shall respond with this response code. The
            "ProblemDetails" structure shall be provided, and shall include in
            the "detail" attribute more information about the source of the
            problem.

            If the request contains a malformed access token, the API producer
            should respond with this response. The details of the error shall be
            returned in the WWW Authenticate HTTP header, as defined in IETF RFC
            6750 and IETF RFC 7235. The ProblemDetails structure may be
            provided.

            The use of this HTTP error response code described above is
            applicable to the use of the OAuth 2.0 for the authorization of API
            requests and notifications, as defined in clauses 4.5.3.3 and
            4.5.3.4.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '401':
          description: >
            401 UNAUTHORIZED

            If the request contains no access token even though one is required,
            or if the request contains an authorization token that is invalid
            (e.g. expired or revoked), the API producer should respond with this
            response. The details of the error shall be returned in the
            WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF
            RFC 7235. The ProblemDetails structure may be provided.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '403':
          description: >
            403 FORBIDDEN

            If the API consumer is not allowed to perform a particular request
            to a particular resource, the API producer shall respond with this
            response code. The "ProblemDetails" structure shall be provided. It
            should include in the "detail" attribute information about the
            source of the problem, and may indicate how to solve it.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '404':
          description: >
            404 NOT FOUND

            If the API producer did not find a current representation for the
            resource addressed by the URI passed in the request or is not
            willing to disclose that one exists, it shall respond with this
            response code. The "ProblemDetails" structure may be provided,
            including in the "detail" attribute information about the source of
            the problem, e.g. a wrong resource URI variable.

            This response code is not appropriate in case the resource addressed
            by the URI is a container resource which is designed to contain
            child resources, but does not contain any child resource at the time
            the request is received. For a GET request to an existing empty
            container resource, a typical response contains a 200 OK response
            code and a payload body with an empty array.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '405':
          description: >
            405 METHOD NOT ALLOWED

            If a particular HTTP method is not supported for a particular
            resource, the API producer shall respond with this response code.
            The "ProblemDetails" structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '406':
          description: >
            406 NOT ACCEPTABLE

            If the "Accept" HTTP header does not contain at least one name of a
            content type that is acceptable to the API producer, the API
            producer shall respond with this response code. The "ProblemDetails"
            structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '409':
          description: |
            409 CONFLICT
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '500':
          description: >
            500 INTERNAL SERVER ERROR

            If there is an application error not related to the client's input
            that cannot be easily mapped to any other HTTP response code ("catch
            all error"), the API producer shall respond with this response code.
            The "ProblemDetails" structure shall be provided, and shall include
            in the "detail" attribute more information about the source of the
            problem.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '503':
          description: >
            503 SERVICE UNAVAILABLE

            If the API producer encounters an internal overload situation of
            itself or of a system it relies on, it should respond with this
            response code, following the provisions in IETF RFC 7231 for the use
            of the "Retry-After" HTTP header and for the alternative to refuse
            the connection. The "ProblemDetails" structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '504':
          description: >
            504 GATEWAY TIMEOUT

            If the API producer encounters a timeout while waiting for a
            response from an upstream server (i.e. a server that the API
            producer communicates with when fulfilling a request), it should
            respond with this response code.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
  '/vnf_packages/{vnfPkgId}/vnfd':
    parameters:
      - name: vnfPkgId
        in: path
        description: >
          Identifier of the VNF package. The identifier is allocated by the
          NFVO.
        required: true
        style: simple
        explode: false
        schema:
          type: string
      - name: Version
        description: |
          Version of the API requested to use when responding to this request.
        in: header
        required: true
        schema:
          type: string
      - name: Authorization
        description: |
          The authorization token for the request. Reference: IETF RFC 7235.
        in: header
        required: false
        schema:
          type: string
    get:
      summary: Read VNFD of an on-boarded VNF package.
      description: >
        The GET method reads the content of the VNFD within a VNF package.

        The default format of the ZIP archive shall be the one specified in ETSI
        GS NFV-SOL 004 where only the files

        representing the VNFD and information necessary to navigate the ZIP file
        and to identify the file that is the

        entry point for parsing the VNFD and (if requested) further security
        information are included. This means that

        the structure of the ZIP archive shall correspond to the directory
        structure used in the VNF package and that

        the archive shall contain the following files from the package: •
        TOSCA.meta (if available in the package).

        The main TOSCA definitions YAML file (either as referenced from
        TOSCA.meta or available as a file with the extension

        ".yml" or ".yaml" from the root of the archive). Every component of the
        VNFD referenced (recursively) from the main

        TOSCA definitions YAML file. • The related security information, if the
        "include_signatures" URI parameter is provided,

        as follows:

        - the manifest file;

        - the singleton certificate file in the root of the VNF package (if
        available in the package);

        - the signing certificates of the individual files included in the ZIP
        archive (if available in the package);

        - the signatures of the individual files (if available in the package).
      parameters:
        - name: Accept
          description: >
            Content-Types that are acceptable for the response. Reference: IETF
            RFC 7231.
          in: header
          required: true
          schema:
            type: string
        - name: include_signatures
          description: >
            If this parameter is provided, the NFVO shall include in the ZIP
            archive the security information as specified above. This URI query
            parameter is a flag, i.e. it shall have no value. The NFVO shall
            support this parameter.
          in: query
          required: false
          schema:
            type: string
      responses:
        '200':
          description: >
            200 OK

            Shall be returned when the content of the VNFD has been read
            successfully. The payload body shall contain a

            copy of the file representing the VNFD or a ZIP file that contains
            the file or multiple files representing

            the VNFD, as specified above. The "Content-Type" HTTP header shall
            be set according to the format of the

            returned file, i.e. to "text/plain" for a YAML file or to
            "application/zip" for a ZIP file.
          headers:
            Version:
              description: |
                Version of the API used in the response.
              style: simple
              explode: false
              schema:
                type: string
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the

                corresponding HTTP request has provided an invalid authorization
                token.
              style: simple
              explode: false
              schema:
                type: string
            Content-Type:
              description: The MIME type of the body of the response.
              style: simple
              explode: false
              schema:
                type: string
          content: {}
        '400':
          description: >
            400 BAD REQUEST

            400 code can be returned in the following specified cases, the
            specific cause has to be proper specified in the "ProblemDetails"
            structure to be returned.

            If the request is malformed or syntactically incorrect (e.g. if the
            request URI contains incorrect query parameters or the payload body
            contains a syntactically incorrect data structure), the API producer
            shall respond with this response code. The "ProblemDetails"
            structure shall be provided, and should include in the "detail"
            attribute more information about the source of the problem.

            If the response to a GET request which queries a container resource
            would be so big that the performance of the API producer is
            adversely affected, and the API producer does not support paging for
            the affected resource, it shall respond with this response code. The
            "ProblemDetails" structure shall be provided, and should include in
            the "detail" attribute more information about the source of the
            problem.

            If there is an application error related to the client's input that
            cannot be easily mapped to any other HTTP response code ("catch all
            error"), the API producer shall respond with this response code. The
            "ProblemDetails" structure shall be provided, and shall include in
            the "detail" attribute more information about the source of the
            problem.

            If the request contains a malformed access token, the API producer
            should respond with this response. The details of the error shall be
            returned in the WWW Authenticate HTTP header, as defined in IETF RFC
            6750 and IETF RFC 7235. The ProblemDetails structure may be
            provided.

            The use of this HTTP error response code described above is
            applicable to the use of the OAuth 2.0 for the authorization of API
            requests and notifications, as defined in clauses 4.5.3.3 and
            4.5.3.4.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '401':
          description: >
            401 UNAUTHORIZED

            If the request contains no access token even though one is required,
            or if the request contains an authorization token that is invalid
            (e.g. expired or revoked), the API producer should respond with this
            response. The details of the error shall be returned in the
            WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF
            RFC 7235. The ProblemDetails structure may be provided.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '403':
          description: >
            403 FORBIDDEN

            If the API consumer is not allowed to perform a particular request
            to a particular resource, the API producer shall respond with this
            response code. The "ProblemDetails" structure shall be provided. It
            should include in the "detail" attribute information about the
            source of the problem, and may indicate how to solve it.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '404':
          description: >
            404 NOT FOUND

            If the API producer did not find a current representation for the
            resource addressed by the URI passed in the request or is not
            willing to disclose that one exists, it shall respond with this
            response code. The "ProblemDetails" structure may be provided,
            including in the "detail" attribute information about the source of
            the problem, e.g. a wrong resource URI variable.

            This response code is not appropriate in case the resource addressed
            by the URI is a container resource which is designed to contain
            child resources, but does not contain any child resource at the time
            the request is received. For a GET request to an existing empty
            container resource, a typical response contains a 200 OK response
            code and a payload body with an empty array.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '405':
          description: >
            405 METHOD NOT ALLOWED

            If a particular HTTP method is not supported for a particular
            resource, the API producer shall respond with this response code.
            The "ProblemDetails" structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '406':
          description: >
            406 NOT ACCEPTABLE

            If the "Accept" HTTP header does not contain at least one name of a
            content type that is acceptable to the API producer, the API
            producer shall respond with this response code. The "ProblemDetails"
            structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '409':
          description: |
            409 CONFLICT
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '500':
          description: >
            500 INTERNAL SERVER ERROR

            If there is an application error not related to the client's input
            that cannot be easily mapped to any other HTTP response code ("catch
            all error"), the API producer shall respond with this response code.
            The "ProblemDetails" structure shall be provided, and shall include
            in the "detail" attribute more information about the source of the
            problem.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '503':
          description: >
            503 SERVICE UNAVAILABLE

            If the API producer encounters an internal overload situation of
            itself or of a system it relies on, it should respond with this
            response code, following the provisions in IETF RFC 7231 for the use
            of the "Retry-After" HTTP header and for the alternative to refuse
            the connection. The "ProblemDetails" structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '504':
          description: >
            504 GATEWAY TIMEOUT

            If the API producer encounters a timeout while waiting for a
            response from an upstream server (i.e. a server that the API
            producer communicates with when fulfilling a request), it should
            respond with this response code.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
  '/vnf_packages/{vnfPkgId}/ext_artifacts_access':
    parameters:
      - name: vnfPkgId
        in: path
        description: >
          Identifier of the VNF package. The identifier is allocated by the
          NFVO.
        required: true
        style: simple
        explode: false
        schema:
          type: string
      - name: Version
        description: |
          Version of the API requested to use when responding to this request.
        in: header
        required: true
        schema:
          type: string
      - name: Authorization
        description: |
          The authorization token for the request. Reference: IETF RFC 7235.
        in: header
        required: false
        schema:
          type: string
    get:
      summary: Get the content of external VNF package artifacts.
      description: >
        The GET method reads the access configuration information that is used
        by the NFVO to get the content of external

        VNF package artifacts. This method shall follow the provisions specified
        in the Tables 9.4.4a.3.2-1 and 9.4.4a.3.2-2

        for URI query parameters, request and response data structures, and
        response codes.
      parameters:
        - name: Accept
          description: >
            Content-Types that are acceptable for the response. Reference: IETF
            RFC 7231.
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: >
            200 OK

            Shall be returned when the access configuration information has been
            read successfully.

            If no information has been provided previously, an empty array shall
            be returned.
          headers:
            Version:
              description: |
                Version of the API used in the response.
              style: simple
              explode: false
              schema:
                type: string
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the

                corresponding HTTP request has provided an invalid authorization
                token.
              style: simple
              explode: false
              schema:
                type: string
            Content-Type:
              description: The MIME type of the body of the response.
              style: simple
              explode: false
              schema:
                type: string
          content:
            application/json:
              schema:
                description: >
                  This type represents the access configuration information for
                  downloading external VNF package artifacts. The NFVO can
                  obtain the external VNF package artifact file through the
                  information provided in this structure, together with
                  information provided in the manifest / VNFD. The data
                  structure shall comply with the provisions defined in Table
                  9.5.2.10-1. If the data structure is part of a response body,
                  security-sensitive attributes shall be excluded as specified
                  in Table 9.5.2.10-1.
                type: object
                properties:
                  artifact:
                    description: |
                      Access configuration information for an external artifact.
                    type: object
                    required:
                      - artifactUri
                    properties:
                      artifactUri:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                        format: uri
                      overrideUri:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                        format: uri
                      authType:
                        description: >
                          Defines the type of authentication / authorization for
                          downloading the VNF package. Permitted values: -
                          BASIC: Only the "username" and "password" attributes
                          shall be present. - OAUTH2_CLIENT_CREDENTIAL S: Only
                          the "paramsOauth2ClientCredentials" attribute shall be
                          present. This attribute shall not be present if no
                          credentials are provided for the artifact.
                        type: string
                        enum:
                          - BASIC
                          - OAUTH2_CLIENT_CREDENTIALS
                      username:
                        description: |
                          User name to be used for authentication.
                        type: string
                      password:
                        description: >
                          Password to be used for authentication. Shall not be
                          present in response bodies.
                        type: string
                      paramsOauth2ClientCredentials:
                        description: >
                          Parameters for authentication/authorization using
                          OAUTH2_CLIENT_CREDENTIALS.
                        type: object
                        required:
                          - clientId
                          - clientPassword
                          - tokenEndpoint
                        properties:
                          clientId:
                            description: >
                              Client identifier to be used in the access token
                              request of the OAuth 2.0 client credentials grant
                              type.
                            type: string
                          clientPassword:
                            description: >
                              Client password to be used in the access token
                              request of the OAuth 2.0 client credentials grant
                              type. Shall not be present in response bodies.
                            type: string
                          tokenEndpoint:
                            description: |
                              String formatted according to IETF RFC 3986.
                            type: string
                            format: uri
        '400':
          description: >
            400 BAD REQUEST

            400 code can be returned in the following specified cases, the
            specific cause has to be proper specified in the "ProblemDetails"
            structure to be returned.

            If the request is malformed or syntactically incorrect (e.g. if the
            request URI contains incorrect query parameters or the payload body
            contains a syntactically incorrect data structure), the API producer
            shall respond with this response code. The "ProblemDetails"
            structure shall be provided, and should include in the "detail"
            attribute more information about the source of the problem.

            If the response to a GET request which queries a container resource
            would be so big that the performance of the API producer is
            adversely affected, and the API producer does not support paging for
            the affected resource, it shall respond with this response code. The
            "ProblemDetails" structure shall be provided, and should include in
            the "detail" attribute more information about the source of the
            problem.

            If there is an application error related to the client's input that
            cannot be easily mapped to any other HTTP response code ("catch all
            error"), the API producer shall respond with this response code. The
            "ProblemDetails" structure shall be provided, and shall include in
            the "detail" attribute more information about the source of the
            problem.

            If the request contains a malformed access token, the API producer
            should respond with this response. The details of the error shall be
            returned in the WWW Authenticate HTTP header, as defined in IETF RFC
            6750 and IETF RFC 7235. The ProblemDetails structure may be
            provided.

            The use of this HTTP error response code described above is
            applicable to the use of the OAuth 2.0 for the authorization of API
            requests and notifications, as defined in clauses 4.5.3.3 and
            4.5.3.4.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '401':
          description: >
            401 UNAUTHORIZED

            If the request contains no access token even though one is required,
            or if the request contains an authorization token that is invalid
            (e.g. expired or revoked), the API producer should respond with this
            response. The details of the error shall be returned in the
            WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF
            RFC 7235. The ProblemDetails structure may be provided.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '403':
          description: >
            403 FORBIDDEN

            If the API consumer is not allowed to perform a particular request
            to a particular resource, the API producer shall respond with this
            response code. The "ProblemDetails" structure shall be provided. It
            should include in the "detail" attribute information about the
            source of the problem, and may indicate how to solve it.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '404':
          description: >
            404 NOT FOUND

            If the API producer did not find a current representation for the
            resource addressed by the URI passed in the request or is not
            willing to disclose that one exists, it shall respond with this
            response code. The "ProblemDetails" structure may be provided,
            including in the "detail" attribute information about the source of
            the problem, e.g. a wrong resource URI variable.

            This response code is not appropriate in case the resource addressed
            by the URI is a container resource which is designed to contain
            child resources, but does not contain any child resource at the time
            the request is received. For a GET request to an existing empty
            container resource, a typical response contains a 200 OK response
            code and a payload body with an empty array.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '405':
          description: >
            405 METHOD NOT ALLOWED

            If a particular HTTP method is not supported for a particular
            resource, the API producer shall respond with this response code.
            The "ProblemDetails" structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '406':
          description: >
            406 NOT ACCEPTABLE

            If the "Accept" HTTP header does not contain at least one name of a
            content type that is acceptable to the API producer, the API
            producer shall respond with this response code. The "ProblemDetails"
            structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '500':
          description: >
            500 INTERNAL SERVER ERROR

            If there is an application error not related to the client's input
            that cannot be easily mapped to any other HTTP response code ("catch
            all error"), the API producer shall respond with this response code.
            The "ProblemDetails" structure shall be provided, and shall include
            in the "detail" attribute more information about the source of the
            problem.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '503':
          description: >
            503 SERVICE UNAVAILABLE

            If the API producer encounters an internal overload situation of
            itself or of a system it relies on, it should respond with this
            response code, following the provisions in IETF RFC 7231 for the use
            of the "Retry-After" HTTP header and for the alternative to refuse
            the connection. The "ProblemDetails" structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '504':
          description: >
            504 GATEWAY TIMEOUT

            If the API producer encounters a timeout while waiting for a
            response from an upstream server (i.e. a server that the API
            producer communicates with when fulfilling a request), it should
            respond with this response code.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
    put:
      summary: Download the content of external VNF package artifacts.
      description: >
        The PUT method provides the access configuration information for the
        NFVO to download the content of external

        VNF package artifacts. As precondition for invoking this method, the
        individual VNF package resource shall have

        been created, and the value of "onboardingState" attribute shall equal
        to "CREATED" or "ERROR". The resource

        representation in the payload body of the PUT request shall replace the
        current state of the resource. This method

        shall follow the provisions specified in the Tables 9.4.4a.3.3-1 and
        9.4.4a.3.3-2 for URI query parameters, request

        and response data structures, and response codes.
      parameters:
        - name: Content-Type
          description: |
            The MIME type of the body of the request. Reference: IETF RFC 7231
          in: header
          required: true
          schema:
            type: string
      requestBody:
        description: >
          The payload body contains the access configuration information based
          on which the NFVO can obtain the

          external VNF package artifact files.
        content:
          application/json:
            schema:
              description: >
                This type represents the access configuration information for
                downloading external VNF package artifacts. The NFVO can obtain
                the external VNF package artifact file through the information
                provided in this structure, together with information provided
                in the manifest / VNFD. The data structure shall comply with the
                provisions defined in Table 9.5.2.10-1. If the data structure is
                part of a response body, security-sensitive attributes shall be
                excluded as specified in Table 9.5.2.10-1.
              type: object
              properties:
                artifact:
                  description: |
                    Access configuration information for an external artifact.
                  type: object
                  required:
                    - artifactUri
                  properties:
                    artifactUri:
                      description: |
                        String formatted according to IETF RFC 3986.
                      type: string
                      format: uri
                    overrideUri:
                      description: |
                        String formatted according to IETF RFC 3986.
                      type: string
                      format: uri
                    authType:
                      description: >
                        Defines the type of authentication / authorization for
                        downloading the VNF package. Permitted values: - BASIC:
                        Only the "username" and "password" attributes shall be
                        present. - OAUTH2_CLIENT_CREDENTIAL S: Only the
                        "paramsOauth2ClientCredentials" attribute shall be
                        present. This attribute shall not be present if no
                        credentials are provided for the artifact.
                      type: string
                      enum:
                        - BASIC
                        - OAUTH2_CLIENT_CREDENTIALS
                    username:
                      description: |
                        User name to be used for authentication.
                      type: string
                    password:
                      description: >
                        Password to be used for authentication. Shall not be
                        present in response bodies.
                      type: string
                    paramsOauth2ClientCredentials:
                      description: >
                        Parameters for authentication/authorization using
                        OAUTH2_CLIENT_CREDENTIALS.
                      type: object
                      required:
                        - clientId
                        - clientPassword
                        - tokenEndpoint
                      properties:
                        clientId:
                          description: >
                            Client identifier to be used in the access token
                            request of the OAuth 2.0 client credentials grant
                            type.
                          type: string
                        clientPassword:
                          description: >
                            Client password to be used in the access token
                            request of the OAuth 2.0 client credentials grant
                            type. Shall not be present in response bodies.
                          type: string
                        tokenEndpoint:
                          description: |
                            String formatted according to IETF RFC 3986.
                          type: string
                          format: uri
        required: true
      responses:
        '200':
          description: >
            200 OK

            Shall be returned when the attribute "onboardingState" = "CREATED"
            or when the attribute "onboardingState" = "ERROR"

            and the VNF package has not been uploaded successfully previously,
            to indicate that the access configuration information

            has been stored successfully by the NFVO. The response body shall
            contain a representation of the state of the resource.
          headers:
            Version:
              description: |
                Version of the API used in the response.
              style: simple
              explode: false
              schema:
                type: string
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the

                corresponding HTTP request has provided an invalid authorization
                token.
              style: simple
              explode: false
              schema:
                type: string
            Content-Type:
              description: The MIME type of the body of the response.
              style: simple
              explode: false
              schema:
                type: string
          content:
            application/json:
              schema:
                description: >
                  This type represents the access configuration information for
                  downloading external VNF package artifacts. The NFVO can
                  obtain the external VNF package artifact file through the
                  information provided in this structure, together with
                  information provided in the manifest / VNFD. The data
                  structure shall comply with the provisions defined in Table
                  9.5.2.10-1. If the data structure is part of a response body,
                  security-sensitive attributes shall be excluded as specified
                  in Table 9.5.2.10-1.
                type: object
                properties:
                  artifact:
                    description: |
                      Access configuration information for an external artifact.
                    type: object
                    required:
                      - artifactUri
                    properties:
                      artifactUri:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                        format: uri
                      overrideUri:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                        format: uri
                      authType:
                        description: >
                          Defines the type of authentication / authorization for
                          downloading the VNF package. Permitted values: -
                          BASIC: Only the "username" and "password" attributes
                          shall be present. - OAUTH2_CLIENT_CREDENTIAL S: Only
                          the "paramsOauth2ClientCredentials" attribute shall be
                          present. This attribute shall not be present if no
                          credentials are provided for the artifact.
                        type: string
                        enum:
                          - BASIC
                          - OAUTH2_CLIENT_CREDENTIALS
                      username:
                        description: |
                          User name to be used for authentication.
                        type: string
                      password:
                        description: >
                          Password to be used for authentication. Shall not be
                          present in response bodies.
                        type: string
                      paramsOauth2ClientCredentials:
                        description: >
                          Parameters for authentication/authorization using
                          OAUTH2_CLIENT_CREDENTIALS.
                        type: object
                        required:
                          - clientId
                          - clientPassword
                          - tokenEndpoint
                        properties:
                          clientId:
                            description: >
                              Client identifier to be used in the access token
                              request of the OAuth 2.0 client credentials grant
                              type.
                            type: string
                          clientPassword:
                            description: >
                              Client password to be used in the access token
                              request of the OAuth 2.0 client credentials grant
                              type. Shall not be present in response bodies.
                            type: string
                          tokenEndpoint:
                            description: |
                              String formatted according to IETF RFC 3986.
                            type: string
                            format: uri
        '202':
          description: |
            202 ACCEPTED
          headers:
            Version:
              description: |
                Version of the API used in the response.
              style: simple
              explode: false
              schema:
                type: string
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the

                corresponding HTTP request has provided an invalid authorization
                token.
              style: simple
              explode: false
              schema:
                type: string
            Content-Type:
              description: The MIME type of the body of the response.
              style: simple
              explode: false
              schema:
                type: string
            Location:
              description: The resource URI of the created NS instance
              style: simple
              explode: false
              schema:
                type: string
                format: url
          content: {}
        '400':
          description: >
            400 BAD REQUEST

            400 code can be returned in the following specified cases, the
            specific cause has to be proper specified in the "ProblemDetails"
            structure to be returned.

            If the request is malformed or syntactically incorrect (e.g. if the
            request URI contains incorrect query parameters or the payload body
            contains a syntactically incorrect data structure), the API producer
            shall respond with this response code. The "ProblemDetails"
            structure shall be provided, and should include in the "detail"
            attribute more information about the source of the problem.

            If the response to a GET request which queries a container resource
            would be so big that the performance of the API producer is
            adversely affected, and the API producer does not support paging for
            the affected resource, it shall respond with this response code. The
            "ProblemDetails" structure shall be provided, and should include in
            the "detail" attribute more information about the source of the
            problem.

            If there is an application error related to the client's input that
            cannot be easily mapped to any other HTTP response code ("catch all
            error"), the API producer shall respond with this response code. The
            "ProblemDetails" structure shall be provided, and shall include in
            the "detail" attribute more information about the source of the
            problem.

            If the request contains a malformed access token, the API producer
            should respond with this response. The details of the error shall be
            returned in the WWW Authenticate HTTP header, as defined in IETF RFC
            6750 and IETF RFC 7235. The ProblemDetails structure may be
            provided.

            The use of this HTTP error response code described above is
            applicable to the use of the OAuth 2.0 for the authorization of API
            requests and notifications, as defined in clauses 4.5.3.3 and
            4.5.3.4.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '401':
          description: >
            401 UNAUTHORIZED

            If the request contains no access token even though one is required,
            or if the request contains an authorization token that is invalid
            (e.g. expired or revoked), the API producer should respond with this
            response. The details of the error shall be returned in the
            WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF
            RFC 7235. The ProblemDetails structure may be provided.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '403':
          description: >
            403 FORBIDDEN

            If the API consumer is not allowed to perform a particular request
            to a particular resource, the API producer shall respond with this
            response code. The "ProblemDetails" structure shall be provided. It
            should include in the "detail" attribute information about the
            source of the problem, and may indicate how to solve it.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '404':
          description: >
            404 NOT FOUND

            If the API producer did not find a current representation for the
            resource addressed by the URI passed in the request or is not
            willing to disclose that one exists, it shall respond with this
            response code. The "ProblemDetails" structure may be provided,
            including in the "detail" attribute information about the source of
            the problem, e.g. a wrong resource URI variable.

            This response code is not appropriate in case the resource addressed
            by the URI is a container resource which is designed to contain
            child resources, but does not contain any child resource at the time
            the request is received. For a GET request to an existing empty
            container resource, a typical response contains a 200 OK response
            code and a payload body with an empty array.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '405':
          description: >
            405 METHOD NOT ALLOWED

            If a particular HTTP method is not supported for a particular
            resource, the API producer shall respond with this response code.
            The "ProblemDetails" structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '406':
          description: >
            406 NOT ACCEPTABLE

            If the "Accept" HTTP header does not contain at least one name of a
            content type that is acceptable to the API producer, the API
            producer shall respond with this response code. The "ProblemDetails"
            structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '409':
          description: |
            409 CONFLICT
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '500':
          description: >
            500 INTERNAL SERVER ERROR

            If there is an application error not related to the client's input
            that cannot be easily mapped to any other HTTP response code ("catch
            all error"), the API producer shall respond with this response code.
            The "ProblemDetails" structure shall be provided, and shall include
            in the "detail" attribute more information about the source of the
            problem.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '503':
          description: >
            503 SERVICE UNAVAILABLE

            If the API producer encounters an internal overload situation of
            itself or of a system it relies on, it should respond with this
            response code, following the provisions in IETF RFC 7231 for the use
            of the "Retry-After" HTTP header and for the alternative to refuse
            the connection. The "ProblemDetails" structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '504':
          description: >
            504 GATEWAY TIMEOUT

            If the API producer encounters a timeout while waiting for a
            response from an upstream server (i.e. a server that the API
            producer communicates with when fulfilling a request), it should
            respond with this response code.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
  '/vnf_packages/{vnfPkgId}/manifest':
    parameters:
      - name: vnfPkgId
        in: path
        description: >
          Identifier of the VNF package. The identifier is allocated by the
          NFVO.
        required: true
        style: simple
        explode: false
        schema:
          type: string
      - name: Version
        description: |
          Version of the API requested to use when responding to this request.
        in: header
        required: true
        schema:
          type: string
      - name: Authorization
        description: |
          The authorization token for the request. Reference: IETF RFC 7235.
        in: header
        required: false
        schema:
          type: string
    get:
      description: |
        The GET method reads the content of the manifest within a VNF package.
      parameters:
        - name: Accept
          description: >
            Content-Types that are acceptable for the response. Reference: IETF
            RFC 7231.
          in: header
          required: true
          schema:
            type: string
        - name: include_signatures
          description: >
            If this parameter is provided, the NFVO shall include in the ZIP
            archive the security information as specified above. This URI query
            parameter is a flag, i.e. it shall have no value. The NFVO shall
            support this parameter.
          in: query
          required: false
          schema:
            type: string
      responses:
        '200':
          description: >
            200 OK

            Shall be returned when the content of the manifest has been read
            successfully. If the "include_signatures" URI

            query parameter was absent in the request, or if the manifest file
            has all security-related information embedded

            (i.e. there is no separate certificate file), the payload body shall
            contain a copy of the manifest file of the

            VNF package, and the "Content-Type" HTTP header shall be set to
            "text/plain". If the "include_signatures" URI

            query parameter was present in the related request and the manifest
            file does not have all the security-related

            information embedded (i.e. there is a separate certificate file),
            the "Content-Type" HTTP header shall be set to

            "application/zip and the payload body shall contain a ZIP archive
            which includes: - a copy of the manifest file

            of the VNF package - a copy of the related individual certificate
            file.
          headers:
            Version:
              description: |
                Version of the API used in the response.
              style: simple
              explode: false
              schema:
                type: string
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the

                corresponding HTTP request has provided an invalid authorization
                token.
              style: simple
              explode: false
              schema:
                type: string
            Content-Type:
              description: The MIME type of the body of the response.
              style: simple
              explode: false
              schema:
                type: string
          content: {}
        '400':
          description: >
            400 BAD REQUEST

            400 code can be returned in the following specified cases, the
            specific cause has to be proper specified in the "ProblemDetails"
            structure to be returned.

            If the request is malformed or syntactically incorrect (e.g. if the
            request URI contains incorrect query parameters or the payload body
            contains a syntactically incorrect data structure), the API producer
            shall respond with this response code. The "ProblemDetails"
            structure shall be provided, and should include in the "detail"
            attribute more information about the source of the problem.

            If the response to a GET request which queries a container resource
            would be so big that the performance of the API producer is
            adversely affected, and the API producer does not support paging for
            the affected resource, it shall respond with this response code. The
            "ProblemDetails" structure shall be provided, and should include in
            the "detail" attribute more information about the source of the
            problem.

            If there is an application error related to the client's input that
            cannot be easily mapped to any other HTTP response code ("catch all
            error"), the API producer shall respond with this response code. The
            "ProblemDetails" structure shall be provided, and shall include in
            the "detail" attribute more information about the source of the
            problem.

            If the request contains a malformed access token, the API producer
            should respond with this response. The details of the error shall be
            returned in the WWW Authenticate HTTP header, as defined in IETF RFC
            6750 and IETF RFC 7235. The ProblemDetails structure may be
            provided.

            The use of this HTTP error response code described above is
            applicable to the use of the OAuth 2.0 for the authorization of API
            requests and notifications, as defined in clauses 4.5.3.3 and
            4.5.3.4.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '401':
          description: >
            401 UNAUTHORIZED

            If the request contains no access token even though one is required,
            or if the request contains an authorization token that is invalid
            (e.g. expired or revoked), the API producer should respond with this
            response. The details of the error shall be returned in the
            WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF
            RFC 7235. The ProblemDetails structure may be provided.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '403':
          description: >
            403 FORBIDDEN

            If the API consumer is not allowed to perform a particular request
            to a particular resource, the API producer shall respond with this
            response code. The "ProblemDetails" structure shall be provided. It
            should include in the "detail" attribute information about the
            source of the problem, and may indicate how to solve it.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '404':
          description: >
            404 NOT FOUND

            If the API producer did not find a current representation for the
            resource addressed by the URI passed in the request or is not
            willing to disclose that one exists, it shall respond with this
            response code. The "ProblemDetails" structure may be provided,
            including in the "detail" attribute information about the source of
            the problem, e.g. a wrong resource URI variable.

            This response code is not appropriate in case the resource addressed
            by the URI is a container resource which is designed to contain
            child resources, but does not contain any child resource at the time
            the request is received. For a GET request to an existing empty
            container resource, a typical response contains a 200 OK response
            code and a payload body with an empty array.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '405':
          description: >
            405 METHOD NOT ALLOWED

            If a particular HTTP method is not supported for a particular
            resource, the API producer shall respond with this response code.
            The "ProblemDetails" structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '406':
          description: >
            406 NOT ACCEPTABLE

            If the "Accept" HTTP header does not contain at least one name of a
            content type that is acceptable to the API producer, the API
            producer shall respond with this response code. The "ProblemDetails"
            structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '409':
          description: |
            409 CONFLICT
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '500':
          description: >
            500 INTERNAL SERVER ERROR

            If there is an application error not related to the client's input
            that cannot be easily mapped to any other HTTP response code ("catch
            all error"), the API producer shall respond with this response code.
            The "ProblemDetails" structure shall be provided, and shall include
            in the "detail" attribute more information about the source of the
            problem.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '503':
          description: >
            503 SERVICE UNAVAILABLE

            If the API producer encounters an internal overload situation of
            itself or of a system it relies on, it should respond with this
            response code, following the provisions in IETF RFC 7231 for the use
            of the "Retry-After" HTTP header and for the alternative to refuse
            the connection. The "ProblemDetails" structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '504':
          description: >
            504 GATEWAY TIMEOUT

            If the API producer encounters a timeout while waiting for a
            response from an upstream server (i.e. a server that the API
            producer communicates with when fulfilling a request), it should
            respond with this response code.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
  '/vnf_packages/{vnfPkgId}/package_content':
    parameters:
      - name: vnfPkgId
        in: path
        description: >
          Identifier of the VNF package. The identifier is allocated by the
          NFVO.
        required: true
        style: simple
        explode: false
        schema:
          type: string
      - name: Version
        description: |
          Version of the API requested to use when responding to this request.
        in: header
        required: true
        schema:
          type: string
      - name: Authorization
        description: |
          The authorization token for the request. Reference: IETF RFC 7235.
        in: header
        required: false
        schema:
          type: string
    get:
      summary: Fetch an on-boarded VNF package.
      description: >
        The GET method fetches the content of a VNF package identified by the
        VNF package identifier allocated by the

        NFVO. The content of the package is provided as onboarded, i.e.
        depending on the security option used, the CSAR

        or the CSAR wrapped in a ZIP archive together with an external signature
        is returned, as defined in clause 5.1

        of ETSI GS NFV-SOL 004 [5]. NOTE: Information about the applicable
        security option can be obtained by evaluating

        the "packageSecurityOption" attribute in the "VnfPkgInfo" structure.
        This method shall follow the provisions

        specified in the Tables 9.4.5.3.2-1 and 9.4.5.3.2-2 for URI query
        parameters, request and response data structures,

        and response codes.
      parameters:
        - name: Accept
          description: >
            Content-Types that are acceptable for the response. Reference: IETF
            RFC 7231.
          in: header
          required: true
          schema:
            type: string
        - name: Range
          in: header
          description: >
            The request may contain a "Range" HTTP header to obtain single range
            of bytes from the resource file.

            This can be used to continue an aborted transmission.

            If the NFVO does not support range requests, it should return the
            whole file with a 200 OK response instead.
          required: false
          style: simple
          explode: false
          schema:
            type: string
      responses:
        '200':
          description: >
            200 OK

            Shall be returned when the whole content of the VNF package file has
            been read successfully. The response body

            shall include a copy of the VNF package file. The "Content-Type"
            HTTP header shall be set according to the type

            of the file, i.e. to "application/zip" for a VNF Package as defined
            in ETSI GS NFV-SOL 004.
          headers:
            Version:
              description: |
                Version of the API used in the response.
              style: simple
              explode: false
              schema:
                type: string
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the

                corresponding HTTP request has provided an invalid authorization
                token.
              style: simple
              explode: false
              schema:
                type: string
            Content-Type:
              description: The MIME type of the body of the response.
              style: simple
              explode: false
              schema:
                type: string
          content: {}
        '206':
          description: |
            206 PARTIAL CONTENT
          headers:
            Content-Type:
              description: |
                The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            Content-Range:
              description: >
                The Content-Range response HTTP header indicates where in a full
                body message a partial message belongs.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '400':
          description: >
            400 BAD REQUEST

            400 code can be returned in the following specified cases, the
            specific cause has to be proper specified in the "ProblemDetails"
            structure to be returned.

            If the request is malformed or syntactically incorrect (e.g. if the
            request URI contains incorrect query parameters or the payload body
            contains a syntactically incorrect data structure), the API producer
            shall respond with this response code. The "ProblemDetails"
            structure shall be provided, and should include in the "detail"
            attribute more information about the source of the problem.

            If the response to a GET request which queries a container resource
            would be so big that the performance of the API producer is
            adversely affected, and the API producer does not support paging for
            the affected resource, it shall respond with this response code. The
            "ProblemDetails" structure shall be provided, and should include in
            the "detail" attribute more information about the source of the
            problem.

            If there is an application error related to the client's input that
            cannot be easily mapped to any other HTTP response code ("catch all
            error"), the API producer shall respond with this response code. The
            "ProblemDetails" structure shall be provided, and shall include in
            the "detail" attribute more information about the source of the
            problem.

            If the request contains a malformed access token, the API producer
            should respond with this response. The details of the error shall be
            returned in the WWW Authenticate HTTP header, as defined in IETF RFC
            6750 and IETF RFC 7235. The ProblemDetails structure may be
            provided.

            The use of this HTTP error response code described above is
            applicable to the use of the OAuth 2.0 for the authorization of API
            requests and notifications, as defined in clauses 4.5.3.3 and
            4.5.3.4.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '401':
          description: >
            401 UNAUTHORIZED

            If the request contains no access token even though one is required,
            or if the request contains an authorization token that is invalid
            (e.g. expired or revoked), the API producer should respond with this
            response. The details of the error shall be returned in the
            WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF
            RFC 7235. The ProblemDetails structure may be provided.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '403':
          description: >
            403 FORBIDDEN

            If the API consumer is not allowed to perform a particular request
            to a particular resource, the API producer shall respond with this
            response code. The "ProblemDetails" structure shall be provided. It
            should include in the "detail" attribute information about the
            source of the problem, and may indicate how to solve it.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '404':
          description: >
            404 NOT FOUND

            If the API producer did not find a current representation for the
            resource addressed by the URI passed in the request or is not
            willing to disclose that one exists, it shall respond with this
            response code. The "ProblemDetails" structure may be provided,
            including in the "detail" attribute information about the source of
            the problem, e.g. a wrong resource URI variable.

            This response code is not appropriate in case the resource addressed
            by the URI is a container resource which is designed to contain
            child resources, but does not contain any child resource at the time
            the request is received. For a GET request to an existing empty
            container resource, a typical response contains a 200 OK response
            code and a payload body with an empty array.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '405':
          description: >
            405 METHOD NOT ALLOWED

            If a particular HTTP method is not supported for a particular
            resource, the API producer shall respond with this response code.
            The "ProblemDetails" structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '406':
          description: >
            406 NOT ACCEPTABLE

            If the "Accept" HTTP header does not contain at least one name of a
            content type that is acceptable to the API producer, the API
            producer shall respond with this response code. The "ProblemDetails"
            structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '409':
          description: |
            409 CONFLICT
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '416':
          description: |
            416 Range Not Satisfiable
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '500':
          description: >
            500 INTERNAL SERVER ERROR

            If there is an application error not related to the client's input
            that cannot be easily mapped to any other HTTP response code ("catch
            all error"), the API producer shall respond with this response code.
            The "ProblemDetails" structure shall be provided, and shall include
            in the "detail" attribute more information about the source of the
            problem.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '503':
          description: >
            503 SERVICE UNAVAILABLE

            If the API producer encounters an internal overload situation of
            itself or of a system it relies on, it should respond with this
            response code, following the provisions in IETF RFC 7231 for the use
            of the "Retry-After" HTTP header and for the alternative to refuse
            the connection. The "ProblemDetails" structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '504':
          description: >
            504 GATEWAY TIMEOUT

            If the API producer encounters a timeout while waiting for a
            response from an upstream server (i.e. a server that the API
            producer communicates with when fulfilling a request), it should
            respond with this response code.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
    put:
      summary: Upload a VNF package by providing the content of the VNF package.
      description: >
        The PUT method uploads the content of a VNF package. This method shall
        follow the provisions specified in the

        Tables 9.4.5.3.3-1 and 9.4.5.3.3-2 for URI query parameters, request and
        response data structures, and response

        codes. Upon start of the upload of the package, the NFVO shall set the
        "onboardingState" attribute in the "VnfPkgInfo"

        structure to "UPLOADING". Upon successful upload of the package, if the
        package references external artifacts, the

        NFVO shall obtain the external artifacts. Subsequently, upon success,
        the NFVO shall set that attribute to "PROCESSING"

        and shall process the package, which shall include checking package
        consistency. Upon successful processing, the NFVO

        shall set the "onboardingState" attribute to "ONBOARDED". If an error
        occurs during uploading the package, downloading

        the external artifacts or processing the package, the NFVO shall set the
        "onboardingState" attribute to "ERROR" and

        shall populate the "onboardingFailureDetails" attribute in "VnfPkgInfo".
      parameters:
        - name: Accept
          description: >
            Content-Types that are acceptable for the response. Reference: IETF
            RFC 7231.
          in: header
          required: true
          schema:
            type: string
        - name: Content-Type
          description: |
            The MIME type of the body of the request. Reference: IETF RFC 7231
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/binary:
            schema:
              properties:
                file:
                  type: string
                  description: >
                    The payload body contains a ZIP file that represents the VNF
                    package. The "Content-Type" HTTP header shall

                    be set according to the type of the file, i.e. to
                    "application/zip" for a VNF Package as defined in ETSI GS
                    NFV-SOL 004.
                  format: binary
        required: true
      responses:
        '202':
          description: >
            202 ACCEPTED

            Shall be returned when the VNF package has been accepted for
            uploading, but the processing has not been completed.

            It is expected to take some time for processing. The response body
            shall be empty. See note.
          headers:
            Version:
              description: |
                Version of the API used in the response.
              style: simple
              explode: false
              schema:
                type: string
          content: {}
        '400':
          description: >
            400 BAD REQUEST

            400 code can be returned in the following specified cases, the
            specific cause has to be proper specified in the "ProblemDetails"
            structure to be returned.

            If the request is malformed or syntactically incorrect (e.g. if the
            request URI contains incorrect query parameters or the payload body
            contains a syntactically incorrect data structure), the API producer
            shall respond with this response code. The "ProblemDetails"
            structure shall be provided, and should include in the "detail"
            attribute more information about the source of the problem.

            If the response to a GET request which queries a container resource
            would be so big that the performance of the API producer is
            adversely affected, and the API producer does not support paging for
            the affected resource, it shall respond with this response code. The
            "ProblemDetails" structure shall be provided, and should include in
            the "detail" attribute more information about the source of the
            problem.

            If there is an application error related to the client's input that
            cannot be easily mapped to any other HTTP response code ("catch all
            error"), the API producer shall respond with this response code. The
            "ProblemDetails" structure shall be provided, and shall include in
            the "detail" attribute more information about the source of the
            problem.

            If the request contains a malformed access token, the API producer
            should respond with this response. The details of the error shall be
            returned in the WWW Authenticate HTTP header, as defined in IETF RFC
            6750 and IETF RFC 7235. The ProblemDetails structure may be
            provided.

            The use of this HTTP error response code described above is
            applicable to the use of the OAuth 2.0 for the authorization of API
            requests and notifications, as defined in clauses 4.5.3.3 and
            4.5.3.4.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '401':
          description: >
            401 UNAUTHORIZED

            If the request contains no access token even though one is required,
            or if the request contains an authorization token that is invalid
            (e.g. expired or revoked), the API producer should respond with this
            response. The details of the error shall be returned in the
            WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF
            RFC 7235. The ProblemDetails structure may be provided.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '403':
          description: >
            403 FORBIDDEN

            If the API consumer is not allowed to perform a particular request
            to a particular resource, the API producer shall respond with this
            response code. The "ProblemDetails" structure shall be provided. It
            should include in the "detail" attribute information about the
            source of the problem, and may indicate how to solve it.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '404':
          description: >
            404 NOT FOUND

            If the API producer did not find a current representation for the
            resource addressed by the URI passed in the request or is not
            willing to disclose that one exists, it shall respond with this
            response code. The "ProblemDetails" structure may be provided,
            including in the "detail" attribute information about the source of
            the problem, e.g. a wrong resource URI variable.

            This response code is not appropriate in case the resource addressed
            by the URI is a container resource which is designed to contain
            child resources, but does not contain any child resource at the time
            the request is received. For a GET request to an existing empty
            container resource, a typical response contains a 200 OK response
            code and a payload body with an empty array.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '405':
          description: >
            405 METHOD NOT ALLOWED

            If a particular HTTP method is not supported for a particular
            resource, the API producer shall respond with this response code.
            The "ProblemDetails" structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '406':
          description: >
            406 NOT ACCEPTABLE

            If the "Accept" HTTP header does not contain at least one name of a
            content type that is acceptable to the API producer, the API
            producer shall respond with this response code. The "ProblemDetails"
            structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '409':
          description: |
            409 CONFLICT
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '416':
          description: |
            416 Range Not Satisfiable
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '500':
          description: >
            500 INTERNAL SERVER ERROR

            If there is an application error not related to the client's input
            that cannot be easily mapped to any other HTTP response code ("catch
            all error"), the API producer shall respond with this response code.
            The "ProblemDetails" structure shall be provided, and shall include
            in the "detail" attribute more information about the source of the
            problem.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '503':
          description: >
            503 SERVICE UNAVAILABLE

            If the API producer encounters an internal overload situation of
            itself or of a system it relies on, it should respond with this
            response code, following the provisions in IETF RFC 7231 for the use
            of the "Retry-After" HTTP header and for the alternative to refuse
            the connection. The "ProblemDetails" structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '504':
          description: >
            504 GATEWAY TIMEOUT

            If the API producer encounters a timeout while waiting for a
            response from an upstream server (i.e. a server that the API
            producer communicates with when fulfilling a request), it should
            respond with this response code.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
  '/vnf_packages/{vnfPkgId}/artifacts':
    parameters:
      - name: vnfPkgId
        in: path
        description: >
          Identifier of the VNF package. The identifier is allocated by the
          NFVO.
        required: true
        style: simple
        explode: false
        schema:
          type: string
      - name: Version
        description: |
          Version of the API requested to use when responding to this request.
        in: header
        required: true
        schema:
          type: string
      - name: Authorization
        description: |
          The authorization token for the request. Reference: IETF RFC 7235.
        in: header
        required: false
        schema:
          type: string
    get:
      summary: Fetch set of VNF package artifacts.
      description: >
        The GET method shall return an archive that contains a set of artifacts
        according to the provisions for

        inclusion/exclusion defined below, embedded in a directory structure
        being the same as in the VNF package.

        The criteria for exclusion/inclusion of an artifact in the archive are
        defined as follows:

        * Artifacts that are software images shall be excluded from the archive.

        * Artifacts that are external to the VNF package shall be excluded from
        the archive.

        * All additional artifacts included in the VNF package that are MANO
        artifacts shall be included in the archive,
          unless the URI query parameter "exclude_all_mano_artifacts" has been provided, in which case such artifacts
          shall be excluded.
        * All additional artifacts included in the VNF package that are non-MANO
        artifacts shall be included in the archive,
          unless:
          - the URI query parameter "exclude_all_non_mano_artifacts" has been provided, in which case such artifacts shall
            be excluded;
          - the URI query parameter "select_non_mano_artifact_sets" has been provided and is supported by the NFVO,
            in which case only those non-MANO artifacts shall be included whose non-MANO artifact set identifier matches
            one of the values of the query parameter. Package metadata such as manifest file or VNFD shall not be included
            in the archive. This method shall follow the provisions specified in the Tables 9.4.5a.3.2-1 and 9.4.5a.3.2-2
            for URI query parameters, request and response data structures, and response codes.
      parameters:
        - name: Accept
          description: >
            Content-Types that are acceptable for the response. Reference: IETF
            RFC 7231.
          in: header
          required: true
          schema:
            type: string
        - name: Range
          in: header
          description: >
            The request may contain a "Range" HTTP header to obtain single range
            of bytes from the resource file.

            This can be used to continue an aborted transmission.

            If the NFVO does not support range requests, it should return the
            whole file with a 200 OK response instead.
          required: false
          style: simple
          explode: false
          schema:
            type: string
        - name: include_signatures
          description: >
            If this parameter is provided, the NFVO shall include in the ZIP
            archive the security information as specified above. This URI query
            parameter is a flag, i.e. it shall have no value. The NFVO shall
            support this parameter.
          in: query
          required: false
          schema:
            type: string
        - name: exclude_all_mano_artifacts
          in: query
          description: >
            Flag (i.e. parameter without value) that instructs the NFVO to
            exclude the set of additional MANO artifacts

            (i.e. those that are not images) from the response payload body. The
            NFVO shall support this parameter.

            The VNFM may supply this parameter.
          required: false
          style: form
          explode: true
          schema:
            type: string
        - name: exclude_all_non_mano_artifacts
          in: query
          description: >
            Flag (i.e. parameter without value) that instructs the NFVO to
            exclude the set of non-MANO artifacts from the

            response payload body. The NFVO shall support this parameter. The
            VNFM may supply this parameter.
          required: false
          style: form
          explode: true
          schema:
            type: string
        - name: select_non_mano_artifact_sets
          in: query
          description: >
            Comma-separated list of non-MANO artifact set identifiers for which
            the artifacts are to be included in the

            response body. The NFVO should support this parameter. If the NFVO
            does not support this parameter, it shall

            ignore it, i.e. provide a response as if no parameter was provided.
            The VNFM may supply this parameter.
          required: false
          style: form
          explode: true
          schema:
            type: string
        - name: include_external_artifacts
          in: query
          description: >
            Flag (i.e. parameter without value) that instructs the NFVO to
            include external artifacts in the response

            payload body. It shall not be treated as an error if this flag is
            provided but there is no external artifact

            to include in the result. If this parameter is missing, no external
            artifacts shall be included.

            The NFVO shall support this parameter. The OSS/BSS may supply this
            parameter.
          required: false
          style: form
          explode: true
          schema:
            type: string
      responses:
        '200':
          description: >
            200 OK

            Shall be returned when the whole content of the archive containing
            the artifact files has been read successfully.

            The payload body shall be a ZIP archive containing the requested set
            of artifacts selected according to the provisions

            specified above in this clause, and, if the flag
            "include_signatures" was provided in the related request, the

            applicable signature files and, if available, the separate
            certificate files from the VNF package.

            The "Content-Type" HTTP header shall be set to "application/zip".
          headers:
            Version:
              description: |
                Version of the API used in the response.
              style: simple
              explode: false
              schema:
                type: string
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the

                corresponding HTTP request has provided an invalid authorization
                token.
              style: simple
              explode: false
              schema:
                type: string
            Content-Type:
              description: The MIME type of the body of the response.
              style: simple
              explode: false
              schema:
                type: string
          content: {}
        '206':
          description: |
            206 PARTIAL CONTENT
          headers:
            Content-Type:
              description: |
                The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            Content-Range:
              description: >
                The Content-Range response HTTP header indicates where in a full
                body message a partial message belongs.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '400':
          description: >
            400 BAD REQUEST

            400 code can be returned in the following specified cases, the
            specific cause has to be proper specified in the "ProblemDetails"
            structure to be returned.

            If the request is malformed or syntactically incorrect (e.g. if the
            request URI contains incorrect query parameters or the payload body
            contains a syntactically incorrect data structure), the API producer
            shall respond with this response code. The "ProblemDetails"
            structure shall be provided, and should include in the "detail"
            attribute more information about the source of the problem.

            If the response to a GET request which queries a container resource
            would be so big that the performance of the API producer is
            adversely affected, and the API producer does not support paging for
            the affected resource, it shall respond with this response code. The
            "ProblemDetails" structure shall be provided, and should include in
            the "detail" attribute more information about the source of the
            problem.

            If there is an application error related to the client's input that
            cannot be easily mapped to any other HTTP response code ("catch all
            error"), the API producer shall respond with this response code. The
            "ProblemDetails" structure shall be provided, and shall include in
            the "detail" attribute more information about the source of the
            problem.

            If the request contains a malformed access token, the API producer
            should respond with this response. The details of the error shall be
            returned in the WWW Authenticate HTTP header, as defined in IETF RFC
            6750 and IETF RFC 7235. The ProblemDetails structure may be
            provided.

            The use of this HTTP error response code described above is
            applicable to the use of the OAuth 2.0 for the authorization of API
            requests and notifications, as defined in clauses 4.5.3.3 and
            4.5.3.4.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '401':
          description: >
            401 UNAUTHORIZED

            If the request contains no access token even though one is required,
            or if the request contains an authorization token that is invalid
            (e.g. expired or revoked), the API producer should respond with this
            response. The details of the error shall be returned in the
            WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF
            RFC 7235. The ProblemDetails structure may be provided.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '403':
          description: >
            403 FORBIDDEN

            If the API consumer is not allowed to perform a particular request
            to a particular resource, the API producer shall respond with this
            response code. The "ProblemDetails" structure shall be provided. It
            should include in the "detail" attribute information about the
            source of the problem, and may indicate how to solve it.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '404':
          description: >
            404 NOT FOUND

            If the API producer did not find a current representation for the
            resource addressed by the URI passed in the request or is not
            willing to disclose that one exists, it shall respond with this
            response code. The "ProblemDetails" structure may be provided,
            including in the "detail" attribute information about the source of
            the problem, e.g. a wrong resource URI variable.

            This response code is not appropriate in case the resource addressed
            by the URI is a container resource which is designed to contain
            child resources, but does not contain any child resource at the time
            the request is received. For a GET request to an existing empty
            container resource, a typical response contains a 200 OK response
            code and a payload body with an empty array.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '405':
          description: >
            405 METHOD NOT ALLOWED

            If a particular HTTP method is not supported for a particular
            resource, the API producer shall respond with this response code.
            The "ProblemDetails" structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '406':
          description: >
            406 NOT ACCEPTABLE

            If the "Accept" HTTP header does not contain at least one name of a
            content type that is acceptable to the API producer, the API
            producer shall respond with this response code. The "ProblemDetails"
            structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '409':
          description: |
            409 CONFLICT
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '416':
          description: |
            416 Range Not Satisfiable
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '500':
          description: >
            500 INTERNAL SERVER ERROR

            If there is an application error not related to the client's input
            that cannot be easily mapped to any other HTTP response code ("catch
            all error"), the API producer shall respond with this response code.
            The "ProblemDetails" structure shall be provided, and shall include
            in the "detail" attribute more information about the source of the
            problem.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '503':
          description: >
            503 SERVICE UNAVAILABLE

            If the API producer encounters an internal overload situation of
            itself or of a system it relies on, it should respond with this
            response code, following the provisions in IETF RFC 7231 for the use
            of the "Retry-After" HTTP header and for the alternative to refuse
            the connection. The "ProblemDetails" structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '504':
          description: >
            504 GATEWAY TIMEOUT

            If the API producer encounters a timeout while waiting for a
            response from an upstream server (i.e. a server that the API
            producer communicates with when fulfilling a request), it should
            respond with this response code.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
  '/vnf_packages/{vnfPkgId}/package_content/upload_from_uri':
    parameters:
      - name: vnfPkgId
        in: path
        description: >
          Identifier of the VNF package. The identifier is allocated by the
          NFVO.
        required: true
        style: simple
        explode: false
        schema:
          type: string
      - name: Version
        description: |
          Version of the API requested to use when responding to this request.
        in: header
        required: true
        schema:
          type: string
      - name: Authorization
        description: |
          The authorization token for the request. Reference: IETF RFC 7235.
        in: header
        required: false
        schema:
          type: string
    post:
      summary: >-
        Upload a VNF package by providing the address information of the VNF
        package.
      description: >
        The POST method provides the information for the NFVO to get the content
        of a VNF package. This method shall

        follow the provisions specified in the Tables 9.4.6.3.1-1 and
        9.4.6.3.1-2 for URI query parameters, request

        and response data structures, and response codes. Upon start of
        obtaining the package, the NFVO shall set the

        "onboardingState" attribute in the "VnfPkgInfo" structure to
        "UPLOADING". Upon successfully obtaining the

        package, if the package references external artifacts, the NFVO shall
        obtain the external artifacts. Subsequently,

        upon success, the NFVO shall set that attribute to "PROCESSING" and
        shall process the package, which shall include

        checking package consistency. Upon successful processing, the NFVO shall
        set the "onboardingState" attribute to

        "ONBOARDED", the "operationalState" attribute to "ENABLED", and the
        "usageState" attribute to "NOT_IN_USE".

        In addition, the NFVO shall set the value of the attributes in the
        "VnfPkgInfo" that are copied from the VNFD

        (refer to clause 9.5.2.5). If an error occurs during obtaining the
        package, downloading the external artifacts or processing

        the package, the NFVO shall set the "onboardingState" attribute to
        "ERROR" and shall populate the "onboardingFailureDetails"

        attribute in "VnfPkgInfo".
      parameters:
        - name: Content-Type
          description: |
            The MIME type of the body of the request. Reference: IETF RFC 7231
          in: header
          required: true
          schema:
            type: string
      requestBody:
        description: >
          The payload body contains the address information based on which the
          NFVO can obtain the content of the VNF package.
        content:
          application/json:
            schema:
              description: >
                This type represents the request parameters for uploading the
                content of a VNF package. The NFVO can obtain the VNF package
                content through the information provided in the request
                parameters. It shall comply with the provisions defined in Table
                9.5.2.4-1.
              type: object
              required:
                - addressInformation
              properties:
                addressInformation:
                  description: |
                    String formatted according to IETF RFC 3986.
                  type: string
                  format: uri
                authType:
                  description: >
                    Defines the type of authentication / authorization for
                    downloading the VNF package. Permitted values: - BASIC: Only
                    the "username" and "password" attributes shall be present. -
                    OAUTH2_CLIENT_CREDENTIAL S: Only the
                    "paramsOauth2ClientCredentials" attribute shall be present.
                    This attribute shall not be present if no credentials are
                    provided for the artifact.
                  type: string
                  enum:
                    - BASIC
                    - OAUTH2_CLIENT_CREDENTIALS
                username:
                  description: |
                    User name to be used for authentication.
                  type: string
                password:
                  description: >
                    Password to be used for authentication. Shall not be present
                    in response bodies.
                  type: string
                paramsOauth2ClientCredentials:
                  description: |
                    Parameters for authentication/authorization using OAuth 2.0.
                  type: object
                  required:
                    - clientId
                    - clientPassword
                    - tokenEndpoint
                  properties:
                    clientId:
                      description: >
                        Client identifier to be used in the access token request
                        of the OAuth 2.0 client credentials grant type.
                      type: string
                    clientPassword:
                      description: >
                        Client password to be used in the access token request
                        of the OAuth 2.0 client credentials grant type. Shall
                        not be present in response bodies.
                      type: string
                    tokenEndpoint:
                      description: |
                        String formatted according to IETF RFC 3986.
                      type: string
                      format: uri
        required: true
      responses:
        '202':
          description: >
            202 Accepted

            The information about the VNF package has been received
            successfully, but the on-boarding has not been completed.

            It is expected to take some time for processing. The response body
            shall be empty.
          headers:
            Version:
              description: |
                Version of the API used in the response.
              style: simple
              explode: false
              schema:
                type: string
          content: {}
        '400':
          description: >
            400 BAD REQUEST

            400 code can be returned in the following specified cases, the
            specific cause has to be proper specified in the "ProblemDetails"
            structure to be returned.

            If the request is malformed or syntactically incorrect (e.g. if the
            request URI contains incorrect query parameters or the payload body
            contains a syntactically incorrect data structure), the API producer
            shall respond with this response code. The "ProblemDetails"
            structure shall be provided, and should include in the "detail"
            attribute more information about the source of the problem.

            If the response to a GET request which queries a container resource
            would be so big that the performance of the API producer is
            adversely affected, and the API producer does not support paging for
            the affected resource, it shall respond with this response code. The
            "ProblemDetails" structure shall be provided, and should include in
            the "detail" attribute more information about the source of the
            problem.

            If there is an application error related to the client's input that
            cannot be easily mapped to any other HTTP response code ("catch all
            error"), the API producer shall respond with this response code. The
            "ProblemDetails" structure shall be provided, and shall include in
            the "detail" attribute more information about the source of the
            problem.

            If the request contains a malformed access token, the API producer
            should respond with this response. The details of the error shall be
            returned in the WWW Authenticate HTTP header, as defined in IETF RFC
            6750 and IETF RFC 7235. The ProblemDetails structure may be
            provided.

            The use of this HTTP error response code described above is
            applicable to the use of the OAuth 2.0 for the authorization of API
            requests and notifications, as defined in clauses 4.5.3.3 and
            4.5.3.4.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '401':
          description: >
            401 UNAUTHORIZED

            If the request contains no access token even though one is required,
            or if the request contains an authorization token that is invalid
            (e.g. expired or revoked), the API producer should respond with this
            response. The details of the error shall be returned in the
            WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF
            RFC 7235. The ProblemDetails structure may be provided.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '403':
          description: >
            403 FORBIDDEN

            If the API consumer is not allowed to perform a particular request
            to a particular resource, the API producer shall respond with this
            response code. The "ProblemDetails" structure shall be provided. It
            should include in the "detail" attribute information about the
            source of the problem, and may indicate how to solve it.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '404':
          description: >
            404 NOT FOUND

            If the API producer did not find a current representation for the
            resource addressed by the URI passed in the request or is not
            willing to disclose that one exists, it shall respond with this
            response code. The "ProblemDetails" structure may be provided,
            including in the "detail" attribute information about the source of
            the problem, e.g. a wrong resource URI variable.

            This response code is not appropriate in case the resource addressed
            by the URI is a container resource which is designed to contain
            child resources, but does not contain any child resource at the time
            the request is received. For a GET request to an existing empty
            container resource, a typical response contains a 200 OK response
            code and a payload body with an empty array.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '405':
          description: >
            405 METHOD NOT ALLOWED

            If a particular HTTP method is not supported for a particular
            resource, the API producer shall respond with this response code.
            The "ProblemDetails" structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '406':
          description: >
            406 NOT ACCEPTABLE

            If the "Accept" HTTP header does not contain at least one name of a
            content type that is acceptable to the API producer, the API
            producer shall respond with this response code. The "ProblemDetails"
            structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '409':
          description: |
            409 CONFLICT
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '416':
          description: |
            416 Range Not Satisfiable
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '500':
          description: >
            500 INTERNAL SERVER ERROR

            If there is an application error not related to the client's input
            that cannot be easily mapped to any other HTTP response code ("catch
            all error"), the API producer shall respond with this response code.
            The "ProblemDetails" structure shall be provided, and shall include
            in the "detail" attribute more information about the source of the
            problem.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '503':
          description: >
            503 SERVICE UNAVAILABLE

            If the API producer encounters an internal overload situation of
            itself or of a system it relies on, it should respond with this
            response code, following the provisions in IETF RFC 7231 for the use
            of the "Retry-After" HTTP header and for the alternative to refuse
            the connection. The "ProblemDetails" structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '504':
          description: >
            504 GATEWAY TIMEOUT

            If the API producer encounters a timeout while waiting for a
            response from an upstream server (i.e. a server that the API
            producer communicates with when fulfilling a request), it should
            respond with this response code.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
  '/vnf_packages/{vnfPkgId}/artifacts/{artifactPath}':
    parameters:
      - name: vnfPkgId
        in: path
        description: >
          Identifier of the VNF package. The identifier is allocated by the
          NFVO.
        required: true
        style: simple
        explode: false
        schema:
          type: string
      - name: artifactPath
        in: path
        description: >
          For an artifact contained as a file in the VNF package, this variable
          shall contain a sequence of one or more path

          segments representing the path of the artifact within the VNF package,
          relative to the root of the package.

          See note 3. EXAMPLE: foo/bar/m%40ster.sh For an external artifact
          represented as a URI in the VNF package manifest,

          this variable shall contain a sequence of one or more path segments as
          synthesized by the NFVO (see clause 9.5.3.3),

          representing this artifact. See note 2 and note 3
        required: true
        style: simple
        explode: false
        schema:
          type: string
      - name: Version
        description: |
          Version of the API requested to use when responding to this request.
        in: header
        required: true
        schema:
          type: string
      - name: Authorization
        description: |
          The authorization token for the request. Reference: IETF RFC 7235.
        in: header
        required: false
        schema:
          type: string
    get:
      summary: Fetch individual VNF package artifact.
      description: >
        The GET method fetches the content of an artifact within a VNF package.
        This method shall follow the provisions

        specified in the Tables 9.4.7.3.2-1 and 9.4.7.3.2-2 for URI query
        parameters, request and response data structures,

        and response codes.
      parameters:
        - name: Accept
          description: >
            Content-Types that are acceptable for the response. Reference: IETF
            RFC 7231.
          in: header
          required: true
          schema:
            type: string
        - name: Range
          in: header
          description: >
            The request may contain a "Range" HTTP header to obtain single range
            of bytes from the resource file.

            This can be used to continue an aborted transmission.

            If the NFVO does not support range requests, it should return the
            whole file with a 200 OK response instead.
          required: false
          style: simple
          explode: false
          schema:
            type: string
        - name: include_signatures
          description: >
            If this parameter is provided, the NFVO shall include in the ZIP
            archive the security information as specified above. This URI query
            parameter is a flag, i.e. it shall have no value. The NFVO shall
            support this parameter.
          in: query
          required: false
          schema:
            type: string
      responses:
        '200':
          description: >
            200 OK Shall be returned when the whole content of the artifact file
            has been read successfully. If the

            "include_signatures" request URI parameter was not provided in the
            related request, the payload body shall

            contain a copy of the artifact file from the VNF package, as defined
            by ETSI GS NFV-SOL 004 [5], and the

            "Content-Type" HTTP header shall be set according to the content
            type of the artifact file. If the artifact

            is encrypted, the header shall be set to the value "application/cms"
            (IETF RFC 7193 [17]). If the content

            type cannot be determined, the header shall be set to the value
            "application/octet-stream".

            If the "include_signatures" request URI parameter was provided in
            the related request, the "ContentType"

            HTTP header shall be set to "application/zip" and the payload body
            shall contain a ZIP archive which includes:

            - a copy of the artifact file from the VNF package, as defined by
            ETSI GS NFV-SOL 004 [5];

            - the related security information (individual signature file and
            optional related individual certificate file).
          headers:
            Version:
              description: |
                Version of the API used in the response.
              style: simple
              explode: false
              schema:
                type: string
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the

                corresponding HTTP request has provided an invalid authorization
                token.
              style: simple
              explode: false
              schema:
                type: string
            Content-Type:
              description: The MIME type of the body of the response.
              style: simple
              explode: false
              schema:
                type: string
          content: {}
        '206':
          description: |
            206 PARTIAL CONTENT
          headers:
            Content-Type:
              description: |
                The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            Content-Range:
              description: >
                The Content-Range response HTTP header indicates where in a full
                body message a partial message belongs.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '400':
          description: >
            400 BAD REQUEST

            400 code can be returned in the following specified cases, the
            specific cause has to be proper specified in the "ProblemDetails"
            structure to be returned.

            If the request is malformed or syntactically incorrect (e.g. if the
            request URI contains incorrect query parameters or the payload body
            contains a syntactically incorrect data structure), the API producer
            shall respond with this response code. The "ProblemDetails"
            structure shall be provided, and should include in the "detail"
            attribute more information about the source of the problem.

            If the response to a GET request which queries a container resource
            would be so big that the performance of the API producer is
            adversely affected, and the API producer does not support paging for
            the affected resource, it shall respond with this response code. The
            "ProblemDetails" structure shall be provided, and should include in
            the "detail" attribute more information about the source of the
            problem.

            If there is an application error related to the client's input that
            cannot be easily mapped to any other HTTP response code ("catch all
            error"), the API producer shall respond with this response code. The
            "ProblemDetails" structure shall be provided, and shall include in
            the "detail" attribute more information about the source of the
            problem.

            If the request contains a malformed access token, the API producer
            should respond with this response. The details of the error shall be
            returned in the WWW Authenticate HTTP header, as defined in IETF RFC
            6750 and IETF RFC 7235. The ProblemDetails structure may be
            provided.

            The use of this HTTP error response code described above is
            applicable to the use of the OAuth 2.0 for the authorization of API
            requests and notifications, as defined in clauses 4.5.3.3 and
            4.5.3.4.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '401':
          description: >
            401 UNAUTHORIZED

            If the request contains no access token even though one is required,
            or if the request contains an authorization token that is invalid
            (e.g. expired or revoked), the API producer should respond with this
            response. The details of the error shall be returned in the
            WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF
            RFC 7235. The ProblemDetails structure may be provided.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '403':
          description: >
            403 FORBIDDEN

            If the API consumer is not allowed to perform a particular request
            to a particular resource, the API producer shall respond with this
            response code. The "ProblemDetails" structure shall be provided. It
            should include in the "detail" attribute information about the
            source of the problem, and may indicate how to solve it.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '404':
          description: >
            404 NOT FOUND

            If the API producer did not find a current representation for the
            resource addressed by the URI passed in the request or is not
            willing to disclose that one exists, it shall respond with this
            response code. The "ProblemDetails" structure may be provided,
            including in the "detail" attribute information about the source of
            the problem, e.g. a wrong resource URI variable.

            This response code is not appropriate in case the resource addressed
            by the URI is a container resource which is designed to contain
            child resources, but does not contain any child resource at the time
            the request is received. For a GET request to an existing empty
            container resource, a typical response contains a 200 OK response
            code and a payload body with an empty array.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '405':
          description: >
            405 METHOD NOT ALLOWED

            If a particular HTTP method is not supported for a particular
            resource, the API producer shall respond with this response code.
            The "ProblemDetails" structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '406':
          description: >
            406 NOT ACCEPTABLE

            If the "Accept" HTTP header does not contain at least one name of a
            content type that is acceptable to the API producer, the API
            producer shall respond with this response code. The "ProblemDetails"
            structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '409':
          description: |
            409 CONFLICT
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '416':
          description: |
            416 Range Not Satisfiable
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '500':
          description: >
            500 INTERNAL SERVER ERROR

            If there is an application error not related to the client's input
            that cannot be easily mapped to any other HTTP response code ("catch
            all error"), the API producer shall respond with this response code.
            The "ProblemDetails" structure shall be provided, and shall include
            in the "detail" attribute more information about the source of the
            problem.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '503':
          description: >
            503 SERVICE UNAVAILABLE

            If the API producer encounters an internal overload situation of
            itself or of a system it relies on, it should respond with this
            response code, following the provisions in IETF RFC 7231 for the use
            of the "Retry-After" HTTP header and for the alternative to refuse
            the connection. The "ProblemDetails" structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '504':
          description: >
            504 GATEWAY TIMEOUT

            If the API producer encounters a timeout while waiting for a
            response from an upstream server (i.e. a server that the API
            producer communicates with when fulfilling a request), it should
            respond with this response code.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
  /subscriptions:
    parameters:
      - name: Version
        description: |
          Version of the API requested to use when responding to this request.
        in: header
        required: true
        schema:
          type: string
      - name: Authorization
        description: |
          The authorization token for the request. Reference: IETF RFC 7235.
        in: header
        required: false
        schema:
          type: string
    get:
      summary: Query multiple subscriptions.
      description: >
        The GET method queries the list of active subscriptions of the
        functional block that invokes the method.

        It can be used e.g. for resynchronization after error situations. This
        method shall follow the provisions

        specified in the Tables 9.4.8.3.2-1 and 9.4.8.3.2-2 for URI query
        parameters, request and response data

        structures, and response codes.
      parameters:
        - name: Accept
          description: >
            Content-Types that are acceptable for the response. Reference: IETF
            RFC 7231.
          in: header
          required: true
          schema:
            type: string
        - name: filter
          description: >
            Attribute-based filtering expression according to clause 5.2 of ETSI
            GS NFV-SOL 013. The NFV-MANO functional entity shall support
            receiving this parameter as part of the URI query string. The API
            consumer may supply this parameter. All attribute names that appear
            in the FmSubscription and in data types referenced from it shall be
            supported by the NFV-MANO functional entity in the filter
            expression.
          in: query
          required: false
          schema:
            type: string
        - name: nextpage_opaque_marker
          description: >
            Marker to obtain the next page of a paged response. Shall be
            supported by the NFV-MANO functional entity if the entity supports
            alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS
            NFV-SOL 013 for this resource.
          in: query
          required: false
          schema:
            type: string
      responses:
        '200':
          description: >
            200 OK

            Shall be returned when the list of subscriptions has been queried
            successfully. The response body shall contain

            in an array the representations of all active subscriptions of the
            functional block that invokes the method,

            i.e. zero or more representations of VNF package management
            subscriptions, as defined in clause 9.5.2.7.

            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 NFVO 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:
            Version:
              description: |
                Version of the API used in the response.
              style: simple
              explode: false
              schema:
                type: string
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the

                corresponding HTTP request has provided an invalid authorization
                token.
              style: simple
              explode: false
              schema:
                type: string
            Content-Type:
              description: The MIME type of the body of the response.
              style: simple
              explode: false
              schema:
                type: string
          content:
            application/json:
              schema:
                type: array
                items:
                  description: >
                    This type represents a subscription related to notifications
                    about VNF package management.
                  type: object
                  required:
                    - id
                    - callbackUri
                    - _links
                  properties:
                    id:
                      description: |
                        String formatted according to IETF RFC 3986.
                      type: string
                      format: uri
                    filter:
                      description: >
                        This type represents a subscription filter related to
                        notifications related to VNF package management. At a
                        particular nesting level in the filter structure, the
                        following applies: All attributes shall match in order
                        for the filter to match (logical "and" between different
                        filter attributes). If an attribute is an array, the
                        attribute shall match if at least one of the values in
                        the array matches (logical "or" between the values of
                        one filter attribute).
                      type: object
                      properties:
                        notificationTypes:
                          description: >
                            Match particular notification types. Permitted
                            values: - VnfPackageOnboardingNotification -
                            VnfPackageChangeNotification
                          type: string
                          enum:
                            - VnfPackageOnboardingNotification
                            - VnfPackageChangeNotification
                        vnfProductsFromProviders:
                          description: >
                            If present, match VNF packages that contain VNF
                            products from certain providers.
                          type: array
                          items:
                            type: object
                            required:
                              - vnfProvider
                            oneOf:
                              - required:
                                  - vnfProductsFromProviders
                              - required:
                                  - vnfdId
                              - required:
                                  - vnfPkgId
                            properties:
                              vnfProvider:
                                description: |
                                  Name of the VNFprovider to match.
                                type: string
                              vnfProductsFromProviders:
                                description: >
                                  If present, match VNF packages that contain
                                  VNF products with certain product names, from
                                  one particular provider.
                                type: array
                                items:
                                  type: object
                                  required:
                                    - vnfProductName
                                  properties:
                                    vnfProductName:
                                      description: |
                                        Name of the VNF product to match.
                                      type: string
                                    versions:
                                      description: >
                                        If present, match VNF packages that
                                        contain VNF products with certain
                                        versions and a certain product name,
                                        from one particular provider.
                                      type: array
                                      items:
                                        type: object
                                        required:
                                          - vnfSoftwareVersion
                                        properties:
                                          vnfSoftwareVersion:
                                            description: >
                                              A Version. Representation: string of
                                              variable length.
                                            type: string
                                          vnfdVersions:
                                            description: >
                                              If present, match VNF packages that
                                              contain VNF products with certain VNFD
                                              versions, a certain software version and
                                              a certain product name, from one
                                              particular provider.
                                            type: array
                                            items:
                                              description: >
                                                A Version. Representation: string of
                                                variable length.
                                              type: string
                              vnfdId:
                                description: >
                                  Match VNF packages with a VNFD identifier
                                  listed in the attribute.
                                type: array
                                items:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                              vnfPkgId:
                                description: >
                                  Match VNF packages with a package identifier
                                  listed in the attribute. May be present if the
                                  "notificationTypes" attribute contains the
                                  value "VnfPackageChangeNotification", and
                                  shall be absent otherwise.
                                type: array
                                items:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                              operationalState:
                                description: >
                                  Match VNF packages with a package identifier
                                  listed in the attribute. May be present if the
                                  "notificationTypes" attribute contains the
                                  value "VnfPackageChangeNotification", and
                                  shall be absent otherwise.
                                type: array
                                items:
                                  type: string
                                  description: >
                                    "The enumeration PackageOperationalStateType
                                    shall  comply with the provisions defined in
                                    Table 9.5.4.4-1." Acceptable values are: -
                                    ENABLED - The VNF package is enabled, i.e.
                                    it can be used for instantiation of new VNF
                                    instances. - DISABLED - The VNF package is
                                    disabled, i.e. it cannot be used for further
                                    VNF instantiation requests
                                                (unless and until the VNF package is re-enabled).
                                  enum:
                                    - ENABLED
                                    - DISABLED
                              usageState:
                                description: >
                                  Match particular usage state of the on-boarded
                                  VNF package. May be present if the
                                  "notificationTypes" attribute contains the
                                  value "VnfPackageChangeNotification", and
                                  shall be absent otherwise.
                                type: array
                                items:
                                  type: string
                                  description: >
                                    "The enumeration PackageUsageStateType shall
                                    comply with the provisions. Acceptable
                                    values are: - IN_USE: "Individual VNF
                                    instance" resources created from this VNF
                                    package exist. - NOT_IN_USE: No "individual
                                    VNF instance" resource created from this VNF
                                    package exists.
                                  enum:
                                    - IN_USE
                                    - NOT_IN_USE
                              vnfmInfo:
                                description: >
                                  Match strings that specify VNFMs compatible
                                  with the VNF. See Table 9.5.2.5-1.
                                type: array
                                items:
                                  type: string
                    callbackUri:
                      description: |
                        String formatted according to IETF RFC 3986.
                      type: string
                      format: uri
                    _links:
                      description: |
                        Links to resources related to this resource.
                      type: object
                      required:
                        - self
                      properties:
                        self:
                          description: |
                            This type represents a link to a resource.
                          type: object
                          required:
                            - href
                          properties:
                            href:
                              description: >
                                URI of a resource referenced from a
                                notification. Should be an absolute URI (i.e. a
                                URI that contains {apiRoot}), however, may be a
                                relative URI (i.e. a URI where the {apiRoot}
                                part is omitted) if the {apiRoot} information is
                                not available.
                              type: string
                              format: url
        '400':
          description: >
            400 BAD REQUEST

            400 code can be returned in the following specified cases, the
            specific cause has to be proper specified in the "ProblemDetails"
            structure to be returned.

            If the request is malformed or syntactically incorrect (e.g. if the
            request URI contains incorrect query parameters or the payload body
            contains a syntactically incorrect data structure), the API producer
            shall respond with this response code. The "ProblemDetails"
            structure shall be provided, and should include in the "detail"
            attribute more information about the source of the problem.

            If the response to a GET request which queries a container resource
            would be so big that the performance of the API producer is
            adversely affected, and the API producer does not support paging for
            the affected resource, it shall respond with this response code. The
            "ProblemDetails" structure shall be provided, and should include in
            the "detail" attribute more information about the source of the
            problem.

            If there is an application error related to the client's input that
            cannot be easily mapped to any other HTTP response code ("catch all
            error"), the API producer shall respond with this response code. The
            "ProblemDetails" structure shall be provided, and shall include in
            the "detail" attribute more information about the source of the
            problem.

            If the request contains a malformed access token, the API producer
            should respond with this response. The details of the error shall be
            returned in the WWW Authenticate HTTP header, as defined in IETF RFC
            6750 and IETF RFC 7235. The ProblemDetails structure may be
            provided.

            The use of this HTTP error response code described above is
            applicable to the use of the OAuth 2.0 for the authorization of API
            requests and notifications, as defined in clauses 4.5.3.3 and
            4.5.3.4.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '401':
          description: >
            401 UNAUTHORIZED

            If the request contains no access token even though one is required,
            or if the request contains an authorization token that is invalid
            (e.g. expired or revoked), the API producer should respond with this
            response. The details of the error shall be returned in the
            WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF
            RFC 7235. The ProblemDetails structure may be provided.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '403':
          description: >
            403 FORBIDDEN

            If the API consumer is not allowed to perform a particular request
            to a particular resource, the API producer shall respond with this
            response code. The "ProblemDetails" structure shall be provided. It
            should include in the "detail" attribute information about the
            source of the problem, and may indicate how to solve it.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '404':
          description: >
            404 NOT FOUND

            If the API producer did not find a current representation for the
            resource addressed by the URI passed in the request or is not
            willing to disclose that one exists, it shall respond with this
            response code. The "ProblemDetails" structure may be provided,
            including in the "detail" attribute information about the source of
            the problem, e.g. a wrong resource URI variable.

            This response code is not appropriate in case the resource addressed
            by the URI is a container resource which is designed to contain
            child resources, but does not contain any child resource at the time
            the request is received. For a GET request to an existing empty
            container resource, a typical response contains a 200 OK response
            code and a payload body with an empty array.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '405':
          description: >
            405 METHOD NOT ALLOWED

            If a particular HTTP method is not supported for a particular
            resource, the API producer shall respond with this response code.
            The "ProblemDetails" structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '406':
          description: >
            406 NOT ACCEPTABLE

            If the "Accept" HTTP header does not contain at least one name of a
            content type that is acceptable to the API producer, the API
            producer shall respond with this response code. The "ProblemDetails"
            structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '500':
          description: >
            500 INTERNAL SERVER ERROR

            If there is an application error not related to the client's input
            that cannot be easily mapped to any other HTTP response code ("catch
            all error"), the API producer shall respond with this response code.
            The "ProblemDetails" structure shall be provided, and shall include
            in the "detail" attribute more information about the source of the
            problem.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '503':
          description: >
            503 SERVICE UNAVAILABLE

            If the API producer encounters an internal overload situation of
            itself or of a system it relies on, it should respond with this
            response code, following the provisions in IETF RFC 7231 for the use
            of the "Retry-After" HTTP header and for the alternative to refuse
            the connection. The "ProblemDetails" structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '504':
          description: >
            504 GATEWAY TIMEOUT

            If the API producer encounters a timeout while waiting for a
            response from an upstream server (i.e. a server that the API
            producer communicates with when fulfilling a request), it should
            respond with this response code.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
    post:
      summary: >-
        Subscribe to notifications related to on-boarding and/or changes of VNF
        packages.
      description: >
        The POST method creates a new subscription. This method shall follow the
        provisions specified in the Tables

        9.4.8.3.1-1 and 9.4.8.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 shall exist as

        defined in clause 9.4.9. This method shall not trigger any notification.
        Creation of two subscription resources

        with the same callbackURI and the same filter can result in performance
        degradation and will provide duplicates

        of notifications to the OSS, and might make sense only in very rare use
        cases. Consequently, the NFVO may either

        allow creating a subscription resource if another 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 subscription resource (in which case it shall return a "303
        See Other" response code referencing the

        existing subscription resource with the same filter and callbackUri).
      parameters:
        - name: Accept
          description: >
            Content-Types that are acceptable for the response. Reference: IETF
            RFC 7231.
          in: header
          required: true
          schema:
            type: string
        - name: Content-Type
          description: |
            The MIME type of the body of the request. Reference: IETF RFC 7231
          in: header
          required: true
          schema:
            type: string
      requestBody:
        description: |
          Details of the subscription to be created.
        content:
          application/json:
            schema:
              description: >
                This type represents a subscription request related to VNF
                package management  notifications about VNF package on boarding
                or changes.
              type: object
              required:
                - callbackUri
              properties:
                filter:
                  description: >
                    This type represents a subscription filter related to
                    notifications related to VNF package management. At a
                    particular nesting level in the filter structure, the
                    following applies: All attributes shall match in order for
                    the filter to match (logical "and" between different filter
                    attributes). If an attribute is an array, the attribute
                    shall match if at least one of the values in the array
                    matches (logical "or" between the values of one filter
                    attribute).
                  type: object
                  properties:
                    notificationTypes:
                      description: >
                        Match particular notification types. Permitted values: -
                        VnfPackageOnboardingNotification -
                        VnfPackageChangeNotification
                      type: string
                      enum:
                        - VnfPackageOnboardingNotification
                        - VnfPackageChangeNotification
                    vnfProductsFromProviders:
                      description: >
                        If present, match VNF packages that contain VNF products
                        from certain providers.
                      type: array
                      items:
                        type: object
                        required:
                          - vnfProvider
                        oneOf:
                          - required:
                              - vnfProductsFromProviders
                          - required:
                              - vnfdId
                          - required:
                              - vnfPkgId
                        properties:
                          vnfProvider:
                            description: |
                              Name of the VNFprovider to match.
                            type: string
                          vnfProductsFromProviders:
                            description: >
                              If present, match VNF packages that contain VNF
                              products with certain product names, from one
                              particular provider.
                            type: array
                            items:
                              type: object
                              required:
                                - vnfProductName
                              properties:
                                vnfProductName:
                                  description: |
                                    Name of the VNF product to match.
                                  type: string
                                versions:
                                  description: >
                                    If present, match VNF packages that contain
                                    VNF products with certain versions and a
                                    certain product name, from one particular
                                    provider.
                                  type: array
                                  items:
                                    type: object
                                    required:
                                      - vnfSoftwareVersion
                                    properties:
                                      vnfSoftwareVersion:
                                        description: >
                                          A Version. Representation: string of
                                          variable length.
                                        type: string
                                      vnfdVersions:
                                        description: >
                                          If present, match VNF packages that
                                          contain VNF products with certain VNFD
                                          versions, a certain software version and
                                          a certain product name, from one
                                          particular provider.
                                        type: array
                                        items:
                                          description: >
                                            A Version. Representation: string of
                                            variable length.
                                          type: string
                          vnfdId:
                            description: >
                              Match VNF packages with a VNFD identifier listed
                              in the attribute.
                            type: array
                            items:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                          vnfPkgId:
                            description: >
                              Match VNF packages with a package identifier
                              listed in the attribute. May be present if the
                              "notificationTypes" attribute contains the value
                              "VnfPackageChangeNotification", and shall be
                              absent otherwise.
                            type: array
                            items:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                          operationalState:
                            description: >
                              Match VNF packages with a package identifier
                              listed in the attribute. May be present if the
                              "notificationTypes" attribute contains the value
                              "VnfPackageChangeNotification", and shall be
                              absent otherwise.
                            type: array
                            items:
                              type: string
                              description: >
                                "The enumeration PackageOperationalStateType
                                shall  comply with the provisions defined in
                                Table 9.5.4.4-1." Acceptable values are: -
                                ENABLED - The VNF package is enabled, i.e. it
                                can be used for instantiation of new VNF
                                instances. - DISABLED - The VNF package is
                                disabled, i.e. it cannot be used for further VNF
                                instantiation requests
                                            (unless and until the VNF package is re-enabled).
                              enum:
                                - ENABLED
                                - DISABLED
                          usageState:
                            description: >
                              Match particular usage state of the on-boarded VNF
                              package. May be present if the "notificationTypes"
                              attribute contains the value
                              "VnfPackageChangeNotification", and shall be
                              absent otherwise.
                            type: array
                            items:
                              type: string
                              description: >
                                "The enumeration PackageUsageStateType shall
                                comply with the provisions. Acceptable values
                                are: - IN_USE: "Individual VNF instance"
                                resources created from this VNF package exist. -
                                NOT_IN_USE: No "individual VNF instance"
                                resource created from this VNF package exists.
                              enum:
                                - IN_USE
                                - NOT_IN_USE
                          vnfmInfo:
                            description: >
                              Match strings that specify VNFMs compatible with
                              the VNF. See Table 9.5.2.5-1.
                            type: array
                            items:
                              type: string
                callbackUri:
                  description: |
                    String formatted according to IETF RFC 3986.
                  type: string
                  format: uri
                authentication:
                  type: object
                  required:
                    - authType
                  properties:
                    authType:
                      description: >
                        Defines the types of Authentication / Authorization
                        which the API consumer is willing to accept when
                        receiving a notification. Permitted values: - BASIC: In
                        every HTTP request to the notification endpoint, use
                          HTTP Basic authentication with the client credentials.
                        - OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to
                        the
                          notification endpoint, use an OAuth 2.0 Bearer token, obtained
                          using the client credentials grant type.
                        - TLS_CERT: Every HTTP request to the notification
                        endpoint is sent
                          over a mutually authenticated TLS session, i.e. not only the
                          server is authenticated, but also the client is authenticated
                          during the TLS tunnel setup.
                      type: array
                      items:
                        type: string
                        enum:
                          - BASIC
                          - OAUTH2_CLIENT_CREDENTIALS
                          - TLS_CERT
                    paramsBasic:
                      description: >
                        Parameters for authentication/authorization using BASIC.
                        Shall be present if authType is "BASIC" and the
                        contained information has not been provisioned out of
                        band. Shall be absent otherwise.
                      type: object
                      properties:
                        userName:
                          description: >
                            Username to be used in HTTP Basic authentication.
                            Shall be present if it has not been provisioned out
                            of band.
                          type: string
                        password:
                          description: >
                            Password to be used in HTTP Basic authentication.
                            Shall be present if it has not been provisioned out
                            of band.
                          type: string
                    paramsOauth2ClientCredentials:
                      description: >
                        Parameters for authentication/authorization using
                        OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType
                        is "OAUTH2_CLIENT_CREDENTIALS" and the contained
                        information has not been provisioned out of band. Shall
                        be absent otherwise.
                      type: object
                      properties:
                        clientId:
                          description: >
                            Client identifier to be used in the access token
                            request of the OAuth 2.0 client credentials grant
                            type. Shall be present if it has not been
                            provisioned out of band. The clientId and
                            clientPassword passed in a subscription shall not be
                            the same as the clientId and clientPassword that are
                            used to obtain authorization for API requests.
                            Client credentials may differ between subscriptions.
                            The value of clientPassword should be generated by a
                            random process.
                          type: string
                        clientPassword:
                          description: >
                            Client password to be used in the access token
                            request of the OAuth 2.0 client credentials grant
                            type. Shall be present if it has not been
                            provisioned out of band. The clientId and
                            clientPassword passed in a subscription shall not be
                            the same as the clientId and clientPassword that are
                            used to obtain authorization for API requests.
                            Client credentials may differ between subscriptions.
                            The value of clientPassword should be generated by a
                            random process.
                          type: string
                        tokenEndpoint:
                          description: |
                            String formatted according to IETF RFC 3986.
                          type: string
                          format: uri
        required: true
      responses:
        '201':
          description: >
            201 Created

            Shall be returned when the subscription has been created
            successfully. The response body shall contain a

            representation of the created "Individual subscription" resource.
            The HTTP response shall include a "Location"

            HTTP header that points to the created resource.
          headers:
            Version:
              description: |
                Version of the API used in the response.
              style: simple
              explode: false
              schema:
                type: string
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the

                corresponding HTTP request has provided an invalid authorization
                token.
              style: simple
              explode: false
              schema:
                type: string
            Content-Type:
              description: The MIME type of the body of the response.
              style: simple
              explode: false
              schema:
                type: string
          content:
            application/json:
              schema:
                description: >
                  This type represents a subscription related to notifications
                  about VNF package management.
                type: object
                required:
                  - id
                  - callbackUri
                  - _links
                properties:
                  id:
                    description: |
                      String formatted according to IETF RFC 3986.
                    type: string
                    format: uri
                  filter:
                    description: >
                      This type represents a subscription filter related to
                      notifications related to VNF package management. At a
                      particular nesting level in the filter structure, the
                      following applies: All attributes shall match in order for
                      the filter to match (logical "and" between different
                      filter attributes). If an attribute is an array, the
                      attribute shall match if at least one of the values in the
                      array matches (logical "or" between the values of one
                      filter attribute).
                    type: object
                    properties:
                      notificationTypes:
                        description: >
                          Match particular notification types. Permitted values:
                          - VnfPackageOnboardingNotification -
                          VnfPackageChangeNotification
                        type: string
                        enum:
                          - VnfPackageOnboardingNotification
                          - VnfPackageChangeNotification
                      vnfProductsFromProviders:
                        description: >
                          If present, match VNF packages that contain VNF
                          products from certain providers.
                        type: array
                        items:
                          type: object
                          required:
                            - vnfProvider
                          oneOf:
                            - required:
                                - vnfProductsFromProviders
                            - required:
                                - vnfdId
                            - required:
                                - vnfPkgId
                          properties:
                            vnfProvider:
                              description: |
                                Name of the VNFprovider to match.
                              type: string
                            vnfProductsFromProviders:
                              description: >
                                If present, match VNF packages that contain VNF
                                products with certain product names, from one
                                particular provider.
                              type: array
                              items:
                                type: object
                                required:
                                  - vnfProductName
                                properties:
                                  vnfProductName:
                                    description: |
                                      Name of the VNF product to match.
                                    type: string
                                  versions:
                                    description: >
                                      If present, match VNF packages that
                                      contain VNF products with certain versions
                                      and a certain product name, from one
                                      particular provider.
                                    type: array
                                    items:
                                      type: object
                                      required:
                                        - vnfSoftwareVersion
                                      properties:
                                        vnfSoftwareVersion:
                                          description: >
                                            A Version. Representation: string of
                                            variable length.
                                          type: string
                                        vnfdVersions:
                                          description: >
                                            If present, match VNF packages that
                                            contain VNF products with certain VNFD
                                            versions, a certain software version and
                                            a certain product name, from one
                                            particular provider.
                                          type: array
                                          items:
                                            description: >
                                              A Version. Representation: string of
                                              variable length.
                                            type: string
                            vnfdId:
                              description: >
                                Match VNF packages with a VNFD identifier listed
                                in the attribute.
                              type: array
                              items:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                            vnfPkgId:
                              description: >
                                Match VNF packages with a package identifier
                                listed in the attribute. May be present if the
                                "notificationTypes" attribute contains the value
                                "VnfPackageChangeNotification", and shall be
                                absent otherwise.
                              type: array
                              items:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                            operationalState:
                              description: >
                                Match VNF packages with a package identifier
                                listed in the attribute. May be present if the
                                "notificationTypes" attribute contains the value
                                "VnfPackageChangeNotification", and shall be
                                absent otherwise.
                              type: array
                              items:
                                type: string
                                description: >
                                  "The enumeration PackageOperationalStateType
                                  shall  comply with the provisions defined in
                                  Table 9.5.4.4-1." Acceptable values are: -
                                  ENABLED - The VNF package is enabled, i.e. it
                                  can be used for instantiation of new VNF
                                  instances. - DISABLED - The VNF package is
                                  disabled, i.e. it cannot be used for further
                                  VNF instantiation requests
                                              (unless and until the VNF package is re-enabled).
                                enum:
                                  - ENABLED
                                  - DISABLED
                            usageState:
                              description: >
                                Match particular usage state of the on-boarded
                                VNF package. May be present if the
                                "notificationTypes" attribute contains the value
                                "VnfPackageChangeNotification", and shall be
                                absent otherwise.
                              type: array
                              items:
                                type: string
                                description: >
                                  "The enumeration PackageUsageStateType shall
                                  comply with the provisions. Acceptable values
                                  are: - IN_USE: "Individual VNF instance"
                                  resources created from this VNF package exist.
                                  - NOT_IN_USE: No "individual VNF instance"
                                  resource created from this VNF package exists.
                                enum:
                                  - IN_USE
                                  - NOT_IN_USE
                            vnfmInfo:
                              description: >
                                Match strings that specify VNFMs compatible with
                                the VNF. See Table 9.5.2.5-1.
                              type: array
                              items:
                                type: string
                  callbackUri:
                    description: |
                      String formatted according to IETF RFC 3986.
                    type: string
                    format: uri
                  _links:
                    description: |
                      Links to resources related to this resource.
                    type: object
                    required:
                      - self
                    properties:
                      self:
                        description: |
                          This type represents a link to a resource.
                        type: object
                        required:
                          - href
                        properties:
                          href:
                            description: >
                              URI of a resource referenced from a notification.
                              Should be an absolute URI (i.e. a URI that
                              contains {apiRoot}), however, may be a relative
                              URI (i.e. a URI where the {apiRoot} part is
                              omitted) if the {apiRoot} information is not
                              available.
                            type: string
                            format: url
        '303':
          description: |
            303 See Other
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
        '400':
          description: >
            400 BAD REQUEST

            400 code can be returned in the following specified cases, the
            specific cause has to be proper specified in the "ProblemDetails"
            structure to be returned.

            If the request is malformed or syntactically incorrect (e.g. if the
            request URI contains incorrect query parameters or the payload body
            contains a syntactically incorrect data structure), the API producer
            shall respond with this response code. The "ProblemDetails"
            structure shall be provided, and should include in the "detail"
            attribute more information about the source of the problem.

            If the response to a GET request which queries a container resource
            would be so big that the performance of the API producer is
            adversely affected, and the API producer does not support paging for
            the affected resource, it shall respond with this response code. The
            "ProblemDetails" structure shall be provided, and should include in
            the "detail" attribute more information about the source of the
            problem.

            If there is an application error related to the client's input that
            cannot be easily mapped to any other HTTP response code ("catch all
            error"), the API producer shall respond with this response code. The
            "ProblemDetails" structure shall be provided, and shall include in
            the "detail" attribute more information about the source of the
            problem.

            If the request contains a malformed access token, the API producer
            should respond with this response. The details of the error shall be
            returned in the WWW Authenticate HTTP header, as defined in IETF RFC
            6750 and IETF RFC 7235. The ProblemDetails structure may be
            provided.

            The use of this HTTP error response code described above is
            applicable to the use of the OAuth 2.0 for the authorization of API
            requests and notifications, as defined in clauses 4.5.3.3 and
            4.5.3.4.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '401':
          description: >
            401 UNAUTHORIZED

            If the request contains no access token even though one is required,
            or if the request contains an authorization token that is invalid
            (e.g. expired or revoked), the API producer should respond with this
            response. The details of the error shall be returned in the
            WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF
            RFC 7235. The ProblemDetails structure may be provided.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '403':
          description: >
            403 FORBIDDEN

            If the API consumer is not allowed to perform a particular request
            to a particular resource, the API producer shall respond with this
            response code. The "ProblemDetails" structure shall be provided. It
            should include in the "detail" attribute information about the
            source of the problem, and may indicate how to solve it.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '404':
          description: >
            404 NOT FOUND

            If the API producer did not find a current representation for the
            resource addressed by the URI passed in the request or is not
            willing to disclose that one exists, it shall respond with this
            response code. The "ProblemDetails" structure may be provided,
            including in the "detail" attribute information about the source of
            the problem, e.g. a wrong resource URI variable.

            This response code is not appropriate in case the resource addressed
            by the URI is a container resource which is designed to contain
            child resources, but does not contain any child resource at the time
            the request is received. For a GET request to an existing empty
            container resource, a typical response contains a 200 OK response
            code and a payload body with an empty array.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '405':
          description: >
            405 METHOD NOT ALLOWED

            If a particular HTTP method is not supported for a particular
            resource, the API producer shall respond with this response code.
            The "ProblemDetails" structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '406':
          description: >
            406 NOT ACCEPTABLE

            If the "Accept" HTTP header does not contain at least one name of a
            content type that is acceptable to the API producer, the API
            producer shall respond with this response code. The "ProblemDetails"
            structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '422':
          description: >
            422 UNPROCESSABLE ENTITY

            If the payload body of a request contains syntactically correct data
            (e.g. well-formed JSON) but the data cannot be processed (e.g.
            because it fails validation against a schema), the API producer
            shall respond with this response code. The "ProblemDetails"
            structure shall be provided, and should include in the "detail"
            attribute more information about the source of the problem.

            This error response code is only applicable for methods that have a
            request body.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '500':
          description: >
            500 INTERNAL SERVER ERROR

            If there is an application error not related to the client's input
            that cannot be easily mapped to any other HTTP response code ("catch
            all error"), the API producer shall respond with this response code.
            The "ProblemDetails" structure shall be provided, and shall include
            in the "detail" attribute more information about the source of the
            problem.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '503':
          description: >
            503 SERVICE UNAVAILABLE

            If the API producer encounters an internal overload situation of
            itself or of a system it relies on, it should respond with this
            response code, following the provisions in IETF RFC 7231 for the use
            of the "Retry-After" HTTP header and for the alternative to refuse
            the connection. The "ProblemDetails" structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '504':
          description: >
            504 GATEWAY TIMEOUT

            If the API producer encounters a timeout while waiting for a
            response from an upstream server (i.e. a server that the API
            producer communicates with when fulfilling a request), it should
            respond with this response code.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
  '/subscriptions/{subscriptionId}':
    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
        style: simple
        explode: false
        schema:
          type: string
      - name: Version
        description: |
          Version of the API requested to use when responding to this request.
        in: header
        required: true
        schema:
          type: string
      - name: Authorization
        description: |
          The authorization token for the request. Reference: IETF RFC 7235.
        in: header
        required: false
        schema:
          type: string
    get:
      summary: Read an individual subscription resource.
      description: >
        Query Subscription Information The GET method reads an individual
        subscription.
      parameters:
        - name: Accept
          description: >
            Content-Types that are acceptable for the response. Reference: IETF
            RFC 7231.
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: >
            200 OK

            Shall be returned when information about an individual subscription
            has been read successfully.

            The response body shall contain a representation of the "Individual
            subscription" resource.
          headers:
            Version:
              description: |
                Version of the API used in the response.
              style: simple
              explode: false
              schema:
                type: string
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the

                corresponding HTTP request has provided an invalid authorization
                token.
              style: simple
              explode: false
              schema:
                type: string
            Content-Type:
              description: The MIME type of the body of the response.
              style: simple
              explode: false
              schema:
                type: string
          content:
            application/json:
              schema:
                description: >
                  This type represents a subscription related to notifications
                  about VNF package management.
                type: object
                required:
                  - id
                  - callbackUri
                  - _links
                properties:
                  id:
                    description: |
                      String formatted according to IETF RFC 3986.
                    type: string
                    format: uri
                  filter:
                    description: >
                      This type represents a subscription filter related to
                      notifications related to VNF package management. At a
                      particular nesting level in the filter structure, the
                      following applies: All attributes shall match in order for
                      the filter to match (logical "and" between different
                      filter attributes). If an attribute is an array, the
                      attribute shall match if at least one of the values in the
                      array matches (logical "or" between the values of one
                      filter attribute).
                    type: object
                    properties:
                      notificationTypes:
                        description: >
                          Match particular notification types. Permitted values:
                          - VnfPackageOnboardingNotification -
                          VnfPackageChangeNotification
                        type: string
                        enum:
                          - VnfPackageOnboardingNotification
                          - VnfPackageChangeNotification
                      vnfProductsFromProviders:
                        description: >
                          If present, match VNF packages that contain VNF
                          products from certain providers.
                        type: array
                        items:
                          type: object
                          required:
                            - vnfProvider
                          oneOf:
                            - required:
                                - vnfProductsFromProviders
                            - required:
                                - vnfdId
                            - required:
                                - vnfPkgId
                          properties:
                            vnfProvider:
                              description: |
                                Name of the VNFprovider to match.
                              type: string
                            vnfProductsFromProviders:
                              description: >
                                If present, match VNF packages that contain VNF
                                products with certain product names, from one
                                particular provider.
                              type: array
                              items:
                                type: object
                                required:
                                  - vnfProductName
                                properties:
                                  vnfProductName:
                                    description: |
                                      Name of the VNF product to match.
                                    type: string
                                  versions:
                                    description: >
                                      If present, match VNF packages that
                                      contain VNF products with certain versions
                                      and a certain product name, from one
                                      particular provider.
                                    type: array
                                    items:
                                      type: object
                                      required:
                                        - vnfSoftwareVersion
                                      properties:
                                        vnfSoftwareVersion:
                                          description: >
                                            A Version. Representation: string of
                                            variable length.
                                          type: string
                                        vnfdVersions:
                                          description: >
                                            If present, match VNF packages that
                                            contain VNF products with certain VNFD
                                            versions, a certain software version and
                                            a certain product name, from one
                                            particular provider.
                                          type: array
                                          items:
                                            description: >
                                              A Version. Representation: string of
                                              variable length.
                                            type: string
                            vnfdId:
                              description: >
                                Match VNF packages with a VNFD identifier listed
                                in the attribute.
                              type: array
                              items:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                            vnfPkgId:
                              description: >
                                Match VNF packages with a package identifier
                                listed in the attribute. May be present if the
                                "notificationTypes" attribute contains the value
                                "VnfPackageChangeNotification", and shall be
                                absent otherwise.
                              type: array
                              items:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                            operationalState:
                              description: >
                                Match VNF packages with a package identifier
                                listed in the attribute. May be present if the
                                "notificationTypes" attribute contains the value
                                "VnfPackageChangeNotification", and shall be
                                absent otherwise.
                              type: array
                              items:
                                type: string
                                description: >
                                  "The enumeration PackageOperationalStateType
                                  shall  comply with the provisions defined in
                                  Table 9.5.4.4-1." Acceptable values are: -
                                  ENABLED - The VNF package is enabled, i.e. it
                                  can be used for instantiation of new VNF
                                  instances. - DISABLED - The VNF package is
                                  disabled, i.e. it cannot be used for further
                                  VNF instantiation requests
                                              (unless and until the VNF package is re-enabled).
                                enum:
                                  - ENABLED
                                  - DISABLED
                            usageState:
                              description: >
                                Match particular usage state of the on-boarded
                                VNF package. May be present if the
                                "notificationTypes" attribute contains the value
                                "VnfPackageChangeNotification", and shall be
                                absent otherwise.
                              type: array
                              items:
                                type: string
                                description: >
                                  "The enumeration PackageUsageStateType shall
                                  comply with the provisions. Acceptable values
                                  are: - IN_USE: "Individual VNF instance"
                                  resources created from this VNF package exist.
                                  - NOT_IN_USE: No "individual VNF instance"
                                  resource created from this VNF package exists.
                                enum:
                                  - IN_USE
                                  - NOT_IN_USE
                            vnfmInfo:
                              description: >
                                Match strings that specify VNFMs compatible with
                                the VNF. See Table 9.5.2.5-1.
                              type: array
                              items:
                                type: string
                  callbackUri:
                    description: |
                      String formatted according to IETF RFC 3986.
                    type: string
                    format: uri
                  _links:
                    description: |
                      Links to resources related to this resource.
                    type: object
                    required:
                      - self
                    properties:
                      self:
                        description: |
                          This type represents a link to a resource.
                        type: object
                        required:
                          - href
                        properties:
                          href:
                            description: >
                              URI of a resource referenced from a notification.
                              Should be an absolute URI (i.e. a URI that
                              contains {apiRoot}), however, may be a relative
                              URI (i.e. a URI where the {apiRoot} part is
                              omitted) if the {apiRoot} information is not
                              available.
                            type: string
                            format: url
        '400':
          description: >
            400 BAD REQUEST

            400 code can be returned in the following specified cases, the
            specific cause has to be proper specified in the "ProblemDetails"
            structure to be returned.

            If the request is malformed or syntactically incorrect (e.g. if the
            request URI contains incorrect query parameters or the payload body
            contains a syntactically incorrect data structure), the API producer
            shall respond with this response code. The "ProblemDetails"
            structure shall be provided, and should include in the "detail"
            attribute more information about the source of the problem.

            If the response to a GET request which queries a container resource
            would be so big that the performance of the API producer is
            adversely affected, and the API producer does not support paging for
            the affected resource, it shall respond with this response code. The
            "ProblemDetails" structure shall be provided, and should include in
            the "detail" attribute more information about the source of the
            problem.

            If there is an application error related to the client's input that
            cannot be easily mapped to any other HTTP response code ("catch all
            error"), the API producer shall respond with this response code. The
            "ProblemDetails" structure shall be provided, and shall include in
            the "detail" attribute more information about the source of the
            problem.

            If the request contains a malformed access token, the API producer
            should respond with this response. The details of the error shall be
            returned in the WWW Authenticate HTTP header, as defined in IETF RFC
            6750 and IETF RFC 7235. The ProblemDetails structure may be
            provided.

            The use of this HTTP error response code described above is
            applicable to the use of the OAuth 2.0 for the authorization of API
            requests and notifications, as defined in clauses 4.5.3.3 and
            4.5.3.4.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '401':
          description: >
            401 UNAUTHORIZED

            If the request contains no access token even though one is required,
            or if the request contains an authorization token that is invalid
            (e.g. expired or revoked), the API producer should respond with this
            response. The details of the error shall be returned in the
            WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF
            RFC 7235. The ProblemDetails structure may be provided.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '403':
          description: >
            403 FORBIDDEN

            If the API consumer is not allowed to perform a particular request
            to a particular resource, the API producer shall respond with this
            response code. The "ProblemDetails" structure shall be provided. It
            should include in the "detail" attribute information about the
            source of the problem, and may indicate how to solve it.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '404':
          description: >
            404 NOT FOUND

            If the API producer did not find a current representation for the
            resource addressed by the URI passed in the request or is not
            willing to disclose that one exists, it shall respond with this
            response code. The "ProblemDetails" structure may be provided,
            including in the "detail" attribute information about the source of
            the problem, e.g. a wrong resource URI variable.

            This response code is not appropriate in case the resource addressed
            by the URI is a container resource which is designed to contain
            child resources, but does not contain any child resource at the time
            the request is received. For a GET request to an existing empty
            container resource, a typical response contains a 200 OK response
            code and a payload body with an empty array.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '405':
          description: >
            405 METHOD NOT ALLOWED

            If a particular HTTP method is not supported for a particular
            resource, the API producer shall respond with this response code.
            The "ProblemDetails" structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '406':
          description: >
            406 NOT ACCEPTABLE

            If the "Accept" HTTP header does not contain at least one name of a
            content type that is acceptable to the API producer, the API
            producer shall respond with this response code. The "ProblemDetails"
            structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '500':
          description: >
            500 INTERNAL SERVER ERROR

            If there is an application error not related to the client's input
            that cannot be easily mapped to any other HTTP response code ("catch
            all error"), the API producer shall respond with this response code.
            The "ProblemDetails" structure shall be provided, and shall include
            in the "detail" attribute more information about the source of the
            problem.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '503':
          description: >
            503 SERVICE UNAVAILABLE

            If the API producer encounters an internal overload situation of
            itself or of a system it relies on, it should respond with this
            response code, following the provisions in IETF RFC 7231 for the use
            of the "Retry-After" HTTP header and for the alternative to refuse
            the connection. The "ProblemDetails" structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '504':
          description: >
            504 GATEWAY TIMEOUT

            If the API producer encounters a timeout while waiting for a
            response from an upstream server (i.e. a server that the API
            producer communicates with when fulfilling a request), it should
            respond with this response code.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
    delete:
      summary: Terminate a subscription.
      description: >
        The DELETE method terminates an individual subscription. This method
        shall follow the provisions specified in the

        Tables 9.4.9.3.5-1 and 9.4.9.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.
      responses:
        '204':
          description: >
            No Content

            Shall be returned when information about an individual subscription
            has been read successfully. The response

            body shall contain a representation of the "Individual subscription"
            resource.
          headers:
            Version:
              description: |
                Version of the API used in the response.
              style: simple
              explode: false
              schema:
                type: string
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the

                corresponding HTTP request has provided an invalid authorization
                token.
              style: simple
              explode: false
              schema:
                type: string
          content: {}
        '400':
          description: >
            400 BAD REQUEST

            400 code can be returned in the following specified cases, the
            specific cause has to be proper specified in the "ProblemDetails"
            structure to be returned.

            If the request is malformed or syntactically incorrect (e.g. if the
            request URI contains incorrect query parameters or the payload body
            contains a syntactically incorrect data structure), the API producer
            shall respond with this response code. The "ProblemDetails"
            structure shall be provided, and should include in the "detail"
            attribute more information about the source of the problem.

            If the response to a GET request which queries a container resource
            would be so big that the performance of the API producer is
            adversely affected, and the API producer does not support paging for
            the affected resource, it shall respond with this response code. The
            "ProblemDetails" structure shall be provided, and should include in
            the "detail" attribute more information about the source of the
            problem.

            If there is an application error related to the client's input that
            cannot be easily mapped to any other HTTP response code ("catch all
            error"), the API producer shall respond with this response code. The
            "ProblemDetails" structure shall be provided, and shall include in
            the "detail" attribute more information about the source of the
            problem.

            If the request contains a malformed access token, the API producer
            should respond with this response. The details of the error shall be
            returned in the WWW Authenticate HTTP header, as defined in IETF RFC
            6750 and IETF RFC 7235. The ProblemDetails structure may be
            provided.

            The use of this HTTP error response code described above is
            applicable to the use of the OAuth 2.0 for the authorization of API
            requests and notifications, as defined in clauses 4.5.3.3 and
            4.5.3.4.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '401':
          description: >
            401 UNAUTHORIZED

            If the request contains no access token even though one is required,
            or if the request contains an authorization token that is invalid
            (e.g. expired or revoked), the API producer should respond with this
            response. The details of the error shall be returned in the
            WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF
            RFC 7235. The ProblemDetails structure may be provided.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '403':
          description: >
            403 FORBIDDEN

            If the API consumer is not allowed to perform a particular request
            to a particular resource, the API producer shall respond with this
            response code. The "ProblemDetails" structure shall be provided. It
            should include in the "detail" attribute information about the
            source of the problem, and may indicate how to solve it.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '404':
          description: >
            404 NOT FOUND

            If the API producer did not find a current representation for the
            resource addressed by the URI passed in the request or is not
            willing to disclose that one exists, it shall respond with this
            response code. The "ProblemDetails" structure may be provided,
            including in the "detail" attribute information about the source of
            the problem, e.g. a wrong resource URI variable.

            This response code is not appropriate in case the resource addressed
            by the URI is a container resource which is designed to contain
            child resources, but does not contain any child resource at the time
            the request is received. For a GET request to an existing empty
            container resource, a typical response contains a 200 OK response
            code and a payload body with an empty array.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '405':
          description: >
            405 METHOD NOT ALLOWED

            If a particular HTTP method is not supported for a particular
            resource, the API producer shall respond with this response code.
            The "ProblemDetails" structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '406':
          description: >
            406 NOT ACCEPTABLE

            If the "Accept" HTTP header does not contain at least one name of a
            content type that is acceptable to the API producer, the API
            producer shall respond with this response code. The "ProblemDetails"
            structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '500':
          description: >
            500 INTERNAL SERVER ERROR

            If there is an application error not related to the client's input
            that cannot be easily mapped to any other HTTP response code ("catch
            all error"), the API producer shall respond with this response code.
            The "ProblemDetails" structure shall be provided, and shall include
            in the "detail" attribute more information about the source of the
            problem.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '503':
          description: >
            503 SERVICE UNAVAILABLE

            If the API producer encounters an internal overload situation of
            itself or of a system it relies on, it should respond with this
            response code, following the provisions in IETF RFC 7231 for the use
            of the "Retry-After" HTTP header and for the alternative to refuse
            the connection. The "ProblemDetails" structure may be omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
        '504':
          description: >
            504 GATEWAY TIMEOUT

            If the API producer encounters a timeout while waiting for a
            response from an upstream server (i.e. a server that the API
            producer communicates with when fulfilling a request), it should
            respond with this response code.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
components:
  parameters:
    VnfPkgId:
      name: vnfPkgId
      in: path
      description: |
        Identifier of the VNF package. The identifier is allocated by the NFVO.
      required: true
      style: simple
      explode: false
      schema:
        type: string
    ArtifactPath:
      name: artifactPath
      in: path
      description: >
        For an artifact contained as a file in the VNF package, this variable
        shall contain a sequence of one or more path

        segments representing the path of the artifact within the VNF package,
        relative to the root of the package.

        See note 3. EXAMPLE: foo/bar/m%40ster.sh For an external artifact
        represented as a URI in the VNF package manifest,

        this variable shall contain a sequence of one or more path segments as
        synthesized by the NFVO (see clause 9.5.3.3),

        representing this artifact. See note 2 and note 3
      required: true
      style: simple
      explode: false
      schema:
        type: string
    SubscriptionId:
      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
      style: simple
      explode: false
      schema:
        type: string
  requestBodies:
    VnfPackageCreationRequest:
      description: >
        IndividualVNF package resource creation parameters, as defined in clause
        9.5.2.2
      content:
        application/json:
          schema:
            type: object
            properties:
              userDefinedData:
                description: >
                  This type represents a list of key-value pairs. The order of
                  the pairs in the list is not significant. In JSON, a set of
                  key- value pairs is represented as an object. It shall comply
                  with the provisions defined in clause 4 of IETF RFC 7159.
                type: object
            description: >
              IndividualVNF package resource creation parameters, as defined in
              clause 9.5.2.2.
      required: true
    VnfPackageModificationRequest:
      description: |
        Parameters for VNF package information modifications.
      content:
        application/json:
          schema:
            description: >
              This type represents modifications to the information of a VNF
              package.  It shall comply with the provisions defined in Table
              9.5.2.3-1.
            anyOf:
              - required:
                  - operationalState
              - required:
                  - userDefinedData
            properties:
              operationalState:
                type: string
                description: >
                  "The enumeration PackageOperationalStateType shall  comply
                  with the provisions defined in Table 9.5.4.4-1." Acceptable
                  values are: - ENABLED - The VNF package is enabled, i.e. it
                  can be used for instantiation of new VNF instances. - DISABLED
                  - The VNF package is disabled, i.e. it cannot be used for
                  further VNF instantiation requests
                              (unless and until the VNF package is re-enabled).
                enum:
                  - ENABLED
                  - DISABLED
              userDefinedData:
                description: >
                  This type represents a list of key-value pairs. The order of
                  the pairs in the list is not significant. In JSON, a set of
                  key- value pairs is represented as an object. It shall comply
                  with the provisions defined in clause 4 of IETF RFC 7159.
                type: object
      required: true
    VnfPackageExtArtifactsRequest:
      description: >
        The payload body contains the access configuration information based on
        which the NFVO can obtain the

        external VNF package artifact files.
      content:
        application/json:
          schema:
            description: >
              This type represents the access configuration information for
              downloading external VNF package artifacts. The NFVO can obtain
              the external VNF package artifact file through the information
              provided in this structure, together with information provided in
              the manifest / VNFD. The data structure shall comply with the
              provisions defined in Table 9.5.2.10-1. If the data structure is
              part of a response body, security-sensitive attributes shall be
              excluded as specified in Table 9.5.2.10-1.
            type: object
            properties:
              artifact:
                description: |
                  Access configuration information for an external artifact.
                type: object
                required:
                  - artifactUri
                properties:
                  artifactUri:
                    description: |
                      String formatted according to IETF RFC 3986.
                    type: string
                    format: uri
                  overrideUri:
                    description: |
                      String formatted according to IETF RFC 3986.
                    type: string
                    format: uri
                  authType:
                    description: >
                      Defines the type of authentication / authorization for
                      downloading the VNF package. Permitted values: - BASIC:
                      Only the "username" and "password" attributes shall be
                      present. - OAUTH2_CLIENT_CREDENTIAL S: Only the
                      "paramsOauth2ClientCredentials" attribute shall be
                      present. This attribute shall not be present if no
                      credentials are provided for the artifact.
                    type: string
                    enum:
                      - BASIC
                      - OAUTH2_CLIENT_CREDENTIALS
                  username:
                    description: |
                      User name to be used for authentication.
                    type: string
                  password:
                    description: >
                      Password to be used for authentication. Shall not be
                      present in response bodies.
                    type: string
                  paramsOauth2ClientCredentials:
                    description: >
                      Parameters for authentication/authorization using
                      OAUTH2_CLIENT_CREDENTIALS.
                    type: object
                    required:
                      - clientId
                      - clientPassword
                      - tokenEndpoint
                    properties:
                      clientId:
                        description: >
                          Client identifier to be used in the access token
                          request of the OAuth 2.0 client credentials grant
                          type.
                        type: string
                      clientPassword:
                        description: >
                          Client password to be used in the access token request
                          of the OAuth 2.0 client credentials grant type. Shall
                          not be present in response bodies.
                        type: string
                      tokenEndpoint:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                        format: uri
      required: true
    VnfPackageContentRequest:
      content:
        application/binary:
          schema:
            properties:
              file:
                type: string
                description: >
                  The payload body contains a ZIP file that represents the VNF
                  package. The "Content-Type" HTTP header shall

                  be set according to the type of the file, i.e. to
                  "application/zip" for a VNF Package as defined in ETSI GS
                  NFV-SOL 004.
                format: binary
      required: true
    VnfPackageUploadFromUriRequest:
      description: >
        The payload body contains the address information based on which the
        NFVO can obtain the content of the VNF package.
      content:
        application/json:
          schema:
            description: >
              This type represents the request parameters for uploading the
              content of a VNF package. The NFVO can obtain the VNF package
              content through the information provided in the request
              parameters. It shall comply with the provisions defined in Table
              9.5.2.4-1.
            type: object
            required:
              - addressInformation
            properties:
              addressInformation:
                description: |
                  String formatted according to IETF RFC 3986.
                type: string
                format: uri
              authType:
                description: >
                  Defines the type of authentication / authorization for
                  downloading the VNF package. Permitted values: - BASIC: Only
                  the "username" and "password" attributes shall be present. -
                  OAUTH2_CLIENT_CREDENTIAL S: Only the
                  "paramsOauth2ClientCredentials" attribute shall be present.
                  This attribute shall not be present if no credentials are
                  provided for the artifact.
                type: string
                enum:
                  - BASIC
                  - OAUTH2_CLIENT_CREDENTIALS
              username:
                description: |
                  User name to be used for authentication.
                type: string
              password:
                description: >
                  Password to be used for authentication. Shall not be present
                  in response bodies.
                type: string
              paramsOauth2ClientCredentials:
                description: |
                  Parameters for authentication/authorization using OAuth 2.0.
                type: object
                required:
                  - clientId
                  - clientPassword
                  - tokenEndpoint
                properties:
                  clientId:
                    description: >
                      Client identifier to be used in the access token request
                      of the OAuth 2.0 client credentials grant type.
                    type: string
                  clientPassword:
                    description: >
                      Client password to be used in the access token request of
                      the OAuth 2.0 client credentials grant type. Shall not be
                      present in response bodies.
                    type: string
                  tokenEndpoint:
                    description: |
                      String formatted according to IETF RFC 3986.
                    type: string
                    format: uri
      required: true
    VnfPkgSubscriptionRequest:
      description: |
        Details of the subscription to be created.
      content:
        application/json:
          schema:
            description: >
              This type represents a subscription request related to VNF package
              management  notifications about VNF package on boarding or
              changes.
            type: object
            required:
              - callbackUri
            properties:
              filter:
                description: >
                  This type represents a subscription filter related to
                  notifications related to VNF package management. At a
                  particular nesting level in the filter structure, the
                  following applies: All attributes shall match in order for the
                  filter to match (logical "and" between different filter
                  attributes). If an attribute is an array, the attribute shall
                  match if at least one of the values in the array matches
                  (logical "or" between the values of one filter attribute).
                type: object
                properties:
                  notificationTypes:
                    description: >
                      Match particular notification types. Permitted values: -
                      VnfPackageOnboardingNotification -
                      VnfPackageChangeNotification
                    type: string
                    enum:
                      - VnfPackageOnboardingNotification
                      - VnfPackageChangeNotification
                  vnfProductsFromProviders:
                    description: >
                      If present, match VNF packages that contain VNF products
                      from certain providers.
                    type: array
                    items:
                      type: object
                      required:
                        - vnfProvider
                      oneOf:
                        - required:
                            - vnfProductsFromProviders
                        - required:
                            - vnfdId
                        - required:
                            - vnfPkgId
                      properties:
                        vnfProvider:
                          description: |
                            Name of the VNFprovider to match.
                          type: string
                        vnfProductsFromProviders:
                          description: >
                            If present, match VNF packages that contain VNF
                            products with certain product names, from one
                            particular provider.
                          type: array
                          items:
                            type: object
                            required:
                              - vnfProductName
                            properties:
                              vnfProductName:
                                description: |
                                  Name of the VNF product to match.
                                type: string
                              versions:
                                description: >
                                  If present, match VNF packages that contain
                                  VNF products with certain versions and a
                                  certain product name, from one particular
                                  provider.
                                type: array
                                items:
                                  type: object
                                  required:
                                    - vnfSoftwareVersion
                                  properties:
                                    vnfSoftwareVersion:
                                      description: >
                                        A Version. Representation: string of
                                        variable length.
                                      type: string
                                    vnfdVersions:
                                      description: >
                                        If present, match VNF packages that
                                        contain VNF products with certain VNFD
                                        versions, a certain software version and
                                        a certain product name, from one
                                        particular provider.
                                      type: array
                                      items:
                                        description: >
                                          A Version. Representation: string of
                                          variable length.
                                        type: string
                        vnfdId:
                          description: >
                            Match VNF packages with a VNFD identifier listed in
                            the attribute.
                          type: array
                          items:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                        vnfPkgId:
                          description: >
                            Match VNF packages with a package identifier listed
                            in the attribute. May be present if the
                            "notificationTypes" attribute contains the value
                            "VnfPackageChangeNotification", and shall be absent
                            otherwise.
                          type: array
                          items:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                        operationalState:
                          description: >
                            Match VNF packages with a package identifier listed
                            in the attribute. May be present if the
                            "notificationTypes" attribute contains the value
                            "VnfPackageChangeNotification", and shall be absent
                            otherwise.
                          type: array
                          items:
                            type: string
                            description: >
                              "The enumeration PackageOperationalStateType
                              shall  comply with the provisions defined in Table
                              9.5.4.4-1." Acceptable values are: - ENABLED - The
                              VNF package is enabled, i.e. it can be used for
                              instantiation of new VNF instances. - DISABLED -
                              The VNF package is disabled, i.e. it cannot be
                              used for further VNF instantiation requests
                                          (unless and until the VNF package is re-enabled).
                            enum:
                              - ENABLED
                              - DISABLED
                        usageState:
                          description: >
                            Match particular usage state of the on-boarded VNF
                            package. May be present if the "notificationTypes"
                            attribute contains the value
                            "VnfPackageChangeNotification", and shall be absent
                            otherwise.
                          type: array
                          items:
                            type: string
                            description: >
                              "The enumeration PackageUsageStateType shall
                              comply with the provisions. Acceptable values are:
                              - IN_USE: "Individual VNF instance" resources
                              created from this VNF package exist. - NOT_IN_USE:
                              No "individual VNF instance" resource created from
                              this VNF package exists.
                            enum:
                              - IN_USE
                              - NOT_IN_USE
                        vnfmInfo:
                          description: >
                            Match strings that specify VNFMs compatible with the
                            VNF. See Table 9.5.2.5-1.
                          type: array
                          items:
                            type: string
              callbackUri:
                description: |
                  String formatted according to IETF RFC 3986.
                type: string
                format: uri
              authentication:
                type: object
                required:
                  - authType
                properties:
                  authType:
                    description: >
                      Defines the types of Authentication / Authorization which
                      the API consumer is willing to accept when receiving a
                      notification. Permitted values: - BASIC: In every HTTP
                      request to the notification endpoint, use
                        HTTP Basic authentication with the client credentials.
                      - OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the
                        notification endpoint, use an OAuth 2.0 Bearer token, obtained
                        using the client credentials grant type.
                      - TLS_CERT: Every HTTP request to the notification
                      endpoint is sent
                        over a mutually authenticated TLS session, i.e. not only the
                        server is authenticated, but also the client is authenticated
                        during the TLS tunnel setup.
                    type: array
                    items:
                      type: string
                      enum:
                        - BASIC
                        - OAUTH2_CLIENT_CREDENTIALS
                        - TLS_CERT
                  paramsBasic:
                    description: >
                      Parameters for authentication/authorization using BASIC.
                      Shall be present if authType is "BASIC" and the contained
                      information has not been provisioned out of band. Shall be
                      absent otherwise.
                    type: object
                    properties:
                      userName:
                        description: >
                          Username to be used in HTTP Basic authentication.
                          Shall be present if it has not been provisioned out of
                          band.
                        type: string
                      password:
                        description: >
                          Password to be used in HTTP Basic authentication.
                          Shall be present if it has not been provisioned out of
                          band.
                        type: string
                  paramsOauth2ClientCredentials:
                    description: >
                      Parameters for authentication/authorization using
                      OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is
                      "OAUTH2_CLIENT_CREDENTIALS" and the contained information
                      has not been provisioned out of band. Shall be absent
                      otherwise.
                    type: object
                    properties:
                      clientId:
                        description: >
                          Client identifier to be used in the access token
                          request of the OAuth 2.0 client credentials grant
                          type. Shall be present if it has not been provisioned
                          out of band. The clientId and clientPassword passed in
                          a subscription shall not be the same as the clientId
                          and clientPassword that are used to obtain
                          authorization for API requests. Client credentials may
                          differ between subscriptions. The value of
                          clientPassword should be generated by a random
                          process.
                        type: string
                      clientPassword:
                        description: >
                          Client password to be used in the access token request
                          of the OAuth 2.0 client credentials grant type. Shall
                          be present if it has not been provisioned out of band.
                          The clientId and clientPassword passed in a
                          subscription shall not be the same as the clientId and
                          clientPassword that are used to obtain authorization
                          for API requests. Client credentials may differ
                          between subscriptions. The value of clientPassword
                          should be generated by a random process.
                        type: string
                      tokenEndpoint:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                        format: uri
      required: true
  responses:
    VnfPackages.Get:
      description: >
        200 OK

        Shall be returned when information about zero or more VNF packages has
        been queried successfully.

        The response body shall contain in an array the VNF package info
        representations that match the attribute

        filter, i.e. zero or more VNF package info representations as defined in
        clause 9.5.2.5.

        If the "filter" URI parameter or one of the "all_fields", "fields",
        "exclude_fields" or "exclude_default"

        URI parameters was supplied in the request and is supported, the data in
        the response body shall have been

        transformed according to the rules specified in clauses 5.2.2 and 5.3.2
        of ETSI GS NFV SOL 013, respectively.

        If the NFVO 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:
        Version:
          description: |
            Version of the API used in the response.
          style: simple
          explode: false
          schema:
            type: string
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the

            corresponding HTTP request has provided an invalid authorization
            token.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: The MIME type of the body of the response.
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            type: array
            items:
              type: object
              required:
                - id
                - packageSecurityOption
                - onboardingState
                - operationalState
                - usageState
                - vnfmInfo
                - _links
              properties:
                id:
                  description: |
                    An identifier with the intention of being globally unique.
                  type: string
                vnfdId:
                  description: |
                    An identifier with the intention of being globally unique.
                  type: string
                vnfProvider:
                  description: >
                    Provider of the VNF package and the VNFD. This information
                    is copied from the VNFD.  It shall be present after the VNF
                    package content has been on-boarded and absent otherwise.
                  type: string
                vnfProductName:
                  description: >
                    Name to identify the VNF product.Invariant for the VNF
                    product lifetime.  This information is copied from the VNFD.
                    It shall be present after the VNF package content has been
                    on-boarded and absent otherwise.
                  type: string
                vnfSoftwareVersion:
                  description: |
                    A Version. Representation: string of variable length.
                  type: string
                vnfdVersion:
                  description: |
                    A Version. Representation: string of variable length.
                  type: string
                compatibleSpecificationVersions:
                  description: |
                    A Version. Representation: string of variable length.
                  type: string
                checksum:
                  description: >
                    This type represents the checksum of a VNF package or an
                    artifact file.
                  required:
                    - algorithm
                    - hash
                  type: object
                  properties:
                    algorithm:
                      description: >
                        Name of the algorithm used to generate the checksum, as
                        defined in ETSI GS NFV-SOL 004 [5]. For example,
                        SHA-256, SHA-512.
                      type: string
                    hash:
                      description: |
                        The hexadecimal value of the checksum.
                      type: string
                packageSecurityOption:
                  description: >
                    Signals the security option used by the package as defined
                    in clause 5.1 of ETSI GS NFV-SOL 004 [5]. Valid values:
                    OPTION_1, OPTION_2
                  type: string
                  enum:
                    - OPTION_1
                    - OPTION_2
                signingCertificate:
                  description: >
                    The singleton signing certificate if it is included as a
                    file in the VNF package.
                  type: string
                softwareImages:
                  description: >
                    Information about VNF package artifacts that are software
                    images. This attribute shall not be present before the VNF
                    package content is on-boarded. Otherwise, this attribute
                    shall be present unless it has been requested to be excluded
                    per attribute selector.
                  type: array
                  items:
                    description: >
                      This type represents an artifact contained in or external
                      to a VNF package which represents a software image.
                    required:
                      - id
                      - name
                      - provider
                      - version
                      - checksum
                      - isEncrypted
                      - containerFormat
                      - diskFormat
                      - createdAt
                      - minDisk
                      - minRam
                      - size
                      - imagePath
                    type: object
                    properties:
                      id:
                        description: >
                          Identifier of the VNF Virtual Link Descriptor (VLD) in
                          the VNFD.
                        type: string
                      name:
                        description: |
                          Name of the software image.
                        type: string
                      provider:
                        description: |
                          Provider of the software image.
                        type: string
                      version:
                        description: |
                          A Version. Representation: string of variable length.
                        type: string
                      checksum:
                        description: >
                          This type represents the checksum of a VNF package or
                          an artifact file.
                        required:
                          - algorithm
                          - hash
                        type: object
                        properties:
                          algorithm:
                            description: >
                              Name of the algorithm used to generate the
                              checksum, as defined in ETSI GS NFV-SOL 004 [5].
                              For example, SHA-256, SHA-512.
                            type: string
                          hash:
                            description: |
                              The hexadecimal value of the checksum.
                            type: string
                      isEncrypted:
                        description: >
                          Reflects whether the image is encrypted (true) or not
                          (false).
                        type: boolean
                      containerFormat:
                        description: >
                          Container format indicates whether the software image
                          is in a file format that also contains meta-data about
                          the actual software. Permitted values: - AKI: a kernel
                          image format - AMI: a machine image format - ARI: a
                          ram disk image format - BARE: the image does not have
                          a container or meta-data envelope - DOCKER: docker
                          container format - OVA: OVF package in a tar file -
                          OVF: OVF container format
                        type: string
                        enum:
                          - AKI
                          - AMI
                          - ARI
                          - BARE
                          - DOCKER
                          - OVA
                          - OVF
                      diskFormat:
                        description: >
                          Disk format of a software image is the format of the
                          underlying disk image. Permitted values: - AKI: a
                          kernel image format - AMI: a machine image format -
                          ARI: a ramdisk image format - ISO: an archive format
                          for the data contents of an optical disc, such as
                          CD-ROM - QCOW2: a common disk image format, which can
                          expand dynamically and supports copy on write - RAW:
                          an unstructured disk image format - VDI: a common disk
                          image format - VHD: a common disk image format - VHDX:
                          enhanced version of VHD format - VMDK: a common disk
                          image format
                        type: string
                        enum:
                          - AKI
                          - AMI
                          - ARI
                          - ISO
                          - QCOW2
                          - RAW
                          - VDI
                          - VHD
                          - VHDX
                          - VMDK
                      createdAt:
                        description: >
                          Date-time stamp. Representation: String formatted
                          according toas defined by the date-time production in
                          IETF RFC 3339.
                        format: date-time
                      minDisk:
                        description: |
                          The minimal disk for this software image in bytes.
                        type: integer
                        minimum: 0
                      minRam:
                        description: |
                          The minimal RAM for this software image in bytes.
                        type: integer
                        minimum: 0
                      size:
                        description: |
                          Size of this software image in bytes.
                        type: integer
                        minimum: 0
                      userMetadata:
                        description: >
                          This type represents a list of key-value pairs. The
                          order of the pairs in the list is not significant. In
                          JSON, a set of key- value pairs is represented as an
                          object. It shall comply with the provisions defined in
                          clause 4 of IETF RFC 7159.
                        type: object
                      imagePath:
                        description: "Path, which identifies the image artifact and also allows to access a copy of the image artifact. For a software image contained as a file in the VNF package, this attribute shall be present, and the value of this attribute shall start with the name of the first segment in the path in the package, i.e., it shall not be prefixed by path separator characters such as \".\" and \"/\".\nEXAMPLE:\tfoo/bar/m%40ster.vhd\nFor an external software image represented as a URI in the VNF descriptor, this attribute shall be present if the image artifact has been downloaded by the NFVO and shall be absent otherwise. If present, it shall contain the artifactPath under which the image artifact can be obtained using the \"Individual artifact in a VNF package\" resource defined in clause 9.4.7. It is the responsibility of the NFVO to synthesize this path in a manner that avoids any collision of the synthesized artifact path with the paths and names of image artifacts included in the package.\n"
                        type: string
                      imageUri:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                        format: uri
                additionalArtifacts:
                  description: >
                    Information about VNF package artifacts contained in the VNF
                    package that are not software images. This attribute shall
                    not be present before the VNF package content is on-boarded.
                    Otherwise, this attribute shall be present if the VNF
                    package contains additional artifacts.
                  type: array
                  items:
                    description: >
                      This type represents an artifact other than a software
                      image which is contained in or external to a VNF package.
                      It shall comply with provisions defined in Table
                      9.5.3.3-1.
                    required:
                      - isEncrypted
                      - checksum
                    type: object
                    properties:
                      artifactPath:
                        description: |
                          A string as defined in IETF RFC 8259.
                        type: string
                      artifactURI:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                        format: uri
                      checksum:
                        description: >
                          This type represents the checksum of a VNF package or
                          an artifact file.
                        required:
                          - algorithm
                          - hash
                        type: object
                        properties:
                          algorithm:
                            description: >
                              Name of the algorithm used to generate the
                              checksum, as defined in ETSI GS NFV-SOL 004 [5].
                              For example, SHA-256, SHA-512.
                            type: string
                          hash:
                            description: |
                              The hexadecimal value of the checksum.
                            type: string
                      artifactClassification:
                        description: >
                          Marks specific types of artifacts as defined in the
                          VNF package. If none of the specific classes listed
                          below applies, the attribute shall not be present.
                          Valid values: - HISTORY: a history artifact as per
                          clause 4.3.3 in ETSI GS NFV-SOL 004 [5] - TESTING: a
                          testing artifact as per clause 4.3.4 in ETSI GS
                          NFV-SOL 004 [5] - LICENSE: a license artifact as per
                          clause 4.3.5 in ETSI GS NFV-SOL 004 [5]
                        type: string
                        enum:
                          - HISTORY
                          - TESTING
                          - LICENSE
                      isEncrypted:
                        description: >
                          Reflects whether the artifact is encrypted (true) or
                          not (false).
                        type: boolean
                      nonManoArtifactSetId:
                        description: >
                          Non-MANO artifact set identifier of the non-MANO
                          artifact set to which the artifact belongs, as defined
                          in clause 4.3.7 of ETSI GS NFV-SOL 004 [5]. Shall be
                          provided if the artifact is a non-MANO artifact, and
                          shall be omitted otherwise.
                        type: string
                      metadata:
                        description: >
                          This type represents a list of key-value pairs. The
                          order of the pairs in the list is not significant. In
                          JSON, a set of key- value pairs is represented as an
                          object. It shall comply with the provisions defined in
                          clause 4 of IETF RFC 7159.
                        type: object
                onboardingState:
                  description: >
                    The enumeration PackageOnboardingStateType shall comply with
                    the provisions defined in Table 9.5.4.3-1. Permitted values:
                    - CREATED: The VNF package resource has been created. -
                    UPLOADING: The associated VNF package content is being
                    uploaded. - PROCESSING: The associated VNF package content
                    is being processed, e.g. validation. - ONBOARDED: The
                    associated VNF package content is successfully on-boarded. -
                    ERROR: There was an error during upload of the VNF package
                    content or external artifacts, or during VNF package
                    processing.
                  type: string
                  enum:
                    - CREATED
                    - UPLOADING
                    - PROCESSING
                    - ONBOARDED
                    - ERROR
                operationalState:
                  type: string
                  description: >
                    "The enumeration PackageOperationalStateType shall  comply
                    with the provisions defined in Table 9.5.4.4-1." Acceptable
                    values are: - ENABLED - The VNF package is enabled, i.e. it
                    can be used for instantiation of new VNF instances. -
                    DISABLED - The VNF package is disabled, i.e. it cannot be
                    used for further VNF instantiation requests
                                (unless and until the VNF package is re-enabled).
                  enum:
                    - ENABLED
                    - DISABLED
                usageState:
                  type: string
                  description: >
                    "The enumeration PackageUsageStateType shall comply with the
                    provisions. Acceptable values are: - IN_USE: "Individual VNF
                    instance" resources created from this VNF package exist. -
                    NOT_IN_USE: No "individual VNF instance" resource created
                    from this VNF package exists.
                  enum:
                    - IN_USE
                    - NOT_IN_USE
                vnfmInfo:
                  description: >
                    Specifies VNFMs compatible with the VNF. This information is
                    copied from the VNFD. See note 4.
                  type: array
                  items:
                    type: string
                userDefinedData:
                  description: >
                    This type represents a list of key-value pairs. The order of
                    the pairs in the list is not significant. In JSON, a set of
                    key- value pairs is represented as an object. It shall
                    comply with the provisions defined in clause 4 of IETF RFC
                    7159.
                  type: object
                onboardingFailureDetails:
                  description: >
                    The definition of the general "ProblemDetails" data
                    structure from IETF RFC 7807 [19] is reproduced in this
                    structure. Compared to the general framework defined in IETF
                    RFC 7807 [19], the "status" and "detail" attributes are
                    mandated to be included by the present document, to ensure
                    that the response contains additional textual information
                    about an error. IETF RFC 7807 [19] foresees extensibility of
                    the "ProblemDetails" type. It is possible that particular
                    APIs in the present document, or particular implementations,
                    define extensions to define additional attributes that
                    provide more information about the error. The description
                    column only provides some explanation of the meaning to
                    Facilitate understanding of the design. For a full
                    description, see IETF RFC 7807 [19].
                  type: object
                  required:
                    - status
                    - detail
                  properties:
                    type:
                      description: >
                        A URI reference according to IETF RFC 3986 [5] that
                        identifies the problem type. It is encouraged that the
                        URI provides human-readable documentation for the
                        problem (e.g. using HTML) when dereferenced. When this
                        member is not present, its value is assumed to be
                        "about:blank".
                      type: string
                      format: URI
                    title:
                      description: >
                        A short, human-readable summary of the problem type. It
                        should not change from occurrence to occurrence of the
                        problem, except for purposes of localization. If type is
                        given and other than "about:blank", this attribute shall
                        also be provided. A short, human-readable summary of the
                        problem type.  It SHOULD NOT change from occurrence to
                        occurrence of the problem, except for purposes of
                        localization (e.g., using proactive content negotiation;
                        see [RFC7231], Section 3.4).
                      type: string
                    status:
                      description: >
                        The HTTP status code for this occurrence of the problem.
                        The HTTP status code ([RFC7231], Section 6) generated by
                        the origin server for this occurrence of the problem.
                      type: integer
                    detail:
                      description: >
                        A human-readable explanation specific to this occurrence
                        of the problem.
                      type: string
                    instance:
                      description: >
                        A URI reference that identifies the specific occurrence
                        of the problem. It may yield further information if
                        dereferenced.
                      type: string
                      format: URI
                _links:
                  type: object
                  description: |
                    Links to resources related to this resource.
                  required:
                    - self
                    - packageContent
                    - vnfd
                  properties:
                    self:
                      description: |
                        This type represents a link to a resource.
                      type: object
                      required:
                        - href
                      properties:
                        href:
                          description: >
                            URI of a resource referenced from a notification.
                            Should be an absolute URI (i.e. a URI that contains
                            {apiRoot}), however, may be a relative URI (i.e. a
                            URI where the {apiRoot} part is omitted) if the
                            {apiRoot} information is not available.
                          type: string
                          format: url
                    vnfd:
                      description: |
                        This type represents a link to a resource.
                      type: object
                      required:
                        - href
                      properties:
                        href:
                          description: >
                            URI of a resource referenced from a notification.
                            Should be an absolute URI (i.e. a URI that contains
                            {apiRoot}), however, may be a relative URI (i.e. a
                            URI where the {apiRoot} part is omitted) if the
                            {apiRoot} information is not available.
                          type: string
                          format: url
                    packageContent:
                      description: |
                        This type represents a link to a resource.
                      type: object
                      required:
                        - href
                      properties:
                        href:
                          description: >
                            URI of a resource referenced from a notification.
                            Should be an absolute URI (i.e. a URI that contains
                            {apiRoot}), however, may be a relative URI (i.e. a
                            URI where the {apiRoot} part is omitted) if the
                            {apiRoot} information is not available.
                          type: string
                          format: url
    VnfPackages.Post:
      description: >
        201 Created

        Shall be returned when an "Individual VNF package" resource has been
        created successfully. The response body

        shall contain a representation of the new individual VNF package
        resource, as defined in clause 9.5.2.5.

        The HTTP response shall include a "Location" HTTP header that contains
        the resource URI of the individual

        VNF package resource.
      headers:
        Version:
          description: |
            Version of the API used in the response.
          style: simple
          explode: false
          schema:
            type: string
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the

            corresponding HTTP request has provided an invalid authorization
            token.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: >
            The MIME type of the body of the response.This header field shall be
            present if the response has a

            non-empty message body.
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            type: object
            required:
              - id
              - packageSecurityOption
              - onboardingState
              - operationalState
              - usageState
              - vnfmInfo
              - _links
            properties:
              id:
                description: |
                  An identifier with the intention of being globally unique.
                type: string
              vnfdId:
                description: |
                  An identifier with the intention of being globally unique.
                type: string
              vnfProvider:
                description: >
                  Provider of the VNF package and the VNFD. This information is
                  copied from the VNFD.  It shall be present after the VNF
                  package content has been on-boarded and absent otherwise.
                type: string
              vnfProductName:
                description: >
                  Name to identify the VNF product.Invariant for the VNF product
                  lifetime.  This information is copied from the VNFD. It shall
                  be present after the VNF package content has been on-boarded
                  and absent otherwise.
                type: string
              vnfSoftwareVersion:
                description: |
                  A Version. Representation: string of variable length.
                type: string
              vnfdVersion:
                description: |
                  A Version. Representation: string of variable length.
                type: string
              compatibleSpecificationVersions:
                description: |
                  A Version. Representation: string of variable length.
                type: string
              checksum:
                description: >
                  This type represents the checksum of a VNF package or an
                  artifact file.
                required:
                  - algorithm
                  - hash
                type: object
                properties:
                  algorithm:
                    description: >
                      Name of the algorithm used to generate the checksum, as
                      defined in ETSI GS NFV-SOL 004 [5]. For example, SHA-256,
                      SHA-512.
                    type: string
                  hash:
                    description: |
                      The hexadecimal value of the checksum.
                    type: string
              packageSecurityOption:
                description: >
                  Signals the security option used by the package as defined in
                  clause 5.1 of ETSI GS NFV-SOL 004 [5]. Valid values: OPTION_1,
                  OPTION_2
                type: string
                enum:
                  - OPTION_1
                  - OPTION_2
              signingCertificate:
                description: >
                  The singleton signing certificate if it is included as a file
                  in the VNF package.
                type: string
              softwareImages:
                description: >
                  Information about VNF package artifacts that are software
                  images. This attribute shall not be present before the VNF
                  package content is on-boarded. Otherwise, this attribute shall
                  be present unless it has been requested to be excluded per
                  attribute selector.
                type: array
                items:
                  description: >
                    This type represents an artifact contained in or external to
                    a VNF package which represents a software image.
                  required:
                    - id
                    - name
                    - provider
                    - version
                    - checksum
                    - isEncrypted
                    - containerFormat
                    - diskFormat
                    - createdAt
                    - minDisk
                    - minRam
                    - size
                    - imagePath
                  type: object
                  properties:
                    id:
                      description: >
                        Identifier of the VNF Virtual Link Descriptor (VLD) in
                        the VNFD.
                      type: string
                    name:
                      description: |
                        Name of the software image.
                      type: string
                    provider:
                      description: |
                        Provider of the software image.
                      type: string
                    version:
                      description: |
                        A Version. Representation: string of variable length.
                      type: string
                    checksum:
                      description: >
                        This type represents the checksum of a VNF package or an
                        artifact file.
                      required:
                        - algorithm
                        - hash
                      type: object
                      properties:
                        algorithm:
                          description: >
                            Name of the algorithm used to generate the checksum,
                            as defined in ETSI GS NFV-SOL 004 [5]. For example,
                            SHA-256, SHA-512.
                          type: string
                        hash:
                          description: |
                            The hexadecimal value of the checksum.
                          type: string
                    isEncrypted:
                      description: >
                        Reflects whether the image is encrypted (true) or not
                        (false).
                      type: boolean
                    containerFormat:
                      description: >
                        Container format indicates whether the software image is
                        in a file format that also contains meta-data about the
                        actual software. Permitted values: - AKI: a kernel image
                        format - AMI: a machine image format - ARI: a ram disk
                        image format - BARE: the image does not have a container
                        or meta-data envelope - DOCKER: docker container format
                        - OVA: OVF package in a tar file - OVF: OVF container
                        format
                      type: string
                      enum:
                        - AKI
                        - AMI
                        - ARI
                        - BARE
                        - DOCKER
                        - OVA
                        - OVF
                    diskFormat:
                      description: >
                        Disk format of a software image is the format of the
                        underlying disk image. Permitted values: - AKI: a kernel
                        image format - AMI: a machine image format - ARI: a
                        ramdisk image format - ISO: an archive format for the
                        data contents of an optical disc, such as CD-ROM -
                        QCOW2: a common disk image format, which can expand
                        dynamically and supports copy on write - RAW: an
                        unstructured disk image format - VDI: a common disk
                        image format - VHD: a common disk image format - VHDX:
                        enhanced version of VHD format - VMDK: a common disk
                        image format
                      type: string
                      enum:
                        - AKI
                        - AMI
                        - ARI
                        - ISO
                        - QCOW2
                        - RAW
                        - VDI
                        - VHD
                        - VHDX
                        - VMDK
                    createdAt:
                      description: >
                        Date-time stamp. Representation: String formatted
                        according toas defined by the date-time production in
                        IETF RFC 3339.
                      format: date-time
                    minDisk:
                      description: |
                        The minimal disk for this software image in bytes.
                      type: integer
                      minimum: 0
                    minRam:
                      description: |
                        The minimal RAM for this software image in bytes.
                      type: integer
                      minimum: 0
                    size:
                      description: |
                        Size of this software image in bytes.
                      type: integer
                      minimum: 0
                    userMetadata:
                      description: >
                        This type represents a list of key-value pairs. The
                        order of the pairs in the list is not significant. In
                        JSON, a set of key- value pairs is represented as an
                        object. It shall comply with the provisions defined in
                        clause 4 of IETF RFC 7159.
                      type: object
                    imagePath:
                      description: "Path, which identifies the image artifact and also allows to access a copy of the image artifact. For a software image contained as a file in the VNF package, this attribute shall be present, and the value of this attribute shall start with the name of the first segment in the path in the package, i.e., it shall not be prefixed by path separator characters such as \".\" and \"/\".\nEXAMPLE:\tfoo/bar/m%40ster.vhd\nFor an external software image represented as a URI in the VNF descriptor, this attribute shall be present if the image artifact has been downloaded by the NFVO and shall be absent otherwise. If present, it shall contain the artifactPath under which the image artifact can be obtained using the \"Individual artifact in a VNF package\" resource defined in clause 9.4.7. It is the responsibility of the NFVO to synthesize this path in a manner that avoids any collision of the synthesized artifact path with the paths and names of image artifacts included in the package.\n"
                      type: string
                    imageUri:
                      description: |
                        String formatted according to IETF RFC 3986.
                      type: string
                      format: uri
              additionalArtifacts:
                description: >
                  Information about VNF package artifacts contained in the VNF
                  package that are not software images. This attribute shall not
                  be present before the VNF package content is on-boarded.
                  Otherwise, this attribute shall be present if the VNF package
                  contains additional artifacts.
                type: array
                items:
                  description: >
                    This type represents an artifact other than a software image
                    which is contained in or external to a VNF package. It shall
                    comply with provisions defined in Table 9.5.3.3-1.
                  required:
                    - isEncrypted
                    - checksum
                  type: object
                  properties:
                    artifactPath:
                      description: |
                        A string as defined in IETF RFC 8259.
                      type: string
                    artifactURI:
                      description: |
                        String formatted according to IETF RFC 3986.
                      type: string
                      format: uri
                    checksum:
                      description: >
                        This type represents the checksum of a VNF package or an
                        artifact file.
                      required:
                        - algorithm
                        - hash
                      type: object
                      properties:
                        algorithm:
                          description: >
                            Name of the algorithm used to generate the checksum,
                            as defined in ETSI GS NFV-SOL 004 [5]. For example,
                            SHA-256, SHA-512.
                          type: string
                        hash:
                          description: |
                            The hexadecimal value of the checksum.
                          type: string
                    artifactClassification:
                      description: >
                        Marks specific types of artifacts as defined in the VNF
                        package. If none of the specific classes listed below
                        applies, the attribute shall not be present. Valid
                        values: - HISTORY: a history artifact as per clause
                        4.3.3 in ETSI GS NFV-SOL 004 [5] - TESTING: a testing
                        artifact as per clause 4.3.4 in ETSI GS NFV-SOL 004 [5]
                        - LICENSE: a license artifact as per clause 4.3.5 in
                        ETSI GS NFV-SOL 004 [5]
                      type: string
                      enum:
                        - HISTORY
                        - TESTING
                        - LICENSE
                    isEncrypted:
                      description: >
                        Reflects whether the artifact is encrypted (true) or not
                        (false).
                      type: boolean
                    nonManoArtifactSetId:
                      description: >
                        Non-MANO artifact set identifier of the non-MANO
                        artifact set to which the artifact belongs, as defined
                        in clause 4.3.7 of ETSI GS NFV-SOL 004 [5]. Shall be
                        provided if the artifact is a non-MANO artifact, and
                        shall be omitted otherwise.
                      type: string
                    metadata:
                      description: >
                        This type represents a list of key-value pairs. The
                        order of the pairs in the list is not significant. In
                        JSON, a set of key- value pairs is represented as an
                        object. It shall comply with the provisions defined in
                        clause 4 of IETF RFC 7159.
                      type: object
              onboardingState:
                description: >
                  The enumeration PackageOnboardingStateType shall comply with
                  the provisions defined in Table 9.5.4.3-1. Permitted values: -
                  CREATED: The VNF package resource has been created. -
                  UPLOADING: The associated VNF package content is being
                  uploaded. - PROCESSING: The associated VNF package content is
                  being processed, e.g. validation. - ONBOARDED: The associated
                  VNF package content is successfully on-boarded. - ERROR: There
                  was an error during upload of the VNF package content or
                  external artifacts, or during VNF package processing.
                type: string
                enum:
                  - CREATED
                  - UPLOADING
                  - PROCESSING
                  - ONBOARDED
                  - ERROR
              operationalState:
                type: string
                description: >
                  "The enumeration PackageOperationalStateType shall  comply
                  with the provisions defined in Table 9.5.4.4-1." Acceptable
                  values are: - ENABLED - The VNF package is enabled, i.e. it
                  can be used for instantiation of new VNF instances. - DISABLED
                  - The VNF package is disabled, i.e. it cannot be used for
                  further VNF instantiation requests
                              (unless and until the VNF package is re-enabled).
                enum:
                  - ENABLED
                  - DISABLED
              usageState:
                type: string
                description: >
                  "The enumeration PackageUsageStateType shall comply with the
                  provisions. Acceptable values are: - IN_USE: "Individual VNF
                  instance" resources created from this VNF package exist. -
                  NOT_IN_USE: No "individual VNF instance" resource created from
                  this VNF package exists.
                enum:
                  - IN_USE
                  - NOT_IN_USE
              vnfmInfo:
                description: >
                  Specifies VNFMs compatible with the VNF. This information is
                  copied from the VNFD. See note 4.
                type: array
                items:
                  type: string
              userDefinedData:
                description: >
                  This type represents a list of key-value pairs. The order of
                  the pairs in the list is not significant. In JSON, a set of
                  key- value pairs is represented as an object. It shall comply
                  with the provisions defined in clause 4 of IETF RFC 7159.
                type: object
              onboardingFailureDetails:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
              _links:
                type: object
                description: |
                  Links to resources related to this resource.
                required:
                  - self
                  - packageContent
                  - vnfd
                properties:
                  self:
                    description: |
                      This type represents a link to a resource.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: >
                          URI of a resource referenced from a notification.
                          Should be an absolute URI (i.e. a URI that contains
                          {apiRoot}), however, may be a relative URI (i.e. a URI
                          where the {apiRoot} part is omitted) if the {apiRoot}
                          information is not available.
                        type: string
                        format: url
                  vnfd:
                    description: |
                      This type represents a link to a resource.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: >
                          URI of a resource referenced from a notification.
                          Should be an absolute URI (i.e. a URI that contains
                          {apiRoot}), however, may be a relative URI (i.e. a URI
                          where the {apiRoot} part is omitted) if the {apiRoot}
                          information is not available.
                        type: string
                        format: url
                  packageContent:
                    description: |
                      This type represents a link to a resource.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: >
                          URI of a resource referenced from a notification.
                          Should be an absolute URI (i.e. a URI that contains
                          {apiRoot}), however, may be a relative URI (i.e. a URI
                          where the {apiRoot} part is omitted) if the {apiRoot}
                          information is not available.
                        type: string
                        format: url
    IndividualVnfPackage.Get:
      description: >
        200 OK

        Shall be returned when information of the VNF package has been read
        successfully. The response body shall

        contain the VNF package info representation defined in clause 9.5.2.5.
      headers:
        Version:
          description: |
            Version of the API used in the response.
          style: simple
          explode: false
          schema:
            type: string
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the

            corresponding HTTP request has provided an invalid authorization
            token.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: >
            The MIME type of the body of the response.This header field shall be
            present if the response has a

            non-empty message body.
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            type: object
            required:
              - id
              - packageSecurityOption
              - onboardingState
              - operationalState
              - usageState
              - vnfmInfo
              - _links
            properties:
              id:
                description: |
                  An identifier with the intention of being globally unique.
                type: string
              vnfdId:
                description: |
                  An identifier with the intention of being globally unique.
                type: string
              vnfProvider:
                description: >
                  Provider of the VNF package and the VNFD. This information is
                  copied from the VNFD.  It shall be present after the VNF
                  package content has been on-boarded and absent otherwise.
                type: string
              vnfProductName:
                description: >
                  Name to identify the VNF product.Invariant for the VNF product
                  lifetime.  This information is copied from the VNFD. It shall
                  be present after the VNF package content has been on-boarded
                  and absent otherwise.
                type: string
              vnfSoftwareVersion:
                description: |
                  A Version. Representation: string of variable length.
                type: string
              vnfdVersion:
                description: |
                  A Version. Representation: string of variable length.
                type: string
              compatibleSpecificationVersions:
                description: |
                  A Version. Representation: string of variable length.
                type: string
              checksum:
                description: >
                  This type represents the checksum of a VNF package or an
                  artifact file.
                required:
                  - algorithm
                  - hash
                type: object
                properties:
                  algorithm:
                    description: >
                      Name of the algorithm used to generate the checksum, as
                      defined in ETSI GS NFV-SOL 004 [5]. For example, SHA-256,
                      SHA-512.
                    type: string
                  hash:
                    description: |
                      The hexadecimal value of the checksum.
                    type: string
              packageSecurityOption:
                description: >
                  Signals the security option used by the package as defined in
                  clause 5.1 of ETSI GS NFV-SOL 004 [5]. Valid values: OPTION_1,
                  OPTION_2
                type: string
                enum:
                  - OPTION_1
                  - OPTION_2
              signingCertificate:
                description: >
                  The singleton signing certificate if it is included as a file
                  in the VNF package.
                type: string
              softwareImages:
                description: >
                  Information about VNF package artifacts that are software
                  images. This attribute shall not be present before the VNF
                  package content is on-boarded. Otherwise, this attribute shall
                  be present unless it has been requested to be excluded per
                  attribute selector.
                type: array
                items:
                  description: >
                    This type represents an artifact contained in or external to
                    a VNF package which represents a software image.
                  required:
                    - id
                    - name
                    - provider
                    - version
                    - checksum
                    - isEncrypted
                    - containerFormat
                    - diskFormat
                    - createdAt
                    - minDisk
                    - minRam
                    - size
                    - imagePath
                  type: object
                  properties:
                    id:
                      description: >
                        Identifier of the VNF Virtual Link Descriptor (VLD) in
                        the VNFD.
                      type: string
                    name:
                      description: |
                        Name of the software image.
                      type: string
                    provider:
                      description: |
                        Provider of the software image.
                      type: string
                    version:
                      description: |
                        A Version. Representation: string of variable length.
                      type: string
                    checksum:
                      description: >
                        This type represents the checksum of a VNF package or an
                        artifact file.
                      required:
                        - algorithm
                        - hash
                      type: object
                      properties:
                        algorithm:
                          description: >
                            Name of the algorithm used to generate the checksum,
                            as defined in ETSI GS NFV-SOL 004 [5]. For example,
                            SHA-256, SHA-512.
                          type: string
                        hash:
                          description: |
                            The hexadecimal value of the checksum.
                          type: string
                    isEncrypted:
                      description: >
                        Reflects whether the image is encrypted (true) or not
                        (false).
                      type: boolean
                    containerFormat:
                      description: >
                        Container format indicates whether the software image is
                        in a file format that also contains meta-data about the
                        actual software. Permitted values: - AKI: a kernel image
                        format - AMI: a machine image format - ARI: a ram disk
                        image format - BARE: the image does not have a container
                        or meta-data envelope - DOCKER: docker container format
                        - OVA: OVF package in a tar file - OVF: OVF container
                        format
                      type: string
                      enum:
                        - AKI
                        - AMI
                        - ARI
                        - BARE
                        - DOCKER
                        - OVA
                        - OVF
                    diskFormat:
                      description: >
                        Disk format of a software image is the format of the
                        underlying disk image. Permitted values: - AKI: a kernel
                        image format - AMI: a machine image format - ARI: a
                        ramdisk image format - ISO: an archive format for the
                        data contents of an optical disc, such as CD-ROM -
                        QCOW2: a common disk image format, which can expand
                        dynamically and supports copy on write - RAW: an
                        unstructured disk image format - VDI: a common disk
                        image format - VHD: a common disk image format - VHDX:
                        enhanced version of VHD format - VMDK: a common disk
                        image format
                      type: string
                      enum:
                        - AKI
                        - AMI
                        - ARI
                        - ISO
                        - QCOW2
                        - RAW
                        - VDI
                        - VHD
                        - VHDX
                        - VMDK
                    createdAt:
                      description: >
                        Date-time stamp. Representation: String formatted
                        according toas defined by the date-time production in
                        IETF RFC 3339.
                      format: date-time
                    minDisk:
                      description: |
                        The minimal disk for this software image in bytes.
                      type: integer
                      minimum: 0
                    minRam:
                      description: |
                        The minimal RAM for this software image in bytes.
                      type: integer
                      minimum: 0
                    size:
                      description: |
                        Size of this software image in bytes.
                      type: integer
                      minimum: 0
                    userMetadata:
                      description: >
                        This type represents a list of key-value pairs. The
                        order of the pairs in the list is not significant. In
                        JSON, a set of key- value pairs is represented as an
                        object. It shall comply with the provisions defined in
                        clause 4 of IETF RFC 7159.
                      type: object
                    imagePath:
                      description: "Path, which identifies the image artifact and also allows to access a copy of the image artifact. For a software image contained as a file in the VNF package, this attribute shall be present, and the value of this attribute shall start with the name of the first segment in the path in the package, i.e., it shall not be prefixed by path separator characters such as \".\" and \"/\".\nEXAMPLE:\tfoo/bar/m%40ster.vhd\nFor an external software image represented as a URI in the VNF descriptor, this attribute shall be present if the image artifact has been downloaded by the NFVO and shall be absent otherwise. If present, it shall contain the artifactPath under which the image artifact can be obtained using the \"Individual artifact in a VNF package\" resource defined in clause 9.4.7. It is the responsibility of the NFVO to synthesize this path in a manner that avoids any collision of the synthesized artifact path with the paths and names of image artifacts included in the package.\n"
                      type: string
                    imageUri:
                      description: |
                        String formatted according to IETF RFC 3986.
                      type: string
                      format: uri
              additionalArtifacts:
                description: >
                  Information about VNF package artifacts contained in the VNF
                  package that are not software images. This attribute shall not
                  be present before the VNF package content is on-boarded.
                  Otherwise, this attribute shall be present if the VNF package
                  contains additional artifacts.
                type: array
                items:
                  description: >
                    This type represents an artifact other than a software image
                    which is contained in or external to a VNF package. It shall
                    comply with provisions defined in Table 9.5.3.3-1.
                  required:
                    - isEncrypted
                    - checksum
                  type: object
                  properties:
                    artifactPath:
                      description: |
                        A string as defined in IETF RFC 8259.
                      type: string
                    artifactURI:
                      description: |
                        String formatted according to IETF RFC 3986.
                      type: string
                      format: uri
                    checksum:
                      description: >
                        This type represents the checksum of a VNF package or an
                        artifact file.
                      required:
                        - algorithm
                        - hash
                      type: object
                      properties:
                        algorithm:
                          description: >
                            Name of the algorithm used to generate the checksum,
                            as defined in ETSI GS NFV-SOL 004 [5]. For example,
                            SHA-256, SHA-512.
                          type: string
                        hash:
                          description: |
                            The hexadecimal value of the checksum.
                          type: string
                    artifactClassification:
                      description: >
                        Marks specific types of artifacts as defined in the VNF
                        package. If none of the specific classes listed below
                        applies, the attribute shall not be present. Valid
                        values: - HISTORY: a history artifact as per clause
                        4.3.3 in ETSI GS NFV-SOL 004 [5] - TESTING: a testing
                        artifact as per clause 4.3.4 in ETSI GS NFV-SOL 004 [5]
                        - LICENSE: a license artifact as per clause 4.3.5 in
                        ETSI GS NFV-SOL 004 [5]
                      type: string
                      enum:
                        - HISTORY
                        - TESTING
                        - LICENSE
                    isEncrypted:
                      description: >
                        Reflects whether the artifact is encrypted (true) or not
                        (false).
                      type: boolean
                    nonManoArtifactSetId:
                      description: >
                        Non-MANO artifact set identifier of the non-MANO
                        artifact set to which the artifact belongs, as defined
                        in clause 4.3.7 of ETSI GS NFV-SOL 004 [5]. Shall be
                        provided if the artifact is a non-MANO artifact, and
                        shall be omitted otherwise.
                      type: string
                    metadata:
                      description: >
                        This type represents a list of key-value pairs. The
                        order of the pairs in the list is not significant. In
                        JSON, a set of key- value pairs is represented as an
                        object. It shall comply with the provisions defined in
                        clause 4 of IETF RFC 7159.
                      type: object
              onboardingState:
                description: >
                  The enumeration PackageOnboardingStateType shall comply with
                  the provisions defined in Table 9.5.4.3-1. Permitted values: -
                  CREATED: The VNF package resource has been created. -
                  UPLOADING: The associated VNF package content is being
                  uploaded. - PROCESSING: The associated VNF package content is
                  being processed, e.g. validation. - ONBOARDED: The associated
                  VNF package content is successfully on-boarded. - ERROR: There
                  was an error during upload of the VNF package content or
                  external artifacts, or during VNF package processing.
                type: string
                enum:
                  - CREATED
                  - UPLOADING
                  - PROCESSING
                  - ONBOARDED
                  - ERROR
              operationalState:
                type: string
                description: >
                  "The enumeration PackageOperationalStateType shall  comply
                  with the provisions defined in Table 9.5.4.4-1." Acceptable
                  values are: - ENABLED - The VNF package is enabled, i.e. it
                  can be used for instantiation of new VNF instances. - DISABLED
                  - The VNF package is disabled, i.e. it cannot be used for
                  further VNF instantiation requests
                              (unless and until the VNF package is re-enabled).
                enum:
                  - ENABLED
                  - DISABLED
              usageState:
                type: string
                description: >
                  "The enumeration PackageUsageStateType shall comply with the
                  provisions. Acceptable values are: - IN_USE: "Individual VNF
                  instance" resources created from this VNF package exist. -
                  NOT_IN_USE: No "individual VNF instance" resource created from
                  this VNF package exists.
                enum:
                  - IN_USE
                  - NOT_IN_USE
              vnfmInfo:
                description: >
                  Specifies VNFMs compatible with the VNF. This information is
                  copied from the VNFD. See note 4.
                type: array
                items:
                  type: string
              userDefinedData:
                description: >
                  This type represents a list of key-value pairs. The order of
                  the pairs in the list is not significant. In JSON, a set of
                  key- value pairs is represented as an object. It shall comply
                  with the provisions defined in clause 4 of IETF RFC 7159.
                type: object
              onboardingFailureDetails:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced in this structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
              _links:
                type: object
                description: |
                  Links to resources related to this resource.
                required:
                  - self
                  - packageContent
                  - vnfd
                properties:
                  self:
                    description: |
                      This type represents a link to a resource.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: >
                          URI of a resource referenced from a notification.
                          Should be an absolute URI (i.e. a URI that contains
                          {apiRoot}), however, may be a relative URI (i.e. a URI
                          where the {apiRoot} part is omitted) if the {apiRoot}
                          information is not available.
                        type: string
                        format: url
                  vnfd:
                    description: |
                      This type represents a link to a resource.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: >
                          URI of a resource referenced from a notification.
                          Should be an absolute URI (i.e. a URI that contains
                          {apiRoot}), however, may be a relative URI (i.e. a URI
                          where the {apiRoot} part is omitted) if the {apiRoot}
                          information is not available.
                        type: string
                        format: url
                  packageContent:
                    description: |
                      This type represents a link to a resource.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: >
                          URI of a resource referenced from a notification.
                          Should be an absolute URI (i.e. a URI that contains
                          {apiRoot}), however, may be a relative URI (i.e. a URI
                          where the {apiRoot} part is omitted) if the {apiRoot}
                          information is not available.
                        type: string
                        format: url
    IndividualVnfPackage.Delete:
      description: >
        204 No Content

        The VNF package has been deleted successfully. The response body shall
        be empty.
      headers:
        Version:
          description: |
            Version of the API used in the response.
          style: simple
          explode: false
          schema:
            type: string
      content: {}
    IndividualVnfPackage.Patch:
      description: >
        200 OK

        Shall be returned when the operation has been completed successfully.
        The response body shall contain

        attribute modifications for an "Individual VNF package" resource.
      headers:
        Version:
          description: |
            Version of the API used in the response.
          style: simple
          explode: false
          schema:
            type: string
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the

            corresponding HTTP request has provided an invalid authorization
            token.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: The MIME type of the body of the response.
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            description: >
              This type represents modifications to the information of a VNF
              package.  It shall comply with the provisions defined in Table
              9.5.2.3-1.
            anyOf:
              - required:
                  - operationalState
              - required:
                  - userDefinedData
            properties:
              operationalState:
                type: string
                description: >
                  "The enumeration PackageOperationalStateType shall  comply
                  with the provisions defined in Table 9.5.4.4-1." Acceptable
                  values are: - ENABLED - The VNF package is enabled, i.e. it
                  can be used for instantiation of new VNF instances. - DISABLED
                  - The VNF package is disabled, i.e. it cannot be used for
                  further VNF instantiation requests
                              (unless and until the VNF package is re-enabled).
                enum:
                  - ENABLED
                  - DISABLED
              userDefinedData:
                description: >
                  This type represents a list of key-value pairs. The order of
                  the pairs in the list is not significant. In JSON, a set of
                  key- value pairs is represented as an object. It shall comply
                  with the provisions defined in clause 4 of IETF RFC 7159.
                type: object
    IndividualVnfPackageVnfd.Get:
      description: >
        200 OK

        Shall be returned when the content of the VNFD has been read
        successfully. The payload body shall contain a

        copy of the file representing the VNFD or a ZIP file that contains the
        file or multiple files representing

        the VNFD, as specified above. The "Content-Type" HTTP header shall be
        set according to the format of the

        returned file, i.e. to "text/plain" for a YAML file or to
        "application/zip" for a ZIP file.
      headers:
        Version:
          description: |
            Version of the API used in the response.
          style: simple
          explode: false
          schema:
            type: string
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the

            corresponding HTTP request has provided an invalid authorization
            token.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: The MIME type of the body of the response.
          style: simple
          explode: false
          schema:
            type: string
      content: {}
    IndividualVnfPackageExtArtifacts.Get:
      description: >
        200 OK

        Shall be returned when the access configuration information has been
        read successfully.

        If no information has been provided previously, an empty array shall be
        returned.
      headers:
        Version:
          description: |
            Version of the API used in the response.
          style: simple
          explode: false
          schema:
            type: string
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the

            corresponding HTTP request has provided an invalid authorization
            token.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: The MIME type of the body of the response.
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            description: >
              This type represents the access configuration information for
              downloading external VNF package artifacts. The NFVO can obtain
              the external VNF package artifact file through the information
              provided in this structure, together with information provided in
              the manifest / VNFD. The data structure shall comply with the
              provisions defined in Table 9.5.2.10-1. If the data structure is
              part of a response body, security-sensitive attributes shall be
              excluded as specified in Table 9.5.2.10-1.
            type: object
            properties:
              artifact:
                description: |
                  Access configuration information for an external artifact.
                type: object
                required:
                  - artifactUri
                properties:
                  artifactUri:
                    description: |
                      String formatted according to IETF RFC 3986.
                    type: string
                    format: uri
                  overrideUri:
                    description: |
                      String formatted according to IETF RFC 3986.
                    type: string
                    format: uri
                  authType:
                    description: >
                      Defines the type of authentication / authorization for
                      downloading the VNF package. Permitted values: - BASIC:
                      Only the "username" and "password" attributes shall be
                      present. - OAUTH2_CLIENT_CREDENTIAL S: Only the
                      "paramsOauth2ClientCredentials" attribute shall be
                      present. This attribute shall not be present if no
                      credentials are provided for the artifact.
                    type: string
                    enum:
                      - BASIC
                      - OAUTH2_CLIENT_CREDENTIALS
                  username:
                    description: |
                      User name to be used for authentication.
                    type: string
                  password:
                    description: >
                      Password to be used for authentication. Shall not be
                      present in response bodies.
                    type: string
                  paramsOauth2ClientCredentials:
                    description: >
                      Parameters for authentication/authorization using
                      OAUTH2_CLIENT_CREDENTIALS.
                    type: object
                    required:
                      - clientId
                      - clientPassword
                      - tokenEndpoint
                    properties:
                      clientId:
                        description: >
                          Client identifier to be used in the access token
                          request of the OAuth 2.0 client credentials grant
                          type.
                        type: string
                      clientPassword:
                        description: >
                          Client password to be used in the access token request
                          of the OAuth 2.0 client credentials grant type. Shall
                          not be present in response bodies.
                        type: string
                      tokenEndpoint:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                        format: uri
    IndividualVnfPackageExtArtifacts.Put.200:
      description: >
        200 OK

        Shall be returned when the attribute "onboardingState" = "CREATED" or
        when the attribute "onboardingState" = "ERROR"

        and the VNF package has not been uploaded successfully previously, to
        indicate that the access configuration information

        has been stored successfully by the NFVO. The response body shall
        contain a representation of the state of the resource.
      headers:
        Version:
          description: |
            Version of the API used in the response.
          style: simple
          explode: false
          schema:
            type: string
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the

            corresponding HTTP request has provided an invalid authorization
            token.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: The MIME type of the body of the response.
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            description: >
              This type represents the access configuration information for
              downloading external VNF package artifacts. The NFVO can obtain
              the external VNF package artifact file through the information
              provided in this structure, together with information provided in
              the manifest / VNFD. The data structure shall comply with the
              provisions defined in Table 9.5.2.10-1. If the data structure is
              part of a response body, security-sensitive attributes shall be
              excluded as specified in Table 9.5.2.10-1.
            type: object
            properties:
              artifact:
                description: |
                  Access configuration information for an external artifact.
                type: object
                required:
                  - artifactUri
                properties:
                  artifactUri:
                    description: |
                      String formatted according to IETF RFC 3986.
                    type: string
                    format: uri
                  overrideUri:
                    description: |
                      String formatted according to IETF RFC 3986.
                    type: string
                    format: uri
                  authType:
                    description: >
                      Defines the type of authentication / authorization for
                      downloading the VNF package. Permitted values: - BASIC:
                      Only the "username" and "password" attributes shall be
                      present. - OAUTH2_CLIENT_CREDENTIAL S: Only the
                      "paramsOauth2ClientCredentials" attribute shall be
                      present. This attribute shall not be present if no
                      credentials are provided for the artifact.
                    type: string
                    enum:
                      - BASIC
                      - OAUTH2_CLIENT_CREDENTIALS
                  username:
                    description: |
                      User name to be used for authentication.
                    type: string
                  password:
                    description: >
                      Password to be used for authentication. Shall not be
                      present in response bodies.
                    type: string
                  paramsOauth2ClientCredentials:
                    description: >
                      Parameters for authentication/authorization using
                      OAUTH2_CLIENT_CREDENTIALS.
                    type: object
                    required:
                      - clientId
                      - clientPassword
                      - tokenEndpoint
                    properties:
                      clientId:
                        description: >
                          Client identifier to be used in the access token
                          request of the OAuth 2.0 client credentials grant
                          type.
                        type: string
                      clientPassword:
                        description: >
                          Client password to be used in the access token request
                          of the OAuth 2.0 client credentials grant type. Shall
                          not be present in response bodies.
                        type: string
                      tokenEndpoint:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                        format: uri
    IndividualVnfPackageExtArtifacts.Put.202:
      description: |
        202 ACCEPTED
      headers:
        Version:
          description: |
            Version of the API used in the response.
          style: simple
          explode: false
          schema:
            type: string
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the

            corresponding HTTP request has provided an invalid authorization
            token.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: The MIME type of the body of the response.
          style: simple
          explode: false
          schema:
            type: string
        Location:
          description: The resource URI of the created NS instance
          style: simple
          explode: false
          schema:
            type: string
            format: url
      content: {}
    IndividualVnfPackageManifest.Get:
      description: >
        200 OK

        Shall be returned when the content of the manifest has been read
        successfully. If the "include_signatures" URI

        query parameter was absent in the request, or if the manifest file has
        all security-related information embedded

        (i.e. there is no separate certificate file), the payload body shall
        contain a copy of the manifest file of the

        VNF package, and the "Content-Type" HTTP header shall be set to
        "text/plain". If the "include_signatures" URI

        query parameter was present in the related request and the manifest file
        does not have all the security-related

        information embedded (i.e. there is a separate certificate file), the
        "Content-Type" HTTP header shall be set to

        "application/zip and the payload body shall contain a ZIP archive which
        includes: - a copy of the manifest file

        of the VNF package - a copy of the related individual certificate file.
      headers:
        Version:
          description: |
            Version of the API used in the response.
          style: simple
          explode: false
          schema:
            type: string
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the

            corresponding HTTP request has provided an invalid authorization
            token.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: The MIME type of the body of the response.
          style: simple
          explode: false
          schema:
            type: string
      content: {}
    IndividualVnfPackageContent.Get:
      description: >
        200 OK

        Shall be returned when the whole content of the VNF package file has
        been read successfully. The response body

        shall include a copy of the VNF package file. The "Content-Type" HTTP
        header shall be set according to the type

        of the file, i.e. to "application/zip" for a VNF Package as defined in
        ETSI GS NFV-SOL 004.
      headers:
        Version:
          description: |
            Version of the API used in the response.
          style: simple
          explode: false
          schema:
            type: string
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the

            corresponding HTTP request has provided an invalid authorization
            token.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: The MIME type of the body of the response.
          style: simple
          explode: false
          schema:
            type: string
      content: {}
    IndividualVnfPackageContent.Put:
      description: >
        202 ACCEPTED

        Shall be returned when the VNF package has been accepted for uploading,
        but the processing has not been completed.

        It is expected to take some time for processing. The response body shall
        be empty. See note.
      headers:
        Version:
          description: |
            Version of the API used in the response.
          style: simple
          explode: false
          schema:
            type: string
      content: {}
    IndividualVnfPackageArtifacts.Get:
      description: >
        200 OK

        Shall be returned when the whole content of the archive containing the
        artifact files has been read successfully.

        The payload body shall be a ZIP archive containing the requested set of
        artifacts selected according to the provisions

        specified above in this clause, and, if the flag "include_signatures"
        was provided in the related request, the

        applicable signature files and, if available, the separate certificate
        files from the VNF package.

        The "Content-Type" HTTP header shall be set to "application/zip".
      headers:
        Version:
          description: |
            Version of the API used in the response.
          style: simple
          explode: false
          schema:
            type: string
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the

            corresponding HTTP request has provided an invalid authorization
            token.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: The MIME type of the body of the response.
          style: simple
          explode: false
          schema:
            type: string
      content: {}
    IndividualVnfPackageUploadFromUri.Post:
      description: >
        202 Accepted

        The information about the VNF package has been received successfully,
        but the on-boarding has not been completed.

        It is expected to take some time for processing. The response body shall
        be empty.
      headers:
        Version:
          description: |
            Version of the API used in the response.
          style: simple
          explode: false
          schema:
            type: string
      content: {}
    IndividualVnfPackageArtifact.Get:
      description: >
        200 OK Shall be returned when the whole content of the artifact file has
        been read successfully. If the

        "include_signatures" request URI parameter was not provided in the
        related request, the payload body shall

        contain a copy of the artifact file from the VNF package, as defined by
        ETSI GS NFV-SOL 004 [5], and the

        "Content-Type" HTTP header shall be set according to the content type of
        the artifact file. If the artifact

        is encrypted, the header shall be set to the value "application/cms"
        (IETF RFC 7193 [17]). If the content

        type cannot be determined, the header shall be set to the value
        "application/octet-stream".

        If the "include_signatures" request URI parameter was provided in the
        related request, the "ContentType"

        HTTP header shall be set to "application/zip" and the payload body shall
        contain a ZIP archive which includes:

        - a copy of the artifact file from the VNF package, as defined by ETSI
        GS NFV-SOL 004 [5];

        - the related security information (individual signature file and
        optional related individual certificate file).
      headers:
        Version:
          description: |
            Version of the API used in the response.
          style: simple
          explode: false
          schema:
            type: string
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the

            corresponding HTTP request has provided an invalid authorization
            token.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: The MIME type of the body of the response.
          style: simple
          explode: false
          schema:
            type: string
      content: {}
    VnfPkgSubscriptions.Get:
      description: >
        200 OK

        Shall be returned when the list of subscriptions has been queried
        successfully. The response body shall contain

        in an array the representations of all active subscriptions of the
        functional block that invokes the method,

        i.e. zero or more representations of VNF package management
        subscriptions, as defined in clause 9.5.2.7.

        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 NFVO 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:
        Version:
          description: |
            Version of the API used in the response.
          style: simple
          explode: false
          schema:
            type: string
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the

            corresponding HTTP request has provided an invalid authorization
            token.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: The MIME type of the body of the response.
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            type: array
            items:
              description: >
                This type represents a subscription related to notifications
                about VNF package management.
              type: object
              required:
                - id
                - callbackUri
                - _links
              properties:
                id:
                  description: |
                    String formatted according to IETF RFC 3986.
                  type: string
                  format: uri
                filter:
                  description: >
                    This type represents a subscription filter related to
                    notifications related to VNF package management. At a
                    particular nesting level in the filter structure, the
                    following applies: All attributes shall match in order for
                    the filter to match (logical "and" between different filter
                    attributes). If an attribute is an array, the attribute
                    shall match if at least one of the values in the array
                    matches (logical "or" between the values of one filter
                    attribute).
                  type: object
                  properties:
                    notificationTypes:
                      description: >
                        Match particular notification types. Permitted values: -
                        VnfPackageOnboardingNotification -
                        VnfPackageChangeNotification
                      type: string
                      enum:
                        - VnfPackageOnboardingNotification
                        - VnfPackageChangeNotification
                    vnfProductsFromProviders:
                      description: >
                        If present, match VNF packages that contain VNF products
                        from certain providers.
                      type: array
                      items:
                        type: object
                        required:
                          - vnfProvider
                        oneOf:
                          - required:
                              - vnfProductsFromProviders
                          - required:
                              - vnfdId
                          - required:
                              - vnfPkgId
                        properties:
                          vnfProvider:
                            description: |
                              Name of the VNFprovider to match.
                            type: string
                          vnfProductsFromProviders:
                            description: >
                              If present, match VNF packages that contain VNF
                              products with certain product names, from one
                              particular provider.
                            type: array
                            items:
                              type: object
                              required:
                                - vnfProductName
                              properties:
                                vnfProductName:
                                  description: |
                                    Name of the VNF product to match.
                                  type: string
                                versions:
                                  description: >
                                    If present, match VNF packages that contain
                                    VNF products with certain versions and a
                                    certain product name, from one particular
                                    provider.
                                  type: array
                                  items:
                                    type: object
                                    required:
                                      - vnfSoftwareVersion
                                    properties:
                                      vnfSoftwareVersion:
                                        description: >
                                          A Version. Representation: string of
                                          variable length.
                                        type: string
                                      vnfdVersions:
                                        description: >
                                          If present, match VNF packages that
                                          contain VNF products with certain VNFD
                                          versions, a certain software version and
                                          a certain product name, from one
                                          particular provider.
                                        type: array
                                        items:
                                          description: >
                                            A Version. Representation: string of
                                            variable length.
                                          type: string
                          vnfdId:
                            description: >
                              Match VNF packages with a VNFD identifier listed
                              in the attribute.
                            type: array
                            items:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                          vnfPkgId:
                            description: >
                              Match VNF packages with a package identifier
                              listed in the attribute. May be present if the
                              "notificationTypes" attribute contains the value
                              "VnfPackageChangeNotification", and shall be
                              absent otherwise.
                            type: array
                            items:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                          operationalState:
                            description: >
                              Match VNF packages with a package identifier
                              listed in the attribute. May be present if the
                              "notificationTypes" attribute contains the value
                              "VnfPackageChangeNotification", and shall be
                              absent otherwise.
                            type: array
                            items:
                              type: string
                              description: >
                                "The enumeration PackageOperationalStateType
                                shall  comply with the provisions defined in
                                Table 9.5.4.4-1." Acceptable values are: -
                                ENABLED - The VNF package is enabled, i.e. it
                                can be used for instantiation of new VNF
                                instances. - DISABLED - The VNF package is
                                disabled, i.e. it cannot be used for further VNF
                                instantiation requests
                                            (unless and until the VNF package is re-enabled).
                              enum:
                                - ENABLED
                                - DISABLED
                          usageState:
                            description: >
                              Match particular usage state of the on-boarded VNF
                              package. May be present if the "notificationTypes"
                              attribute contains the value
                              "VnfPackageChangeNotification", and shall be
                              absent otherwise.
                            type: array
                            items:
                              type: string
                              description: >
                                "The enumeration PackageUsageStateType shall
                                comply with the provisions. Acceptable values
                                are: - IN_USE: "Individual VNF instance"
                                resources created from this VNF package exist. -
                                NOT_IN_USE: No "individual VNF instance"
                                resource created from this VNF package exists.
                              enum:
                                - IN_USE
                                - NOT_IN_USE
                          vnfmInfo:
                            description: >
                              Match strings that specify VNFMs compatible with
                              the VNF. See Table 9.5.2.5-1.
                            type: array
                            items:
                              type: string
                callbackUri:
                  description: |
                    String formatted according to IETF RFC 3986.
                  type: string
                  format: uri
                _links:
                  description: |
                    Links to resources related to this resource.
                  type: object
                  required:
                    - self
                  properties:
                    self:
                      description: |
                        This type represents a link to a resource.
                      type: object
                      required:
                        - href
                      properties:
                        href:
                          description: >
                            URI of a resource referenced from a notification.
                            Should be an absolute URI (i.e. a URI that contains
                            {apiRoot}), however, may be a relative URI (i.e. a
                            URI where the {apiRoot} part is omitted) if the
                            {apiRoot} information is not available.
                          type: string
                          format: url
    VnfPkgSubscriptions.Post:
      description: >
        201 Created

        Shall be returned when the subscription has been created successfully.
        The response body shall contain a

        representation of the created "Individual subscription" resource. The
        HTTP response shall include a "Location"

        HTTP header that points to the created resource.
      headers:
        Version:
          description: |
            Version of the API used in the response.
          style: simple
          explode: false
          schema:
            type: string
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the

            corresponding HTTP request has provided an invalid authorization
            token.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: The MIME type of the body of the response.
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            description: >
              This type represents a subscription related to notifications about
              VNF package management.
            type: object
            required:
              - id
              - callbackUri
              - _links
            properties:
              id:
                description: |
                  String formatted according to IETF RFC 3986.
                type: string
                format: uri
              filter:
                description: >
                  This type represents a subscription filter related to
                  notifications related to VNF package management. At a
                  particular nesting level in the filter structure, the
                  following applies: All attributes shall match in order for the
                  filter to match (logical "and" between different filter
                  attributes). If an attribute is an array, the attribute shall
                  match if at least one of the values in the array matches
                  (logical "or" between the values of one filter attribute).
                type: object
                properties:
                  notificationTypes:
                    description: >
                      Match particular notification types. Permitted values: -
                      VnfPackageOnboardingNotification -
                      VnfPackageChangeNotification
                    type: string
                    enum:
                      - VnfPackageOnboardingNotification
                      - VnfPackageChangeNotification
                  vnfProductsFromProviders:
                    description: >
                      If present, match VNF packages that contain VNF products
                      from certain providers.
                    type: array
                    items:
                      type: object
                      required:
                        - vnfProvider
                      oneOf:
                        - required:
                            - vnfProductsFromProviders
                        - required:
                            - vnfdId
                        - required:
                            - vnfPkgId
                      properties:
                        vnfProvider:
                          description: |
                            Name of the VNFprovider to match.
                          type: string
                        vnfProductsFromProviders:
                          description: >
                            If present, match VNF packages that contain VNF
                            products with certain product names, from one
                            particular provider.
                          type: array
                          items:
                            type: object
                            required:
                              - vnfProductName
                            properties:
                              vnfProductName:
                                description: |
                                  Name of the VNF product to match.
                                type: string
                              versions:
                                description: >
                                  If present, match VNF packages that contain
                                  VNF products with certain versions and a
                                  certain product name, from one particular
                                  provider.
                                type: array
                                items:
                                  type: object
                                  required:
                                    - vnfSoftwareVersion
                                  properties:
                                    vnfSoftwareVersion:
                                      description: >
                                        A Version. Representation: string of
                                        variable length.
                                      type: string
                                    vnfdVersions:
                                      description: >
                                        If present, match VNF packages that
                                        contain VNF products with certain VNFD
                                        versions, a certain software version and
                                        a certain product name, from one
                                        particular provider.
                                      type: array
                                      items:
                                        description: >
                                          A Version. Representation: string of
                                          variable length.
                                        type: string
                        vnfdId:
                          description: >
                            Match VNF packages with a VNFD identifier listed in
                            the attribute.
                          type: array
                          items:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                        vnfPkgId:
                          description: >
                            Match VNF packages with a package identifier listed
                            in the attribute. May be present if the
                            "notificationTypes" attribute contains the value
                            "VnfPackageChangeNotification", and shall be absent
                            otherwise.
                          type: array
                          items:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                        operationalState:
                          description: >
                            Match VNF packages with a package identifier listed
                            in the attribute. May be present if the
                            "notificationTypes" attribute contains the value
                            "VnfPackageChangeNotification", and shall be absent
                            otherwise.
                          type: array
                          items:
                            type: string
                            description: >
                              "The enumeration PackageOperationalStateType
                              shall  comply with the provisions defined in Table
                              9.5.4.4-1." Acceptable values are: - ENABLED - The
                              VNF package is enabled, i.e. it can be used for
                              instantiation of new VNF instances. - DISABLED -
                              The VNF package is disabled, i.e. it cannot be
                              used for further VNF instantiation requests
                                          (unless and until the VNF package is re-enabled).
                            enum:
                              - ENABLED
                              - DISABLED
                        usageState:
                          description: >
                            Match particular usage state of the on-boarded VNF
                            package. May be present if the "notificationTypes"
                            attribute contains the value
                            "VnfPackageChangeNotification", and shall be absent
                            otherwise.
                          type: array
                          items:
                            type: string
                            description: >
                              "The enumeration PackageUsageStateType shall
                              comply with the provisions. Acceptable values are:
                              - IN_USE: "Individual VNF instance" resources
                              created from this VNF package exist. - NOT_IN_USE:
                              No "individual VNF instance" resource created from
                              this VNF package exists.
                            enum:
                              - IN_USE
                              - NOT_IN_USE
                        vnfmInfo:
                          description: >
                            Match strings that specify VNFMs compatible with the
                            VNF. See Table 9.5.2.5-1.
                          type: array
                          items:
                            type: string
              callbackUri:
                description: |
                  String formatted according to IETF RFC 3986.
                type: string
                format: uri
              _links:
                description: |
                  Links to resources related to this resource.
                type: object
                required:
                  - self
                properties:
                  self:
                    description: |
                      This type represents a link to a resource.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: >
                          URI of a resource referenced from a notification.
                          Should be an absolute URI (i.e. a URI that contains
                          {apiRoot}), however, may be a relative URI (i.e. a URI
                          where the {apiRoot} part is omitted) if the {apiRoot}
                          information is not available.
                        type: string
                        format: url
    VnfPkgSubscription.Get:
      description: >
        200 OK

        Shall be returned when information about an individual subscription has
        been read successfully.

        The response body shall contain a representation of the "Individual
        subscription" resource.
      headers:
        Version:
          description: |
            Version of the API used in the response.
          style: simple
          explode: false
          schema:
            type: string
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the

            corresponding HTTP request has provided an invalid authorization
            token.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: The MIME type of the body of the response.
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            description: >
              This type represents a subscription related to notifications about
              VNF package management.
            type: object
            required:
              - id
              - callbackUri
              - _links
            properties:
              id:
                description: |
                  String formatted according to IETF RFC 3986.
                type: string
                format: uri
              filter:
                description: >
                  This type represents a subscription filter related to
                  notifications related to VNF package management. At a
                  particular nesting level in the filter structure, the
                  following applies: All attributes shall match in order for the
                  filter to match (logical "and" between different filter
                  attributes). If an attribute is an array, the attribute shall
                  match if at least one of the values in the array matches
                  (logical "or" between the values of one filter attribute).
                type: object
                properties:
                  notificationTypes:
                    description: >
                      Match particular notification types. Permitted values: -
                      VnfPackageOnboardingNotification -
                      VnfPackageChangeNotification
                    type: string
                    enum:
                      - VnfPackageOnboardingNotification
                      - VnfPackageChangeNotification
                  vnfProductsFromProviders:
                    description: >
                      If present, match VNF packages that contain VNF products
                      from certain providers.
                    type: array
                    items:
                      type: object
                      required:
                        - vnfProvider
                      oneOf:
                        - required:
                            - vnfProductsFromProviders
                        - required:
                            - vnfdId
                        - required:
                            - vnfPkgId
                      properties:
                        vnfProvider:
                          description: |
                            Name of the VNFprovider to match.
                          type: string
                        vnfProductsFromProviders:
                          description: >
                            If present, match VNF packages that contain VNF
                            products with certain product names, from one
                            particular provider.
                          type: array
                          items:
                            type: object
                            required:
                              - vnfProductName
                            properties:
                              vnfProductName:
                                description: |
                                  Name of the VNF product to match.
                                type: string
                              versions:
                                description: >
                                  If present, match VNF packages that contain
                                  VNF products with certain versions and a
                                  certain product name, from one particular
                                  provider.
                                type: array
                                items:
                                  type: object
                                  required:
                                    - vnfSoftwareVersion
                                  properties:
                                    vnfSoftwareVersion:
                                      description: >
                                        A Version. Representation: string of
                                        variable length.
                                      type: string
                                    vnfdVersions:
                                      description: >
                                        If present, match VNF packages that
                                        contain VNF products with certain VNFD
                                        versions, a certain software version and
                                        a certain product name, from one
                                        particular provider.
                                      type: array
                                      items:
                                        description: >
                                          A Version. Representation: string of
                                          variable length.
                                        type: string
                        vnfdId:
                          description: >
                            Match VNF packages with a VNFD identifier listed in
                            the attribute.
                          type: array
                          items:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                        vnfPkgId:
                          description: >
                            Match VNF packages with a package identifier listed
                            in the attribute. May be present if the
                            "notificationTypes" attribute contains the value
                            "VnfPackageChangeNotification", and shall be absent
                            otherwise.
                          type: array
                          items:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                        operationalState:
                          description: >
                            Match VNF packages with a package identifier listed
                            in the attribute. May be present if the
                            "notificationTypes" attribute contains the value
                            "VnfPackageChangeNotification", and shall be absent
                            otherwise.
                          type: array
                          items:
                            type: string
                            description: >
                              "The enumeration PackageOperationalStateType
                              shall  comply with the provisions defined in Table
                              9.5.4.4-1." Acceptable values are: - ENABLED - The
                              VNF package is enabled, i.e. it can be used for
                              instantiation of new VNF instances. - DISABLED -
                              The VNF package is disabled, i.e. it cannot be
                              used for further VNF instantiation requests
                                          (unless and until the VNF package is re-enabled).
                            enum:
                              - ENABLED
                              - DISABLED
                        usageState:
                          description: >
                            Match particular usage state of the on-boarded VNF
                            package. May be present if the "notificationTypes"
                            attribute contains the value
                            "VnfPackageChangeNotification", and shall be absent
                            otherwise.
                          type: array
                          items:
                            type: string
                            description: >
                              "The enumeration PackageUsageStateType shall
                              comply with the provisions. Acceptable values are:
                              - IN_USE: "Individual VNF instance" resources
                              created from this VNF package exist. - NOT_IN_USE:
                              No "individual VNF instance" resource created from
                              this VNF package exists.
                            enum:
                              - IN_USE
                              - NOT_IN_USE
                        vnfmInfo:
                          description: >
                            Match strings that specify VNFMs compatible with the
                            VNF. See Table 9.5.2.5-1.
                          type: array
                          items:
                            type: string
              callbackUri:
                description: |
                  String formatted according to IETF RFC 3986.
                type: string
                format: uri
              _links:
                description: |
                  Links to resources related to this resource.
                type: object
                required:
                  - self
                properties:
                  self:
                    description: |
                      This type represents a link to a resource.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: >
                          URI of a resource referenced from a notification.
                          Should be an absolute URI (i.e. a URI that contains
                          {apiRoot}), however, may be a relative URI (i.e. a URI
                          where the {apiRoot} part is omitted) if the {apiRoot}
                          information is not available.
                        type: string
                        format: url
    VnfPkgSubscription.Delete:
      description: >
        No Content

        Shall be returned when information about an individual subscription has
        been read successfully. The response

        body shall contain a representation of the "Individual subscription"
        resource.
      headers:
        Version:
          description: |
            Version of the API used in the response.
          style: simple
          explode: false
          schema:
            type: string
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the

            corresponding HTTP request has provided an invalid authorization
            token.
          style: simple
          explode: false
          schema:
            type: string
      content: {}

